一种数据传输方法、装置、设备及存储介质制造方法及图纸

技术编号:31160864 阅读:12 留言:0更新日期:2021-12-04 10:28
本发明专利技术公开了一种数据传输方法、装置、设备及存储介质;在本方案中,主机设备及FPGA加速设备在向对方发送数据时,不仅仅需要发送当前待发送的数据,还需要发送历史数据,通过该方式,可以使得主机设备和FPGA加速设备在传输数据时,就算出现超时和丢包现象,也可以从后续发送的命令组及命令反馈组中的历史命令及历史命令反馈中获取相关数据,避免重新获取,提高数据传输效率。提高数据传输效率。提高数据传输效率。

【技术实现步骤摘要】
一种数据传输方法、装置、设备及存储介质


[0001]本专利技术涉及数据传输
,更具体地说,涉及一种数据传输方法、装置、设备及存储介质。

技术介绍

[0002]OpenCL(Open Computing Language,开放运算语言)是一个为异构平台编写程序的框架,此异构平台可由CPU(central processing unit,中央处理器),GPU(graphics processing unit,图形处理器)或其他类型的处理器组成。OpenCL由一门用于编写kernels(在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API(Application Programming Interface,应用程序接口)组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。目前加速设备的分布式管理和云化管理已经成为趋势。FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)云是云计算的核心算力,同时也是一种新型的行业解决方案。首先,它是一种异构计算平台的体系结构,通过并行和流水等设计手段,提高计算性能、能效比和计算实时性,对应用进行硬件加速处理。在使用OpenCL的标准框架,调用FPGA的计算单元是目前比较流行的使用方案。
[0003]目前,主机设备和FPGA加速设备是通过网络进行数据通讯的,当网络状态畅通稳定的时候,这种工作模式是可以正常工作的,但是当网络发生拥塞或者传输不稳定的时候,就会出现严重的超时和丢包的现象。这样就会导致主机和FPGA加速设备进行数据传输和命令传输的效率降低。
[0004]因此,如何避免主机设备和FPGA加速设备在传输数据时,出现严重的超时和丢包现象,提高数据传输效率,是本领域技术人员需要解决的问题。

技术实现思路

