CN105808345B - 数据处理方法、加速引擎、控制板和系统 - Google Patents
数据处理方法、加速引擎、控制板和系统 Download PDFInfo
- Publication number
- CN105808345B CN105808345B CN201410852968.7A CN201410852968A CN105808345B CN 105808345 B CN105808345 B CN 105808345B CN 201410852968 A CN201410852968 A CN 201410852968A CN 105808345 B CN105808345 B CN 105808345B
- Authority
- CN
- China
- Prior art keywords
- data
- accelerating engine
- memory
- network interface
- interface card
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
本发明实施例提供一种数据处理方法、加速引擎、控制板和系统。应用于计算机存储系统,所述计算机存储系统包括第一控制板,其中,所述第一控制板包括加速引擎、第一内存、内部总线、第一网卡以及第一中央处理器CPU,其特征在于,所述方法包括:所述加速引擎通过所述内部总线将待存储数据同时复制到所述第一内存以及所述第一网卡;所述加速引擎向所述第一CPU发送通知消息,所述通知消息中包含处理完成状态标识以及发送完成状态标识。从而通过双播技术,将待存储数据同时发送给本地内存和远端内存进行保存,降低了时延,并且减少了数据处理过程中内存和CPU参与,进而提升了系统的性能。
Description
技术领域
本发明实施例涉及一种通信技术,尤其涉及一种数据处理方法、加速引擎、控制板和系统。
背景技术
由于储存产品中多处使用重删算法、压缩算法、加密算法、磁盘阵列(RedundantArrays of Independent Disks,RAID)5算法、RAID6算法以及数据完整性特征(DataIntegrity Feature,DIF)算法,因此在储存产品中通常都包含硬件加速模块,以提高数据处理的速度。
现有技术中,通过使用插在储存产品的外设部件互连标准(PeripheralComponent Interconnect Express,PCIE)插槽上的现场可编程门阵列(Field-Programmable Gate Array,FPGA)实现加速,参照图1,数据加速的具体实现过程为:1、控制板A中,中央处理器(Center Processing Unit,CPU)将原始数据复制(COPY)到内存,并启动加速引擎,2、加速引擎通过PCIE接口获取原始数据,并进行处理,3、在处理完后,加速引擎将处理后的数据再次放入内存,并通知CPU获取处理后的数据,4、CPU从内存获取处理后的数据后,将处理后的数据COPY到应用层,5、并使处理后的数据经过传输控制协议(Transmission Control Protocol,TCP)协议栈后,COPY到网卡进行发送,并等待控制板N的网卡响应,6、控制板N的网卡接收到控制板A的网卡发送的数据后,发送响应给控制板A,从而完成控制板之间的数据传输。
上述现有技术的方案中,数据需要先在本地加速引擎的处理,再通过网络收发,导致数据处理的总时间较长;在数据处理的过程中,CPU需要与内存进行3次交互,CPU的开销及时延较大;并且CPU每次收发数据均需要经过TCP协议栈,消耗CPU的计算资源。
发明内容
本发明实施例提供一种数据处理方法、加速引擎、控制板和系统,以减少数据处理的总时间,提升系统性能。
第一方面,本发明实施例提供一种数据处理方法,应用于计算机存储系统,所述计算机存储系统包括第一控制板,其中,所述第一控制板包括加速引擎、第一内存、内部总线、第一网卡以及第一中央处理器CPU,其特征在于,所述方法包括:
所述加速引擎通过所述内部总线将待存储数据同时复制到所述第一内存以及所述第一网卡;
所述加速引擎向所述第一CPU发送通知消息,所述通知消息中包含处理完成状态标识以及发送完成状态标识。
在第一方面的第一种可能的实现方式中,所述加速引擎通过所述内部总线将所述待处理数据同时复制到所述第一内存以及所述第一网卡之前,还包括:
所述加速引擎根据预置算法对待处理数据进行处理;
所述加速引擎存储数据资源,所述数据资源包括所述待存储数据,以及根据所述预置算法处理所述待处理数据过程中所产生的中间数据。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述计算机存储系统还包括第二控制板,所述第二控制板包括第二网卡以及第二CPU;
所述加速引擎向所述第一CPU发送通知消息之后,还包括:
所述加速引擎接收所述第二CPU通过所述第二网卡发送的接收响应;所述接收响应用于表明所述第二CPU正确接收了所述第一网卡发送的所述待存储数据;
所述加速引擎将所述接收响应发送给所述第一CPU;
所述加速引擎接收所述第一CPU发送的资源释放命令;
所述加速引擎根据所述资源释放命令释放所述数据资源。
结合第一方面至第一方面的第二种任一可能的实现方式,在第一方面的第三种可能的实现方式中,所述加速引擎向所述第一CPU发送通知消息之后,还包括:
所述加速引擎启动定时器;
若所述定时器超时,所述加速引擎没有接收到所述接收响应,则所述加速引擎重新发送所述待存储数据。
结合第一方面第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述加速引擎根据预置算法对待处理数据进行处理之前,还包括:
所述加速引擎接收所述第一CPU发送的数据处理通知;所述数据处理通知是所述第一CPU在将所述待处理数据和所述预置算法放入所述第一内存后发送的;
所述加速引擎根据所述数据处理通知,从所述第一内存获取所述待处理数据以及所述预置算法。
结合第一方面至第一方面的第四种任一可能的实现方式,在第一方面的第五种可能的实现方式中,所述加速引擎通过所述内部总线将待存储数据同时复制到所述第一内存以及所述第一网卡,具体包括:
所述加速引擎使用直接数据存储DMA,通过所述内部总线将所述待存储数据同时复制到所述第一内存以及所述第一网卡。
第二方面,本发明实施例提供一种加速引擎,包括:
复制模块,用于通过内部总线将待存储数据同时复制到第一内存以及第一网卡;
发送模块,用于向第一中央处理器CPU发送通知消息,所述通知消息中包含处理完成状态标识以及发送完成状态标识。
在第二方面的第一种可能的实现方式中,所述加速引擎还包括:
处理模块,用于根据预置算法对待处理数据进行处理;
存储模块,用于存储数据资源,所述数据资源包括所述待存储数据,以及根据所述预置算法处理所述待处理数据过程中所产生的中间数据。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述加速引擎还包括:
接收模块,用于接收第二CPU通过所述第二网卡发送的接收响应;所述接收响应用于表明所述第二CPU正确接收了所述第一网卡发送的所述待存储数据;
所述发送模块用于将所述接收响应发送给所述第一CPU;
所述接收模块用于接收所述第一CPU发送的资源释放命令;
所述加速引擎还包括释放模块,用于根据所述资源释放命令释放所述数据资源。
结合第二方面至第二方面的第二种任一可能的实现方式,在第二方面的第三种可能的实现方式中,所述加速引擎还包括:
启动模块,用于启动定时器;
若所述定时器超时,所述接收模块没有接收到所述接收响应,则所述发送模块重新发送所述待存储数据。
结合第二方面第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述接收模块还用于接收所述第一CPU发送的数据处理通知;所述数据处理通知是所述第一CPU在将所述待处理数据和所述预置算法放入所述第一内存后发送的;
加速引擎还包括获取模块,用于根据所述数据处理通知,从所述第一内存获取所述待处理数据以及所述预置算法。
结合第二方面至第二方面的第四种任一可能的实现方式,在第二方面的第五种可能的实现方式中,所述复制模块具体用于:使用直接数据存储DMA,通过所述内部总线将所述待存储数据同时复制到所述第一内存以及所述第一网卡。
第三方面,本发明实施例提供一种控制板,包括:中央处理器CPU、内存、内部总线、网卡以及加速引擎;
所述内存用于存储数据、配置参数和程序;所述数据包括待处理数据和待存储数据;
所述CPU用于执行所述内存中存储的程序;
所述内部总线用于实现所述内存、所述CPU、所述网卡和所述加速引擎之间的通信;
所述网卡用于通过远程直接数据存取RDMA传递所述待存储数据;
所述加速引擎用于执行如上第一方面任一所述的数据处理方法。
第四方面,本发明实施例提供一种控制板,包括:内存和片上系统SOC;
其中,所述内存用于存储数据、配置参数和程序;所述数据包括待处理数据和待存储数据;
所述SOC包括中央处理器CPU、网卡、内部总线以及加速引擎;所述CPU用于执行所述内存中存储的程序;所述网卡用于通过远程直接数据存取RDMA传递所述待存储数据;所述内部总线用于实现所述内存、所述CPU、所述网卡和所述加速引擎之间的通信;所述加速引擎用于执行如上第一方面任一所述的数据处理方法。
第五方面,本发明实施例提供一种数据处理系统,包括:至少两个如第三方面所述的控制板和/或如第四方面所述的控制板。
本发明实施例提供的数据处理方法、加速引擎、控制板和系统,应用于计算机存储系统,所述计算机存储系统包括第一控制板,其中,所述第一控制板包括加速引擎、第一内存、内部总线、第一网卡以及第一中央处理器CPU,其特征在于,所述方法包括:所述加速引擎通过所述内部总线将待存储数据同时复制到所述第一内存以及所述第一网卡;所述加速引擎向所述第一CPU发送通知消息,所述通知消息中包含处理完成状态标识以及发送完成状态标识。从而通过双播技术,将待存储数据同时发送给本地内存和远端内存进行保存,降低了时延,并且减少了数据处理过程中内存和CPU参与,进而提升了系统的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中数据处理的系统示意图;
图2为本发明数据处理方法实施例一的流程图;
图3为本发明数据处理方法实施例二的流程图;
图4为本发明数据处理方法实施例三的流程图;
图5为本发明加速引擎实施例一的结构示意图;
图6为本发明提供的控制板实施例一的结构示意图;
图7为本发明提供的控制板实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。
图2为本发明数据处理方法实施例一的流程图。如图2所示,本实施例提供的方法,可以应用于计算机存储系统,所述计算机存储系统可以包括第一控制板,其中,所述第一控制板包括加速引擎、第一内存、内部总线、第一网卡以及第一CPU,具体的,本实施例提供的数据处理方法可以包括:
步骤101、所述加速引擎通过所述内部总线将待存储数据同时复制到所述第一内存以及所述第一网卡。
具体的,所述加速引擎在将待存储数据同时复制到所述第一内存以及所述第一网卡时,可以使用直接数据存储(Direct Memory Access,DMA),通过所述内部总线将所述待存储数据同时复制到所述第一内存以及所述第一网卡。
需要说明的是,与现有技术不同的是,为了实现将待存储数据同时发送给本地内存和远端内存,即同时发送给第一控制板的第一内存和第二控制板的第二内存,本实施例中,所述第一网卡具备远程直接数据存取(Remote Direct Memory Access,RDMA)功能,所述加速引擎可以将所述待存储数据通过双播技术同时复制到第一内存和第一网卡,由第一网卡通过RDMA功能,直接将所述待存储数据传递给所述第二网卡实现数据备份,待存储数据不再需要经过TCP协议栈传递给所述第二网卡,从而实现了待存储数据的并行化处理,减少待存储数据在内存的复制过程,减少了对CPU计算资源的消耗,降低了时延。
步骤102、所述加速引擎向所述第一CPU发送通知消息,所述通知消息中包含处理完成状态标识以及发送完成状态标识。
本步骤中,所述加速引擎在将待存储数据同时复制到所述第一内存以及所述第一网卡后,直接向所述第一CPU发送通知消息,以使所述第一CPU获知所述待存储数据已存储至第一内存,且已通过第一网卡完成远端发送,减少了数据处理过程中内存和CPU的参与,从而提升了系统性能。
本实施例的技术方案,所述加速引擎通过所述内部总线将待存储数据同时复制到所述第一内存以及所述第一网卡;向所述第一CPU发送通知消息,所述通知消息中包含处理完成状态标识以及发送完成状态标识。从而通过双播技术,将待存储数据同时发送给本地内存和远端内存进行保存,降低了时延,并且减少了数据处理过程中内存和CPU参与,进而提升了系统的性能。
图3为本发明数据处理方法实施例二的流程图。在上述实施例的基础上,在步骤101之前,本实施例提供的方法进一步还可以包括:
步骤201、所述加速引擎接收所述第一CPU发送的数据处理通知;所述数据处理通知是所述第一CPU在将所述待处理数据和所述预置算法放入所述第一内存后发送的。
步骤202、所述加速引擎根据所述数据处理通知,从所述第一内存获取所述待处理数据以及所述预置算法。
步骤203、所述加速引擎根据预置算法对待处理数据进行处理。
步骤204、所述加速引擎存储数据资源,所述数据资源包括所述待存储数据,以及根据所述预置算法处理所述待处理数据过程中所产生的中间数据。
本实施例的技术方案,所述加速引擎在根据获得的预置算法处理完待处理数据后,存储数据资源,并通过所述内部总线将待存储数据同时复制到所述第一内存以及所述第一网卡;向所述第一CPU发送通知消息,所述通知消息中包含处理完成状态标识以及发送完成状态标识。从而通过双播技术,将待存储数据同时发送给本地内存和远端内存进行保存,降低了时延,并且减少了数据处理过程中内存和CPU参与,进而提升了系统的性能。
图4为本发明数据处理方法实施例三的流程图。如图4所示,在上述实施例的基础上,本实施例提供的数据处理方法所应用的计算机存储系统还包括第二控制板,第二控制板包括第二网卡以及第二CPU,在上述步骤102之后,本实施例提供的方法进一步还可以包括:
步骤301、所述加速引擎接收所述第二CPU通过所述第二网卡发送的接收响应;所述接收响应用于表明所述第二CPU正确接收了所述第一网卡发送的所述待存储数据。
步骤302、所述加速引擎将所述接收响应发送给所述第一CPU。
步骤303、所述加速引擎接收所述第一CPU发送的资源释放命令。
步骤304、所述加速引擎根据所述资源释放命令释放所述数据资源。
需要说明的是,所述加速引擎向所述第一CPU发送通知消息后,还可以启动定时器;若所述定时器超时,所述加速引擎没有接收到所述接收响应,则重新发送所述待存储数据;可以理解的是,在所述定时器超时前,若接收到所述接收响应,则执行上述步骤302。
本实施例的技术方案,加速引擎接收所述第二CPU通过所述第二网卡发送的接收响应,并将接收响应发送给所述第一CPU,接收所述第一CPU发送的资源释放命令,根据所述资源释放命令释放所述数据资源,并且设置了超时检测功能,即在向第一CPU发送通知消息后,所述加速引擎启动定时器,在定时器超时后,若所述加速引擎还没有接收到接收响应,则可以重新发送待存储数据,由于数据的重新发送是由硬件完成的,不需要软件进行数据搬移,因此进一步减少了数据处理过程中内存和CPU参与,提升了系统的性能。
图5为本发明加速引擎实施例一的结构示意图。如图5所示,本实施例提供的加速引擎10可以包括:
复制模块11,用于通过内部总线将待存储数据同时复制到第一内存以及第一网卡;
发送模块12,用于向第一中央处理器CPU发送通知消息,所述通知消息中包含处理完成状态标识以及发送完成状态标识。
其中,所述复制模块11具体用于使用DMA,通过所述内部总线将所述待存储数据同时复制到所述第一内存以及所述第一网卡;需要说明的是,所述第一网卡和所述第二网卡均具备RDMA功能。
进一步的,所述加速引擎10还可以包括处理模块13,用于根据预置算法对待处理数据进行处理;存储模块14,用于存储数据资源,所述数据资源包括所述待存储数据,以及根据所述预置算法处理所述待处理数据过程中所产生的中间数据。
接收模块15,用于接收所述第二CPU通过所述第二网卡发送的接收响应;所述接收响应用于表明所述第二CPU正确接收了所述第一网卡发送的所述待存储数据;所述发送模块12用于将所述接收响应发送给所述第一CPU;所述接收模块15用于接收所述第一CPU发送的资源释放命令;释放模块16,用于根据所述资源释放命令释放数据资源。
可选的,所述加速引擎10还可以包括:启动模块,用于启动定时器;若所述定时器超时,所述接收模块15没有接收到所述接收响应,则所述发送模块12重新发送所述待存储数据。
所述接收模块15还可以用于接收所述第一CPU发送的数据处理通知;所述数据处理通知是所述第一CPU在将所述待处理数据和所述预置算法放入所述第一内存后发送的;所述加速引擎10还可以包括获取模块,用于根据所述数据处理通知,从所述第一内存获取所述待处理数据以及所述预置算法。
本实施例的加速引擎,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明提供的控制板实施例一的结构示意图。如图6所示,本实施例提供的控制板20具体可以包括:CPU 21、内存22、内部总线23、网卡24以及加速引擎25;
所述内存22用于存储数据、配置参数和程序;所述数据包括待处理数据和待存储数据;
所述CPU 21用于执行所述内存22中存储的程序;
所述内部总线23用于实现所述内存22、所述CPU 21、所述网卡24和所述加速引擎25之间的通信;
所述网卡24用于通过RDMA传递所述待存储数据;
所述加速引擎25用于执行如上述图2-图4任一所示实施例提供的数据处理方法。
本实施例的控制板,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明提供的控制板实施例二的结构示意图。如图7所示,本实施例提供的控制板30具体可以包括:内存31和片上系统SOC 32;
其中,所述内存31用于存储数据、配置参数和程序;所述数据包括待处理数据和待存储数据;
所述SOC 32包括中央处理器CPU 321、网卡322、内部总线324以及加速引擎323;所述CPU 321用于执行所述内存31中存储的程序;所述网卡322用于通过RDMA传递所述待存储数据;所述内部总线324用于实现所述内存31、所述CPU 321、所述网卡322和所述加速引擎323之间的通信;所述加速引擎323用于执行如上述图2-图4任一所示实施例提供的数据处理方法。
本实施例的控制板,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本实施例提供一种数据处理系统。本实施例提供的系统具体可以包括至少两个如图6所示的控制板20和/或如图7所示的控制板30。
本实施例的数据处理系统,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。
Claims (13)
1.一种数据处理方法,应用于计算机存储系统,所述计算机存储系统包括第一控制板,其中,所述第一控制板包括加速引擎、第一内存、内部总线、第一网卡以及第一处理器,其特征在于,所述方法包括:
所述加速引擎通过所述内部总线将待存储数据同时复制到所述第一内存以及所述第一网卡;
所述加速引擎向所述第一处理器发送通知消息,所述通知消息中包含处理完成状态标识以及发送完成状态标识;
所述加速引擎通过所述内部总线将待存储数据同时复制到所述第一内存以及所述第一网卡之前,还包括:
所述加速引擎根据预置算法对待处理数据进行处理;
所述加速引擎存储数据资源,所述数据资源包括所述待存储数据,以及根据所述预置算法处理所述待处理数据过程中所产生的中间数据。
2.根据权利要求1所述的方法,其特征在于,所述计算机存储系统还包括第二控制板,所述第二控制板包括第二网卡以及第二处理器;
所述加速引擎向所述第一处理器发送通知消息之后,还包括:
所述加速引擎接收所述第二处理器通过所述第二网卡发送的接收响应;所述接收响应用于表明所述第二处理器正确接收了所述第一网卡发送的所述待存储数据;
所述加速引擎将所述接收响应发送给所述第一处理器;
所述加速引擎接收所述第一处理器发送的资源释放命令;
所述加速引擎根据所述资源释放命令释放所述数据资源。
3.根据权利要求2的方法,其特征在于,所述加速引擎向所述第一处理器发送通知消息之后,还包括:
所述加速引擎启动定时器;
若所述定时器超时,所述加速引擎没有接收到所述接收响应,则所述加速引擎重新发送所述待存储数据。
4.根据权利要求3所述的方法,其特征在于,所述加速引擎根据预置算法对待处理数据进行处理之前,还包括:
所述加速引擎接收所述第一处理器发送的数据处理通知;所述数据处理通知是所述第一处理器在将所述待处理数据和所述预置算法放入所述第一内存后发送的;
所述加速引擎根据所述数据处理通知,从所述第一内存获取所述待处理数据以及所述预置算法。
5.根据权利要求1-4任一所述的方法,其特征在于,所述加速引擎通过所述内部总线将待存储数据同时复制到所述第一内存以及所述第一网卡,具体包括:
所述加速引擎使用直接数据存储DMA,通过所述内部总线将所述待存储数据同时复制到所述第一内存以及所述第一网卡。
6.一种加速引擎,其特征在于,包括:
复制模块,用于通过内部总线将待存储数据同时复制到第一内存以及第一网卡;
发送模块,用于向第一处理器发送通知消息,所述通知消息中包含处理完成状态标识以及发送完成状态标识;
所述加速引擎还包括:
处理模块,用于根据预置算法对待处理数据进行处理;
存储模块,用于存储数据资源,所述数据资源包括所述待存储数据,以及根据所述预置算法处理所述待处理数据过程中所产生的中间数据。
7.根据权利要求6所述的加速引擎,其特征在于,所述加速引擎还包括:
接收模块,用于接收第二处理器通过第二网卡发送的接收响应;所述接收响应用于表明所述第二处理器正确接收了所述第一网卡发送的所述待存储数据;
所述发送模块用于将所述接收响应发送给所述第一处理器;
所述接收模块用于接收所述第一处理器发送的资源释放命令;
所述加速引擎还包括释放模块,用于根据所述资源释放命令释放所述数据资源。
8.根据权利要求7所述的加速引擎,其特征在于,所述加速引擎还包括:
启动模块,用于启动定时器;
若所述定时器超时,所述接收模块没有接收到所述接收响应,则所述发送模块重新发送所述待存储数据。
9.根据权利要求8所述的加速引擎,其特征在于,所述接收模块还用于接收所述第一处理器发送的数据处理通知;所述数据处理通知是所述第一处理器在将所述待处理数据和所述预置算法放入所述第一内存后发送的;
加速引擎还包括获取模块,用于根据所述数据处理通知,从所述第一内存获取所述待处理数据以及所述预置算法。
10.根据权利要求6-9任一所述的加速引擎,其特征在于,所述复制模块具体用于:使用直接数据存储DMA,通过所述内部总线将所述待存储数据同时复制到所述第一内存以及所述第一网卡。
11.一种控制板,其特征在于,包括:处理器、内存、内部总线、网卡以及加速引擎;
所述内存用于存储数据、配置参数和程序;所述数据包括待处理数据和待存储数据;
所述处理器用于执行所述内存中存储的程序;
所述内部总线用于实现所述内存、所述处理器、所述网卡和所述加速引擎之间的通信;
所述网卡用于通过远程直接数据存取RDMA传递所述待存储数据;
所述加速引擎用于执行如权利要求1-5任一所述的数据处理方法。
12.一种控制板,其特征在于,包括:内存和片上系统SOC;
其中,所述内存用于存储数据、配置参数和程序;所述数据包括待处理数据和待存储数据;
所述SOC包括处理器、网卡、内部总线以及加速引擎;所述处理器用于执行所述内存中存储的程序;所述网卡用于通过远程直接数据存取RDMA传递所述待存储数据;所述内部总线用于实现所述内存、所述处理器、所述网卡和所述加速引擎之间的通信;所述加速引擎用于执行如权利要求1-5任一所述的数据处理方法。
13.一种数据处理系统,其特征在于,包括:至少两个如权利要求11所述的控制板和/或如权利要求12所述的控制板。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410852968.7A CN105808345B (zh) | 2014-12-31 | 2014-12-31 | 数据处理方法、加速引擎、控制板和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410852968.7A CN105808345B (zh) | 2014-12-31 | 2014-12-31 | 数据处理方法、加速引擎、控制板和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105808345A CN105808345A (zh) | 2016-07-27 |
CN105808345B true CN105808345B (zh) | 2019-03-08 |
Family
ID=56420665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410852968.7A Active CN105808345B (zh) | 2014-12-31 | 2014-12-31 | 数据处理方法、加速引擎、控制板和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105808345B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108710473A (zh) * | 2018-04-27 | 2018-10-26 | 江苏华存电子科技有限公司 | 一种闪存存储系统的效能加速方法 |
CN113778320A (zh) * | 2020-06-09 | 2021-12-10 | 华为技术有限公司 | 网卡以及网卡处理数据的方法 |
CN113778319A (zh) | 2020-06-09 | 2021-12-10 | 华为技术有限公司 | 网卡的数据处理方法以及网卡 |
CN116627893B (zh) * | 2023-07-18 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 加速引擎配置方法、装置、并行数估计系统、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599991A (zh) * | 2009-07-07 | 2009-12-09 | 浪潮电子信息产业股份有限公司 | 一种基于高速通信协议的提升网络文件系统性能的方法 |
CN102439983A (zh) * | 2011-10-27 | 2012-05-02 | 华为技术有限公司 | 一种数据快速分发方法和装置 |
CN103477588A (zh) * | 2011-02-16 | 2013-12-25 | 甲骨文国际公司 | 刀片服务器中刀片间网络业务的分类和管理方法和系统 |
CN104094244A (zh) * | 2011-09-30 | 2014-10-08 | 英特尔公司 | 对于系统协处理器的直接i/o访问 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011119693A1 (de) * | 2011-11-29 | 2013-05-29 | Universität Heidelberg | System, Computer-implementiertes Verfahren und Computerprogrammprodukt zur direkten Kommunikation zwischen Hardwarebeschleunigern in einem Computercluster |
-
2014
- 2014-12-31 CN CN201410852968.7A patent/CN105808345B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599991A (zh) * | 2009-07-07 | 2009-12-09 | 浪潮电子信息产业股份有限公司 | 一种基于高速通信协议的提升网络文件系统性能的方法 |
CN103477588A (zh) * | 2011-02-16 | 2013-12-25 | 甲骨文国际公司 | 刀片服务器中刀片间网络业务的分类和管理方法和系统 |
CN104094244A (zh) * | 2011-09-30 | 2014-10-08 | 英特尔公司 | 对于系统协处理器的直接i/o访问 |
CN102439983A (zh) * | 2011-10-27 | 2012-05-02 | 华为技术有限公司 | 一种数据快速分发方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于多通道DMA控制器的媒体播放器SoC设计与验证;曾文龙,周游,贺珊,郭东辉;《中国科技论文》;20140131;第9卷(第1期);第45-48页 |
Also Published As
Publication number | Publication date |
---|---|
CN105808345A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046896B (zh) | 一种区块处理方法和节点以及系统 | |
CN105808345B (zh) | 数据处理方法、加速引擎、控制板和系统 | |
EP3534320A1 (en) | Block chain-based multi-chain management method and system, electronic device, and storage medium | |
CN110750341B (zh) | 任务调度方法、装置、系统、终端设备及存储介质 | |
JP2019516171A5 (zh) | ||
CN109309631A (zh) | 一种基于通用网络文件系统写入数据的方法及装置 | |
CN105264930B (zh) | 发送节点及其缓存状态上报方法 | |
CN107818056A (zh) | 一种队列管理方法及装置 | |
CN109634720B (zh) | 一种多虚拟机共享fpga板卡的方法、系统及装置 | |
CN103645975B (zh) | 一种异常恢复的方法及串行总线传输装置 | |
CN105808374B (zh) | 一种快照处理方法及相关设备 | |
CN106681840A (zh) | 一种云操作系统的任务调度方法及装置 | |
CN104184749A (zh) | 一种sdn网络访问方法及系统 | |
CN110460412A (zh) | 用于数据传输的方法和rdma网卡 | |
KR102387922B1 (ko) | 솔리드 스테이트 드라이브의 비동기 이벤트 요청 명령 처리 방법 및 시스템 | |
CN109041133A (zh) | 去激活命令处理方法、激活命令处理方法和用户终端 | |
US11736567B2 (en) | Data transmission and network interface controller | |
CN103885900B (zh) | 数据访问处理方法、PCIe设备和用户设备 | |
CN110445580A (zh) | 数据发送方法及装置、存储介质、电子装置 | |
CN110247818A (zh) | 一种数据监控方法、装置、存储介质和服务器 | |
US9332071B2 (en) | Data stage-in for network nodes | |
CN104657240B (zh) | 多内核操作系统的失效控制方法及装置 | |
CN102811127A (zh) | 云计算应用层的加速网卡 | |
CN1642170A (zh) | 利用iSCSI协议访问逻辑设备的方法 | |
CN105549911B (zh) | Nvram的数据传输方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |