[发明专利]一种数据传输方法及装置有效
申请号: | 201511032093.7 | 申请日: | 2015-12-31 |
公开(公告)号: | CN105677491B | 公开(公告)日: | 2019-07-23 |
发明(设计)人: | 刘燕松;吴峰;陈鑫 | 申请(专利权)人: | 杭州华为数字技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 310053 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据传输 方法 装置 | ||
本发明实施例公开了一种数据传输方法及装置,其中,该方法包括:接收Java应用程序的内存申请请求;为所述Java应用程序分配第一内存,以使所述Java应用程序将需要计算的目标数据写入所述第一内存,所述第一内存为物理地址连续的内存空间;确定所述Java应用程序将所述目标数据写入所述第一内存后的第一数据信息,所述第一数据信息包括所述目标数据的内存地址以及所述目标数据的长度;向加速器发送所述第一数据信息;接收所述加速器返回的第二数据信息,并根据所述第二数据信息获取所述加速器对所述目标数据计算后得到的结果数据。采用本发明实施例,能够提升Java应用程序与加速器之间的数据传输效率,从而提升了数据的加速性能。
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法及装置。
背景技术
Java是一种可编写跨平台应用程序的面向对象的程序设计语言,其具有平台无关性、安全性、网络移动性等特性,极大地提升了编程效率,由此在不同领域获得了较为广泛的应用。与此同时,通过Java应用程序编写的具体算法,存在执行效率低的问题,并不能满足目前日益增长的数据计算需求,目前可采用硬件方式或软件方式来进行加速,即通过硬件或软件来计算Java应用程序需要计算的数据。其中,硬件方式包括通过加速器如现场可编程门阵列(Field-Programmable Gate Array,简称为“FPGA”)加速器来实现加速。
目前,在将Java应用程序中的待计算数据下发到加速器如FPGA加速器进行加速计算时,即在通过加速器实现硬件加速的过程中,存在较大的数据传输开销。如图1所示,是现有技术中的一种硬件加速方式的示意图,将Java应用程序中的待计算数据下发到FPGA加速器进行计算,需要经过①->②->③->④->⑤->⑥6个阶段,包括待计算数据对应的数据下发过程①->②->③和结果数据对应的数据返回过程④->⑤->⑥。其中,该数据下发过程需要进行三次拷贝,包括用户态下Java数据传输到用户程序库user library时一次数据拷贝、user library传输到内核态时一次拷贝、内核态传输到FPGA加速器时一次拷贝。结果数据返回过程与数据下发过程类似。这就使得Java应用程序与加速器之间的数据传输开销较大,由此降低了数据传输效率。而且,在加速器的计算速度足够快的情况下,该硬件加速过程中的多次数据拷贝则会导致加速性能降低。
发明内容
本发明实施例所要解决的技术问题在于,提供一种数据传输方法及装置,能够提升Java应用程序与加速器之间的数据传输效率,从而提升了数据的加速性能。
第一方面,本发明实施例提供了一种数据传输方法,包括:
Java应用程序向数据传输装置发送内存申请请求;数据传输装置接收Java应用程序的内存申请请求,为所述Java应用程序分配第一内存,以使Java应用程序将需要计算的目标数据写入所述第一内存;数据传输装置确定所述Java应用程序将所述目标数据写入所述第一内存后的第一数据信息,该第一数据信息包括所述目标数据的内存地址以及所述目标数据的长度;数据传输装置向加速器发送所述第一数据信息;加速器根据所述第一数据信息提取所述目标数据,并对所述目标数据进行计算,得到结果数据并存储该结果数据,向数据传输装置返回用于指示该结果数据的存储位置的第二数据信息;数据传输装置接收加速器返回的第二数据信息,并根据该第二数据信息获取该目标数据对应的结果数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华为数字技术有限公司,未经杭州华为数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511032093.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于硬件的超时管理平台
- 下一篇:一种数据处理方法及装置