异构计算方法、装置、设备及计算机可读存储介质与流程

文档序号:17721261发布日期:2019-05-22 02:10阅读:199来源:国知局
异构计算方法、装置、设备及计算机可读存储介质与流程

本发明实施例涉及服务器技术领域,特别是涉及一种异构计算方法、装置、设备及计算机可读存储介质。



背景技术:

随着云计算、大数据的快速发展,计算量也越来越大,相对的,实时性要求也越来越高,目前以软件形式在通用cpu(centralprocessingunit,中央处理器)实现某些计算已经无法满足计算要求。

相关技术中,通过pcie接口(peripheralcomponentinterconnectexpress,高速串行计算机扩展总线标准)实现外部异构加速计算,而服务器间需要关联的异构加速计算,通过以太网进行通信。

但是,以pcie接口实现的外部异构加速无法形成大的加速系统,此外,对于服务器间需要关联的异构加速计算,通过以太网进行通信,以太网通信需要服务器cpu的参与,使cpu用于计算资源能力无形中浪费于以太网的数据迁移中,加重了cpu负载。



技术实现要素:

本公开实施例提供了一种异构计算方法、装置、设备及计算机可读存储介质,解决了异构计算规模小且异构计算间通信占用cpu资源的问题,释放cpu资源,从而提升服务器异构计算性能。

为解决上述技术问题,本发明实施例提供以下技术方案:

本发明实施例一方面提供了一种异构计算方法,基于以太网,所述以太网包括多个数据处理功能模块,包括:

若接收的ip数据包为预设端口号的udp包,根据所述ip数据包的加速编码域数据匹配相应的数据处理功能模块进行异构加速计算,得到所述ip数据包的计算结果;

将所述计算结果通过所述以太网的mac层发送至请求端;

其中,各数据处理功能模块与加速编码域相唯一对应,用于对当前加速编码域中的数据进行数据加速处理。

可选的,所述ip数据包经过多级异构加速计算,所述根据所述ip数据包的加速编码域数据匹配相应的数据处理功能模块进行异构加速计算包括:

所述ip数据包在第一级异构加速计算中,根据所述ip数据包的加速编码域数据匹配相应的数据处理功能模块进行计算,并产生下一级加速编码域,以作为第二级异构加速计算的加速编码域;

根据所述下一级加速编码域中的数据生成新udp包;

读取所述第二级异构加速计算的ip地址,并根据所述新udp包生成新ip包;

将所述新ip包通过所述以太网的mac层发送至所述第二级异构加速计算。

可选的,所述若接收的ip数据包为预设端口号的udp包包括:

判断通过所述以太网mac接收的ip数据包的类型;

若所述ip数据包为tcp包,则将所述ip数据包发送至本地cpu处理;

若所述ip数据包为预设端口号的udp包,则执行后续流程。

可选的,所述数据处理功能模块包括多个子数据处理模块,每个子数据处理模块对应一种数据处理算法,各数据处理算法实现同一种数据处理功能。

本发明实施例另一方面提供了一种异构计算装置,基于以太网,包括:

数据处理功能构建模块,用于预先在以太网中构建多个数据处理功能模块,各数据处理功能模块与加速编码域相唯一对应,用于对当前加速编码域中的数据进行数据加速处理;

异构计算模块,用于若接收的ip数据包为预设端口号的udp包,根据所述ip数据包的加速编码域数据匹配相应的数据处理功能模块进行异构加速计算,得到所述ip数据包的计算结果;

计算结果发送模块,用于将所述计算结果通过所述以太网的mac层发送至请求端。

可选的,所述异构计算模块用于:

所述ip数据包在第一级异构加速计算中,根据所述ip数据包的加速编码域数据匹配相应的数据处理功能模块进行计算,并产生下一级加速编码域,以作为第二级异构加速计算的加速编码域;

根据所述下一级加速编码域中的数据生成新udp包;

读取所述第二级异构加速计算的ip地址,并根据所述新udp包生成新ip包;

将所述新ip包通过所述以太网的mac层发送至所述第二级异构加速计算。

可选的,所述异构计算模块还用于若所述ip数据包为tcp包,则将所述ip数据包发送至本地cpu处理。

可选的,所述数据处理功能模块包括多个子数据处理模块,每个子数据处理模块对应一种数据处理算法,各数据处理算法实现同一种数据处理功能。

本发明实施例还提供了一种异构计算设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述异构计算方法的步骤。

本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有异构计算程序,所述异构计算程序被处理器执行时实现如前任一项所述异构计算方法的步骤。