[0005]本专利技术的目的在于提供一种数据传输方法、装置、设备及存储介质,以避免主机设备和FPGA加速设备在传输数据时,出现严重的超时和丢包现象,提高数据传输效率。
[0006]为实现上述目的,本专利技术提供的一种数据传输方法,包括:
[0007]主机设备确定待发送至FPGA加速设备的各个命令;
[0008]所述主机设备在发送当前命令时,根据所述当前命令及历史命令生成命令组,并将所述命令组发送至所述FPGA加速设备;
[0009]所述主机设备接收所述FPGA加速设备发送的与所述当前命令对应的命令反馈组,所述命令反馈组包括:当前命令反馈及历史命令反馈。
[0010]其中,主机设备确定待发送至FPGA加速设备的各个命令之前,还包括:
[0011]所述主机设备将待计算的原始数据发送至所述FPGA加速设备;
[0012]所述主机设备接收到所述FPGA加速设备发送的原始数据反馈后,执行所述主机设备确定待发送至FPGA加速设备的各个命令的步骤。
[0013]其中,所述根据所述当前命令及历史命令生成命令组,包括:
[0014]根据各个命令的发送顺序设置每个命令的编号;其中,命令的发送顺序越早,则命令的编号越小;
[0015]确定当前命令的第一编号,以及小于所述第一编号的第二编号;
[0016]将与所述第二编号对应的命令作为历史命令;
[0017]根据所述当前命令及所述历史命令生成命令组;所述命令组中的当前命令具有第一编号,历史命令具有第二编号。
[0018]其中,所述数据传输方法还包括:
[0019]所述FPGA加速设备接收到所述命令组后,从所述命令组中获取所述当前命令进行响应,生成当前命令反馈;
[0020]将与所述第二编号对应的命令反馈作为历史命令反馈;
[0021]根据所述当前命令反馈及所述历史命令反馈生成命令反馈组,并发送至所述主机设备。
[0022]其中,所述方法还包括:
[0023]若所述FPGA加速设备检测到目标命令丢包,则所述FPGA加速设备从所述命令组中查找对应的历史命令并进行响应。
[0024]其中,所述方法还包括:
[0025]若所述主机设备检测到目标命令反馈丢包,则所述主机设备从所述命令反馈组中查找对应的历史命令反馈。
[0026]为实现上述目的,本专利技术进一步提供一种数据传输装置,包括:
[0027]确定模块,用于通过主机设备确定待发送至FPGA加速设备的各个命令;
[0028]第一生成模块,用于在发送当前命令时,根据所述当前命令及历史命令生成命令组;
[0029]第一发送模块,用于将所述命令组发送至所述FPGA加速设备;
[0030]接收模块,用于接收所述FPGA加速设备发送的与所述当前命令对应的命令反馈组,所述命令反馈组包括:当前命令反馈及历史命令反馈。
[0031]其中,所述装置还包括:
[0032]第二发送模块,用于将待计算的原始数据发送至所述FPGA加速设备;
[0033]其中,所述确定模块具体用于:在接收到所述FPGA加速设备发送的原始数据反馈后,确定待发送至FPGA加速设备的各个命令。
[0034]为实现上述目的,本专利技术进一步提供一种电子设备,包括:
[0035]存储器,用于存储计算机程序;
[0036]处理器,用于执行所述计算机程序时实现上述数据传输方法的步骤。
[0037]为实现上述目的,本专利技术进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据传输方法的步骤。
[0038]通过以上方案可知,本专利技术实施例提供的一种数据传输方法,包括:主机设备确定待发送至FPGA加速设备的各个命令;主机设备在发送当前命令时,根据当前命令及历史命令生成命令组,并将命令组发送至FPGA加速设备;主机设备接收FPGA加速设备发送的与当前命令对应的命令反馈组,该命令反馈组包括:当前命令反馈及历史命令反馈。可见,本方
案中的主机设备及FPGA加速设备在向对方发送数据时,不仅仅需要发送当前待发送的数据,还需要发送历史数据,通过该方式,可以使得主机设备和FPGA加速设备在传输数据时,就算出现超时和丢包现象,也可以从后续发送的命令组及命令反馈组中的历史命令及历史命令反馈中获取相关数据,避免重新获取,提高数据传输效率;本专利技术还公开了一种数据传输装置、设备及存储介质,同样能实现上述技术效果。
附图说明
[0039]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为现有方案中的命令传输过程示意图;
[0041]图2为本专利技术实施例公开的一种数据传输方法流程示意图;
[0042]图3为本专利技术实施例公开的命令传输过程示意图;
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:主机设备确定待发送至FPGA加速设备的各个命令;所述主机设备在发送当前命令时,根据所述当前命令及历史命令生成命令组,并将所述命令组发送至所述FPGA加速设备;所述主机设备接收所述FPGA加速设备发送的与所述当前命令对应的命令反馈组,所述命令反馈组包括:当前命令反馈及历史命令反馈。2.根据权利要求1所述的数据传输方法,其特征在于,所述主机设备确定待发送至FPGA加速设备的各个命令之前,还包括:所述主机设备将待计算的原始数据发送至所述FPGA加速设备;所述主机设备接收到所述FPGA加速设备发送的原始数据反馈后,执行所述主机设备确定待发送至FPGA加速设备的各个命令的步骤。3.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述当前命令及历史命令生成命令组,包括:根据各个命令的发送顺序设置每个命令的编号;其中,命令的发送顺序越早,则命令的编号越小;确定当前命令的第一编号,以及小于所述第一编号的第二编号;将与所述第二编号对应的命令作为历史命令;根据所述当前命令及所述历史命令生成命令组;所述命令组中的当前命令具有第一编号,历史命令具有第二编号。4.根据权利要求3所述的数据传输方法,其特征在于,所述数据传输方法还包括:所述FPGA加速设备接收到所述命令组后,从所述命令组中获取所述当前命令进行响应,生成当前命令反馈;将与所述第二编号对应的命令反馈作为历史命令反馈;根据所述当前命令反馈及所述历史命令反馈生成命令反馈组,并发送至所述主机设备...

【专利技术属性】
技术研发人员:樊嘉恒王彦伟阚宏伟
申请(专利权)人:广东浪潮智慧计算技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1