基于网络传输的数据加速方法、装置、系统及一种加速卡与流程

文档序号:17726280发布日期:2019-05-22 02:32阅读:231来源:国知局
基于网络传输的数据加速方法、装置、系统及一种加速卡与流程

本申请涉及计算机技术领域,更具体地说,涉及一种基于网络传输的数据加速方法、装置、系统及一种fpga加速卡、一种主机端和一种计算机可读存储介质。



背景技术:

日前,英特尔宣布正式停用“tick-tock”处理器研发模式,未来研发周期将从两年向三年转变。摩尔定律对英特尔几近失效,导致处理器性能再无法按照摩尔定律进行增长,然而数据增长对计算性能要求超过了按“摩尔定律”增长的速度,cpu本身无法满足高性能计算应用软件的性能要求,在新的芯片材料等基础技术没有取得突破前,一种有效的解决方法就是采用专用协处理器的异构计算方式来提升计算性能。现有的协处理器主要有fpga,cpu和asic,fpga由于独特的架构拥有其他处理器无法比拟的优势。

目前传统的fpga加速卡结构如图1所示,首先主机端通过pcie或者jtag接口加载pr区域的bit文件,当主机端有数据交给fpga处理时,需要首先将数据存入主机端内存中,然后通知fpga通过pcie将数据搬移到fpga加速卡上的ddr4中;搬移完毕后,fpga开始处理数据,将ddr4中的数据读出送入到pr区域;处理完毕后,数据重新存入fpga加速卡上的ddr4中,并通知主机端通过pcie将fpga加速卡上的ddr4中的数据搬移到主机端内存中,数据加速过程完毕。

由上可以看到,在数据加速的整个过程中,数据需要搬移4次之多,且目前主流的pciegen3x8带宽极限7.8gb/s,由于pcie-dma传输效率等问题,大大浪费了宝贵的数据处理时间。

因此,如何解决上述问题是本领域技术人员需要重点关注的。



技术实现要素:

本申请的目的在于提供一种基于网络传输的数据加速方法、装置、系统及一种fpga加速卡、一种主机端和一种计算机可读存储介质,有效缩短了数据处理时间。

为实现上述目的,本申请提供了一种基于网络传输的数据加速方法,应用于fpga加速卡,包括:

与主机端建立网络连接并完成所述fpga加速卡内部的配置后,获取所述主机端通过网络光口发送的待加速数据,并将所述待加速数据保存至hbm2颗粒中;

在所述待加速数据接收完成后,将所述hbm2颗粒中的所述待加速数据读取至pr区域,并将所述pr区域对所述待加速数据进行加速后的加速后数据保存至所述hbm2颗粒中;

通过所述网络光口将所述加速后数据发送至所述主机端,完成数据的加速。

可选的,所述与主机端建立网络连接,包括:

与所述主机端通过光纤直连;

或,与所述主机端通过光交换机互联。

可选的,所述完成所述fpga加速卡内部的配置,包括:

通过所述网络光口接收所述主机端发送的bit文件;

将所述bit文件加载至所述pr区域,利用所述bit文件对所述fpga加速卡内部进行配置。

可选的,所述获取所述主机端通过网络光口发送的待加速数据,包括:

基于tcp协议/udp协议获取所述主机端通过所述网络光口发送的所述待加速数据。

为实现上述目的,本申请提供了一种基于网络传输的数据加速方法,应用于主机端,包括:

与fpga加速卡建立网络连接并在所述fpga加速卡完成内部配置后,通过网络光口向所述fpga加速卡发送待加速数据,以使所述fpga加速卡将所述待加速数据保存至hbm2颗粒中,并在所述待加速数据接收完成后,将所述待加速数据读取至pr区域,将所述pr区域对所述待加速数据进行加速后的加速后数据保存至hbm2颗粒中;

通过所述网络光口获取所述fpga加速卡发送的加速后数据。

为实现上述目的,本申请提供了一种基于网络传输的数据加速装置,应用于fpga加速卡,包括:

数据保存模块,用于与主机端建立网络连接并完成所述fpga加速卡内部的配置后,获取所述主机端通过网络光口发送的待加速数据,并将所述待加速数据保存至hbm2颗粒中;

数据加速模块,用于在所述待加速数据接收完成后,将所述hbm2颗粒中的所述待加速数据读取至pr区域,并将所述pr区域对所述待加速数据进行加速后的加速后数据保存至所述hbm2颗粒中;

数据发送模块,用于通过所述网络光口将所述加速后数据发送至所述主机端,完成数据的加速。

为实现上述目的,本申请提供了一种fpga加速卡,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现前述公开的任一种应用于fpga加速卡的基于网络传输的数据加速方法的步骤。