本申请提供的技术方案的优点在于,在以太网中设置用于处理ip数据包的数据处理功能模块,在接收到ip数据包为udp包时,匹配相应的数据处理功能模块进行异构计算,实现了使用以太网接口替换pcie接口进行异构加速计算,异构计算之间的通信不再使用通过cpu参与的以太网,而直接使用异构计算自有的以太网进行通信,从而卸载cpu通过以太网进行异构加速间的负载,避免异构计算间通信占用服务器cpu资源,有效提升服务器异构计算性能;此外,由于以太网接口可以构成规模及物理位置不受限制的异构计算系统,从而解决了相关技术中无法形成大的外部异构加速系统,有利于增大异构计算规模。

此外,本发明实施例还针对异构计算方法提供了相应的实现装置、设备及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。

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

附图说明

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

图1为本发明实施例提供的一种异构计算方法的流程示意图;

图2为本发明实施例提供的另一种异构计算方法的流程示意图;

图3为本发明实施例提供的异构计算装置的一种具体实施方式结构图;

图4为本发明实施例提供的异构计算设备的另一种具体实施方式结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。

首先参见图1,图1为本发明实施例提供的一种异构计算方法的流程示意图,本发明实施例可包括以下内容:

s101:若接收的ip数据包为预设端口号的udp包,根据ip数据包的加速编码域数据匹配相应的数据处理功能模块进行异构加速计算,得到ip数据包的计算结果。

s102:将计算结果通过以太网的mac层发送至请求端。

通过以太网mac层(mediaaccesscontrol,媒体访问控制)接收远端发送过来的ip数据包,对其进行合并,如果该ip数据为tcp包,则将ip数据包其转发到本地cpu处理。

如果端口号为特定udp包,则本地预先构建的数据处理功能模块加速处理此udp包。本地处理分析此udp包的数据,根据udp包中加速编码域的数据选择相应的数据处理功能模块进行计算加速。数据处理功能模块用于对当前加速编码域中的数据进行数据加速处理,且与加速编码域相唯一对应,也就是说,解析ip数据包中加速编码域(例如解析得到标识信息,标识信息与数据处理功能模块具有对应关系)便可得到相应数据处理功能模块。

每个数据处理功能模块中可包含一种数据处理算法,也可包含多种数据处理算法,这均不影响本申请的实现。举例来说,接收的ip数据包为一个加密压缩包,那么在以太网接收到该ip数据包后需要依次进行解密处理和解压处理两个操作。在预先构建各数据处理功能模块中,可以将实现解密和解压这两个功能的算法集成在一个模块中,调用该模块便可直接对ip数据包进行解压和解密处理;当然,也可分别设置在两个数据处理功能模块中,可以先调用实现解密功能的数据功能模块对ip数据包进行解密处理,然后在调用实现解压功能的数据功能模块对ip数据包进行解压缩处理,或者可以先调用实现解压功能的数据功能模块对ip数据包进行解压缩处理,然后在调用实现解密功能的数据功能模块对ip数据包进行解密处理。

当ip数据包需要多个调用多个数据处理功能模块进行数据处理后,也即是需要经过多级异构加速计算,才可得到最终异构计算结果。对于每一级异构加速计算,均是根据当前的加速编码域数据匹配相应的数据处理功能模块进行异构加速计算,将该级异构计算结束之后输出的数据作为下一级异构计算的加速编码域的数据。

在执行完上一级异构计算后,将根据当前加速编码域生成的下一级异构计算的加速编码域及新加速编码域中的数据生成新udp包,读取上层软件中反馈的下一级异构加速计算的ip地址,并根据新udp包生成新ip包,将新ip包通过以太网的mac层发送至下二级异构加速计算,按照同样的方法进行数据处理,直至将原始的ip数据包的所有数据均加速处理完成,得到ip数据包的计算结果,将数据计算结果发送至命令请求端。

可选的,为了提升数据处理速度和准确度,可为每个数据处理功能模块设置多个子数据处理模块,每个子数据处理模块对应一种数据处理算法,各数据处理算法实现同一种数据处理功能。考虑到不同类型的数据对同一种数据处理算法的准确度和效率均不同,可针对数据任务类型设置多种算法。举例来说,对于实现解压缩功能的数据处理功能模块,该数据处理功能模块中可包含多种解压缩算法(lz77算法、huffman算法及gzip算法),每种解压缩算法对应一种数据类型。

在一种实际应用场景中,可将多个数据处理功能模块和以太网功能模块集成在一个芯片中,作为以太网的硬件。以太网在接收到ip数据包时,利用还芯片进行数据异构加速计算。

在本发明实施例提供的技术方案中,在以太网中设置用于处理ip数据包的数据处理功能模块,在接收到ip数据包为udp包时,匹配相应的数据处理功能模块进行异构计算,实现了使用以太网接口替换pcie接口进行异构加速计算,异构计算之间的通信不再使用通过cpu参与的以太网,而直接使用异构计算自有的以太网进行通信,从而卸载cpu通过以太网进行异构加速间的负载,避免异构计算间通信占用服务器cpu资源,有效提升服务器异构计算性能;此外,由于以太网接口可以构成规模及物理位置不受限制的异构计算系统,从而解决了相关技术中无法形成大的外部异构加速系统,有利于增大异构计算规模。

本申请还提供了另外一个实施例,请参见图2,图2为本发明实施例提供的另一种异构计算方法的流程示意图,可包括以下内容:

s201:接收通过以太网mac接收的ip数据包,并对其进行合并。

s202:判断ip数据包是否为tcp包,若是,则执行s203;若否,则执行s204。

s203:将ip数据包发送至本地cpu处理。

针对tcp包任然需要服务器cpu参与处理。

s204:ip数据包为预设端口号的udp包,将ip数据包发送至第一级异构加速计算中。

s205:根据ip数据包的加速编码域数据匹配相应的数据处理功能模块进行异构加速计算。

s206:判断是否可根据ip数据包的加速编码域产生下一级加速编码域,若是,则执行s207;若是,则执行s209。

如果可以生成下一级加速编码域,则表明该ip数据包还需要其他数据处理功能模块对其进行异构计算;如果不可以生成下一级加速编码域,则表明该ip数据包中所有的数据均已被处理完,该级异构加速计算输出的结果即为ip数据包的最终计算结果。

s207:根据下一级加速编码域中的数据生成新udp包,读取第二级异构加速计算的ip地址,并根据新udp包生成新ip包。

s208:将新ip包通过以太网的mac层发送至第二级异构加速计算,跳转执行s205。

下一级异构加速计算按照同样的方法进行加速,直至得到ip数据包的计算结果。

s209:将最终生成的异构计算结果通过以太网的mac层发送至命令请求端。

本发明实施例与上述实施例相同的方法或步骤,可参阅上述实施例的描述,此处,便不再赘述。

由上可知,本发明实施例解决了异构计算规模小且异构计算间通信占用cpu资源的问题,释放cpu资源,不仅有效提升服务器异构计算性能,还大幅增加了异构计算规模。

本发明实施例还针对异构计算方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的异构计算装置进行介绍,下文描述的异构计算装置与上文描述的异构计算方法可相互对应参照。

参见图3,图3为本发明实施例提供的异构计算装置在一种具体实施方式下的结构图,该装置可包括:

数据处理功能构建模块301,用于预先在以太网中构建多个数据处理功能模块,各数据处理功能模块与加速编码域相唯一对应,用于对当前加速编码域中的数据进行数据加速处理。

每个数据处理功能模块还可包括多个子数据处理模块,每个子数据处理模块对应一种数据处理算法,各数据处理算法实现同一种数据处理功能。

异构计算模块302,用于若接收的ip数据包为预设端口号的udp包,根据ip数据包的加速编码域数据匹配相应的数据处理功能模块进行异构加速计算,得到ip数据包的计算结果。

计算结果发送模块303,用于将计算结果通过以太网的mac层发送至请求端。

可选的,在本实施例的一些实施方式中,所述异构计算模块302可以用于:ip数据包在第一级异构加速计算中,根据ip数据包的加速编码域数据匹配相应的数据处理功能模块进行计算,并产生下一级加速编码域,以作为第二级异构加速计算的加速编码域;根据下一级加速编码域中的数据生成新udp包;读取第二级异构加速计算的ip地址,并根据新udp包生成新ip包;将新ip包通过以太网的mac层发送至第二级异构加速计算。

此外,在另外一些实施方式中,所述异构计算模块302还可还用于若ip数据包为tcp包,则将ip数据包发送至本地cpu处理。

本发明实施例所述异构计算装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本申请解决了异构计算规模小且异构计算间通信占用cpu资源的问题,释放cpu资源,不仅有效提升服务器异构计算性能,还大幅增加了异构计算规模。

本发明实施例还提供了一种异构计算设备,请参阅图4,异构计算设备4可包括:

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

处理器42,用于执行计算机程序以实现如上任意一实施例所述异构计算方法的步骤。

本发明实施例所述异构计算设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本申请解决了异构计算规模小且异构计算间通信占用cpu资源的问题,释放cpu资源,不仅有效提升服务器异构计算性能,还大幅增加了异构计算规模。

本发明实施例还提供了一种计算机可读存储介质,存储有异构计算程序,所述异构计算程序被处理器执行时如上任意一实施例所述异构计算方法的步骤。

本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本申请解决了异构计算规模小且异构计算间通信占用cpu资源的问题,释放cpu资源,不仅有效提升服务器异构计算性能,还大幅增加了异构计算规模。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种异构计算方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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