为实现上述目的,本申请提供了一种主机端,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现前述公开的任一种应用于主机端的基于网络传输的数据加速方法的步骤。

为实现上述目的,本申请提供了一种基于网络传输的数据加速系统,包括:

如前述公开的fpga加速卡,以及如前述公开的主机端。

为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述公开的任一种所述基于网络传输的数据加速方法的步骤。

通过以上方案可知,本申请提供的一种基于网络传输的数据加速方法,应用于fpga加速卡,包括:与主机端建立网络连接并完成所述fpga加速卡内部的配置后,获取所述主机端通过网络光口发送的待加速数据,并将所述待加速数据保存至hbm2颗粒中;在所述待加速数据接收完成后,将所述hbm2颗粒中的所述待加速数据读取至pr区域,并将所述pr区域对所述待加速数据进行加速后的加速后数据保存至所述hbm2颗粒中;通过所述网络光口将所述加速后数据发送至所述主机端,完成数据的加速。本申请基于网络光口进行数据的传输,使得主机端与fpga加速卡之间的数据传输速度有效提高,缩短了数据处理的总时间,并且将数据保存至存储量大、存取速度快的hbm2颗粒中,进一步提升了数据传输效率。本申请还公开了一种基于网络传输的数据加速装置、系统及一种计算机可读存储介质和一种fpga加速卡、主机端,同样能实现上述技术效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中传统fpga加速卡的结构示意图;

图2为本申请实施例公开的一种基于网络传输的数据加速方法的流程图;

图3为本申请实施例公开的另一种基于网络传输的数据加速方法的流程图;

图4为本申请实施例公开的一种基于网络传输的数据加速装置的结构图;

图5为本申请实施例公开的一种主机端的结构图;

图6为本申请实施例公开的另一种主机端的结构图;

图7为本申请实施例公开的一种基于网络传输的数据加速系统的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在现有技术中,数据加速的整个过程中,数据需要搬移4次之多,且目前主流的pciegen3x8带宽极限7.8gb/s,由于pcie-dma传输效率等问题,大大浪费了宝贵的数据处理时间。

因此,本申请实施例公开了一种基于网络传输的数据加速方法,应用于fpga加速卡,提高了数据传输效率。

参见图2,本申请实施例公开的一种基于网络传输的数据加速方法的流程图,如图2所示,包括:

s101:与主机端建立网络连接并完成所述fpga加速卡内部的配置后,获取所述主机端通过网络光口发送的待加速数据,并将所述待加速数据保存至hbm2颗粒中;

本实施例中,fpga加速卡首先需要与主机端建立网络连接。进一步完成fpga加速卡的内部配置后,当主机端由需要处理的数据,将待加速数据通过网络光口发送至fpga加速卡,此时fpga加速卡将待加速数据保存至hbm2颗粒中。

具体地,fpga加速卡内部配置的过程可以为:通过网络光口接收所述主机端发送的bit文件;将所述bit文件加载至所述pr区域,利用所述bit文件对所述fpga加速卡内部进行配置。

可以理解的是,本步骤中基于网络光口加载fpga加速卡的bit文件以及待加速数据,数据传输效率显著提高。

s102:在所述待加速数据接收完成后,将所述hbm2颗粒中的所述待加速数据读取至pr区域,并将所述pr区域对所述待加速数据进行加速后的加速后数据保存至所述hbm2颗粒中;

进一步地,在数据传输完成后,fpga加速卡将hbm2颗粒中保存的数据读取至pr区域进行数据加速,在加速完毕后,pr区域将加速后数据反馈至hbm2颗粒中。

本实施例中,利用hbm2颗粒实现数据的存储,hbm2颗粒具备较快的数据处理速度以及较大的存储量,能够实现良好的存取性能。

s103:通过所述网络光口将所述加速后数据发送至所述主机端,完成数据的加速。

本步骤中,网络协议处理引擎将加速后数据通过网络光口发送至主机端,完成数据的加速。

通过以上方案可知,本申请提供的一种基于网络传输的数据加速方法,应用于fpga加速卡,包括:与主机端建立网络连接并完成所述fpga加速卡内部的配置后,获取所述主机端通过网络光口发送的待加速数据,并将所述待加速数据保存至hbm2颗粒中;在所述待加速数据接收完成后,将所述hbm2颗粒中的所述待加速数据读取至pr区域,并将所述pr区域对所述待加速数据进行加速后的加速后数据保存至所述hbm2颗粒中;通过所述网络光口将所述加速后数据发送至所述主机端,完成数据的加速。本申请基于网络光口进行数据的传输,使得主机端与fpga加速卡之间的数据传输速度有效提高,缩短了数据处理的总时间,并且将数据保存至存储量大、存取速度快的hbm2颗粒中,进一步提升了数据传输效率。

在上述实施例中,fpga加速卡与主机端建立网络连接的方式可以为:通过光纤实现fpga加速卡与主机端的直连;或通过光交换机实现fpga加速卡与主机端的互联。

可以理解的是,由于目前传统技术中采用pcie接口,通常配置为一机一卡,即一台服务器对应一个加速卡,部署及使用有较大局限性,因此本实施例中一种优选实施方式,可以采用通过光交换机互联的方式,一台服务器可以使用多张fpga加速卡,实现部署方便,扩展性良好,使用更为便利。

另外,获取主机端主机端通过网络光口发送的待加速数据时,可以基于tcp协议/udp协议获取待加速数据。

本申请提供了一种基于网络传输的数据加速方法,应用于主机端,参见图3所示,该方法包括:

s201:与fpga加速卡建立网络连接并在所述fpga加速卡完成内部配置后,通过网络光口向所述fpga加速卡发送待加速数据,以使所述fpga加速卡将所述待加速数据保存至hbm2颗粒中,并在所述待加速数据接收完成后,将所述待加速数据读取至pr区域,将所述pr区域对所述待加速数据进行加速后的加速后数据保存至hbm2颗粒中;

s202:通过所述网络光口获取所述fpga加速卡发送的加速后数据。

下面对本申请实施例提供的一种基于网络传输的数据加速装置进行介绍,下文描述的一种基于网络传输的数据加速装置与上文描述的一种基于网络传输的数据加速方法可以相互参照。

参见图4,本申请实施例提供的一种基于网络传输的数据加速装置的结构图,应用于fpga加速卡,如图4所示,包括:

数据保存模块100,用于与主机端建立网络连接并完成所述fpga加速卡内部的配置后,获取所述主机端通过网络光口发送的待加速数据,并将所述待加速数据保存至hbm2颗粒中;

数据加速模块200,用于在所述待加速数据接收完成后,将所述hbm2颗粒中的所述待加速数据读取至pr区域,并将所述pr区域对所述待加速数据进行加速后的加速后数据保存至所述hbm2颗粒中;

数据发送模块300,用于通过所述网络光口将所述加速后数据发送至所述主机端,完成数据的加速。

进一步地,本申请提供了一种fpga加速卡,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现前述公开的任一种应用于fpga加速卡的基于网络传输的数据加速方法的步骤。

本申请还提供了一种主机端,参见图5,本申请实施例提供的一种主机端的结构图,如图5所示,包括:

存储器11,用于存储计算机程序;

处理器12,用于执行所述计算机程序时可以实现前述公开的任一种应用于主机端的基于网络传输的数据加速方法的步骤。

具体的,存储器11包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力。

在上述实施例的基础上,作为优选实施方式,参见图6,所述电子设备还包括:

输入接口13,与处理器12相连,用于获取外部导入的计算机程序、参数和指令,经处理器12控制保存至存储器11中。该输入接口13可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。

显示单元14,与处理器12相连,用于显示处理器12处理的数据以及用于显示可视化的用户界面。该显示单元14可以为led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。

网络端口15,与处理器12相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(mhl)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术等。

图6仅示出了具有组件11-15的主机端,本领域技术人员可以理解的是,图6示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

进一步地,参见图7所示,本申请提供了一种基于网络传输的数据加速系统,包括:

如前述公开的fpga加速卡,以及如前述公开的主机端。

如图7所示,本实施例中主机端的接口采用100g光口与fpga加速卡相连,从而主机端通过网络光口传输bit文件以及加速数据。

在具体实施中,fpga芯片选用intelstrtix10mx,网络接口采用lowlatency100gethernetintelfpgaip,并添加了预设的网络协议处理模块,能够支持arp协议、icmp协议、igmp协议、tcp/udp等网络协议。

进一步地,主机端与fpga加速卡建立网络连接后,首先使用tcp/udp协议传输bit文件到fpga内部加载pr区域,随后将待加速数据通过tcp/udp协议传输到fpga加速卡内部的hbm2颗粒中,fpga加速卡中的hbm2颗粒可以提供最高达512gb/s的带宽。数据传输完成后,fpga加速卡可以直接将hbm2颗粒中的数据读出送入至pr区域进行数据加速,加速完毕后将数据反馈回hbm2颗粒中,随后网络协议处理引擎会将处理完毕后的数据通过网络光口发送给主机端,从而完成数据的加速。

本申请还提供了一种计算机可读存储介质,该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种基于网络传输的数据加速方法的步骤。

本申请基于网络光口进行数据的传输,使得主机端与fpga加速卡之间的数据传输速度有效提高,缩短了数据处理的总时间,并且将数据保存至存储量大、存取速度快的hbm2颗粒中,进一步提升了数据传输效率。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1