CN115934623B - 一种基于远程直接内存访问的数据处理方法、设备及介质 - Google Patents
一种基于远程直接内存访问的数据处理方法、设备及介质 Download PDFInfo
- Publication number
- CN115934623B CN115934623B CN202310090771.3A CN202310090771A CN115934623B CN 115934623 B CN115934623 B CN 115934623B CN 202310090771 A CN202310090771 A CN 202310090771A CN 115934623 B CN115934623 B CN 115934623B
- Authority
- CN
- China
- Prior art keywords
- network card
- message
- data
- solid
- state hardware
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请提供一种基于远程直接内存访问的数据处理方法、设备及介质。方法包括:通过发起侧的第一网卡和目标侧的第二网卡一起完成对目标侧的至少一个固态硬件的初始化;响应于发起数据读请求,通过第一网卡对与数据读请求相关联的基于远程直接内存访问协议的第一报文进行扩展得到扩展后第一报文,然后将扩展后第一报文发送给第二网卡,以及通过第二网卡基于扩展后第一报文驱使至少一个固态硬件向第一网卡发起远程直接内存访问写操作从而将至少一个固态硬件所存储的与数据读请求相关联的第一数据写入发起侧的内存。扩展后第一报文包括第一操作描述符用于指示对固态硬件进行数据读取操作。如此,有助于提升数据处理性能、存储效率和数据吞吐量。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及一种基于远程直接内存访问的数据处理方法、设备及介质。
背景技术
随着数据中心、网络技术和存储技术的发展,为了提升系统性能和效率,需要提升数据处理性能、存储效率和数据吞吐量。例如,数据平面开发套件(Data PlaneDevelopment Kit,DPDK)在数据平面应用中为快速的数据包处理提供架构。存储性能开发套件(Storage Performance Development Kit,SPDK)着重于存储性能的提升。SPDK让设备驱动运行于用户态以及采用轮询模式驱动(Polled Mode Drivers,PMD)也就是让应用程序提交读写请求后继续执行其他工作并在一定的时间间隔后再检查读写请求是否已经完成。SPDK一般包括网络前端、处理框架和存储后端。其中,网络前端由DPDK、网卡驱动、用户态网络服务构件组成。DPDK提供高性能的数据包处理框架,而网卡驱动提供从网卡到用户态空间的快速通道。SPDK的处理框架负责将命令送到后端驱动,后端驱动再与物理设备如存储介质交互完成读写。SPDK一般与远程直接内存访问(Remote Direct Memory Access,RDMA)结合。RDMA指的是在两个或者多个计算机进行通讯的时候从一个主机的内存直接访问另一个主机的内存。
但是,现有的SPDK架构在RDMA应用中需要通过SPDK架构所在的主机上的处理框架例如存储协议框架软件作为中转层,来将网络前端如前端RDMA网络传输的数据传输到后端内存空间,并通过输入输出操作来将数据读写到存储介质上,因此需要多次内存拷贝还需要占用处理器资源,因此不利于进一步提升系统性能和效率。
基于上述技术难题,提供了一种基于远程直接内存访问的数据处理方法、设备及介质。
发明内容
本申请实施例提供了一种基于远程直接内存访问的数据处理方法、设备及介质,用于解决现有技术中存在的问题。
第一方面,本申请提供了一种基于远程直接内存访问的数据处理方法。所述数据处理方法包括:通过发起侧的第一网卡和目标侧的第二网卡一起完成对所述目标侧的至少一个固态硬件的初始化从而使得所述目标侧的所述至少一个固态硬件适配所述第一网卡和所述第二网卡,其中,所述发起侧和所述目标侧属于同一远程直接内存访问网络,所述第一网卡和所述第二网卡均支持与所述同一远程直接内存访问网络相关联的远程直接内存访问协议;响应于所述发起侧发起数据读请求,通过所述第一网卡对与所述数据读请求相关联的基于所述远程直接内存访问协议的第一报文进行扩展得到扩展后第一报文,然后通过所述第一网卡将所述扩展后第一报文发送给所述第二网卡,以及通过所述第二网卡基于所述扩展后第一报文驱使所述至少一个固态硬件向所述第一网卡发起远程直接内存访问写操作从而将所述至少一个固态硬件所存储的与所述数据读请求相关联的第一数据写入所述发起侧的内存。其中,所述扩展后第一报文包括第一操作描述符用于指示对所述至少一个固态硬件进行数据读取操作,所述第一操作描述符基于所述至少一个固态硬件与所述第一网卡和所述第二网卡之间的适配。
通过本申请的第一方面,通过第一网卡和第二网卡一起完成对固态硬件的初始化从而使得固态硬件同时适配第一网卡和第二网卡,以及通过第二网卡基于扩展后第一报文驱使固态硬件向第一网卡发起远程直接内存访问操作,实现了不占用目标侧的处理器资源例如中央处理器资源,也减少了目标侧的内存拷贝和输入输出操作,以及降低了发起侧基于远程直接内存访问网络来访问目标侧的固态硬件如固态硬盘的时延。
在本申请的第一方面的一种可能的实现方式中,所述数据处理方法还包括:响应于所述发起侧发起数据写请求,通过所述第一网卡向所述第二网卡发起远程直接内存访问写操作从而将所述发起侧的内存所存储的与所述数据写请求相关联的第二数据写入所述目标侧的内存,然后通过所述第一网卡对与所述数据写请求相关联的基于所述远程直接内存访问协议的第二报文进行扩展得到扩展后第二报文,然后通过所述第一网卡将所述扩展后第二报文发送给所述第二网卡,以及通过所述第二网卡基于所述扩展后第二报文驱使所述至少一个固态硬件从所述目标侧的内存获取所述第二数据。其中,所述扩展后第二报文包括第二操作描述符用于指示对所述至少一个固态硬件进行数据写入操作,所述第二操作描述符基于所述至少一个固态硬件与所述第一网卡和所述第二网卡之间的适配。
在本申请的第一方面的一种可能的实现方式中,至少在所述发起侧发起所述数据读请求或者所述数据写请求之前,所述发起侧注册可访问内存并将所述发起侧的注册结果下发到所述第一网卡。
在本申请的第一方面的一种可能的实现方式中,至少在所述目标侧接收到来自所述发起侧的所述数据读请求或者所述数据写请求之前,所述目标侧注册可访问内存并将所述目标侧的注册结果下发到所述第二网卡。
在本申请的第一方面的一种可能的实现方式中,所述数据处理方法还包括:响应于所述目标侧的所述至少一个固态硬件的改动,通过所述发起侧的所述第一网卡和所述目标侧的所述第二网卡一起完成对所述目标侧的改动后的固态硬件的初始化从而使得所述目标侧的所述改动后的固态硬件适配所述第一网卡和所述第二网卡,其中,所述至少一个固态硬件的改动包括新增、移除或者替换固态硬件。
在本申请的第一方面的一种可能的实现方式中,所述至少一个固态硬件包括满足非易失性内存主机控制器接口规范的固态硬盘。
在本申请的第一方面的一种可能的实现方式中,所述第一报文和所述第二报文均是基于所述远程直接内存访问协议的协议报文,其中,所述第一操作描述符被添加到所述第一报文从而得到所述扩展后第一报文,所述第二操作描述符被添加到所述第二报文从而得到所述扩展后第二报文。
在本申请的第一方面的一种可能的实现方式中,所述第一报文和所述第二报文均是RoCEv1协议报文或者RoCEv2协议报文。
在本申请的第一方面的一种可能的实现方式中,所述第一报文和所述扩展后第一报文可用于同一远程直接内存访问流程,所述第二报文和所述扩展后第二报文可用于同一远程直接内存访问流程。
在本申请的第一方面的一种可能的实现方式中,所述第二网卡与所述至少一个固态硬件之间通过访问队列实现数据直通。
在本申请的第一方面的一种可能的实现方式中,所述第二网卡通过直接写所述至少一个固态硬件的提交队列来提交工作队列元素请求以及敲击所述至少一个固态硬件的提交队列的门铃通知从而向所述至少一个固态硬件发起请求通知。
在本申请的第一方面的一种可能的实现方式中,所述第二网卡还通过直接写所述第二网卡的完成队列以及敲击所述至少一个固态硬件的完成队列的门铃通知从而向所述至少一个固态硬件发起完成消息。
在本申请的第一方面的一种可能的实现方式中,所述至少一个固态硬件通过直接写所述第二网卡的提交队列以及敲击所述第二网卡的提交队列的门铃通知从而向所述第二网卡发起请求通知。
在本申请的第一方面的一种可能的实现方式中,所述至少一个固态硬件通过直接写所述第二网卡的提交队列以及敲击所述第二网卡的提交队列的门铃通知从而向所述第二网卡发起完成消息。
在本申请的第一方面的一种可能的实现方式中,所述目标侧绕过所述目标侧的中央处理器来响应所述发起侧所发起的所述数据读请求或者所述数据写请求。
在本申请的第一方面的一种可能的实现方式中,所述发起侧通过所述第一网卡和所述第二网卡从而绕过所述目标侧的除了所述第二网卡以外的处理器资源实现对所述目标侧的所述至少一个固态硬件的读写操作。
第二方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第四方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种通过存储性能开发套件进行远程直接内存访问读写操作的应用场景;
图2为本申请实施例提供的一种基于远程直接内存访问的数据处理方法的流程示意图;
图3示出了本申请实施例提供的图2所示的数据处理方法的应用场景;
图4为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
本申请实施例提供了一种基于远程直接内存访问的数据处理方法、设备及介质,用于解决现有技术中存在的问题。其中,本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。
应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1示出了一种通过存储性能开发套件进行远程直接内存访问读写操作的应用场景。如图1所示,发起侧110与目标侧120之间通过远程直接内存访问网络134进行数据读写操作。其中,发起侧110是数据读操作和数据写操作的发起方,发起侧110和目标侧120属于同一个远程直接内存访问网络或者任意可以支持远程内存直接访问(RemoteDirectMemory Access,RDMA)的网络,例如图1中所示的远程直接内存访问网络134。这里RDMA一般指的是在两个或者多个计算机进行通讯的时候从一个主机的内存直接访问另一个主机的内存。发起侧110包括中央处理器112和内存114,中央处理器112代表了发起侧110所具有的用于处理一般性需求的算力资源例如对操作系统的支持等,内存114代表了发起侧110所具有的用于满足一般性需求的存储资源。发起侧110还具有第一网卡130,第一网卡130可以是任意的可以支持RDMA的网络接口卡(network interface card,NIC)或者网络适配器等。第一网卡130用于支持发起侧110的网络连接。目标侧120包括中央处理器122和内存124,中央处理器122代表了目标侧120所具有的用于处理一般性需求的算力资源例如对操作系统的支持等,内存124代表了目标侧120所具有的用于满足一般性需求的存储资源。目标侧120还具有第二网卡132,第二网卡132可以是任意的可以支持RDMA的网络接口卡或者网络适配器等。
继续参阅图1,第一网卡130通过远程直接内存访问网络134与第二网卡132连接。目标侧120还包括存储性能开发套件(Storage PerformanceDevelopment Kit,SPDK)126。存储性能开发套件126运行在目标侧120的用户态空间并且提供SPDK的基本功能及架构,例如轮询模式驱动(Polled ModeDrivers,PMD)也就是让应用程序提交读写请求后继续执行其他工作并在一定的时间间隔后再检查读写请求是否已经完成。其中,存储性能开发套件126包括至少三个子构件(未示出),分别为网络前端、处理框架和存储后端。存储性能开发套件126的子构件网络前端,用于提供网卡驱动功能从而建立起相应的网卡到存储性能开发套件126所在的用户态空间的数据通道,以及为相应网卡提供数据包处理框架。在图1中,存储性能开发套件126为第二网卡132提供网卡驱动和数据包处理框架,第二网卡132通过远程直接内存访问网络134接收到的数据包先要被上传到存储性能开发套件126进行处理。存储性能开发套件126的子构件处理框架负责将命令送到后端。存储性能开发套件126的子构件存储后端再与物理设备如存储介质交互完成读写。在图1中,发起侧110发起数据读操作和数据写操作,相关的指令被传输到第一网卡130,第一网卡130可能还会从发起侧110的内存114获取有关数据,然后第一网卡130通过远程直接内存访问网络134与目标侧120的第二网卡132通信,第一网卡130将要传输的数据封装成可以经过远程直接内存访问网络134传输的网络报文发送到第二网卡132。接着,目标侧120的第二网卡132(相当于前端RDMA网络并且上面提到存储性能开发套件126的子构件网络前端提供网卡驱动),在接收到报文后,解析报文并将数据写入目标侧120的内存124,以及与存储性能开发套件126的子构件处理框架通信并发起请求。存储性能开发套件126的子构件处理框架处理来自第二网卡132的请求后,通过存储性能开发套件126的子构件存储后端与存储介质交互完成数据读操作和数据写操作。目标侧120还包括固态硬件140,固态硬件140代表了在目标侧120的除了内存124以外的存储介质,例如固态硬盘(solid-state drive,SSD)也叫固态驱动器。
继续参阅图1,图1中用双箭头的实线示意性示出了从发起侧110发起数据读写操作直到通过目标侧120的固态硬件140完成数据读写操作的基本数据路径。从发起侧110的中央处理器112开始,依次经过第一网卡130,远程直接内存访问网络134,第二网卡132,然后到达存储性能开发套件126后与固态硬件140交互。其中,图1以及类似的通过存储性能开发套件进行远程直接内存访问读写操作的应用场景,需要通过存储性能开发套件所在的主机上的处理框架例如存储协议框架软件作为中转层,来将网络前端所接收的数据传输到后端内存空间,并通过输入输出操作来将数据读写到存储介质上。这意味着需要在占用专门的处理器资源来完成有关的内存拷贝和输入输出操作,例如占用图1所示的目标侧120的中央处理器122所代表的算力资源;另外还需要经过多次的内存拷贝以及存储性能开发套件与存储介质之间的交互,例如图1所示的存储性能开发套件126与固态硬件140之间的交互。
为了更进一步地提升系统性能和效率,特别是降低目标侧的对处理器资源的占用以及内存拷贝和交互所带来的损耗,以及降低数据读写时延,本申请实施例提供了一种基于远程直接内存访问的数据处理方法、设备及介质,下面结合图2和图3详细说明。
图2为本申请实施例提供的一种基于远程直接内存访问的数据处理方法的流程示意图。如图2所示,数据处理方法包括以下步骤。
步骤S202:通过发起侧的第一网卡和目标侧的第二网卡一起完成对目标侧的至少一个固态硬件的初始化。
在步骤S202中,通过发起侧的第一网卡和目标侧的第二网卡一起完成对所述目标侧的至少一个固态硬件的初始化从而使得所述目标侧的所述至少一个固态硬件适配所述第一网卡和所述第二网卡。其中,所述发起侧和所述目标侧属于同一远程直接内存访问网络,所述第一网卡和所述第二网卡均支持与所述同一远程直接内存访问网络相关联的远程直接内存访问协议。
步骤S204:发起侧发起数据读请求。
步骤S206:通过第一网卡对与数据读请求相关联的基于远程直接内存访问协议的第一报文进行扩展得到扩展后第一报文。
步骤S208:通过第一网卡将扩展后第一报文发送给第二网卡。
在步骤S204、步骤S206以及步骤S208中,响应于所述发起侧发起数据读请求,通过所述第一网卡对与所述数据读请求相关联的基于所述远程直接内存访问协议的第一报文进行扩展得到扩展后第一报文,然后通过所述第一网卡将所述扩展后第一报文发送给所述第二网卡。其中,所述扩展后第一报文包括第一操作描述符用于指示对所述至少一个固态硬件进行数据读取操作,所述第一操作描述符基于所述至少一个固态硬件与所述第一网卡和所述第二网卡之间的适配。
步骤S210:通过第二网卡基于扩展后第一报文驱使至少一个固态硬件向第一网卡发起远程直接内存访问写操作从而将至少一个固态硬件所存储的与数据读请求相关联的第一数据写入发起侧的内存。
在步骤S210中,通过所述第二网卡基于所述扩展后第一报文驱使所述至少一个固态硬件向所述第一网卡发起远程直接内存访问写操作从而将所述至少一个固态硬件所存储的与所述数据读请求相关联的第一数据写入所述发起侧的内存。这意味着在目标侧,通过第二网卡来驱使固态硬件,因此绕过目标侧的操作系统也不占用目标侧的主处理器资源。另外,目标侧的第二网卡是基于被第一网卡拓展得到的扩展后第一报文,而且所述扩展后第一报文包括第一操作描述符用于指示对所述至少一个固态硬件进行数据读取操作,所述第一操作描述符基于所述至少一个固态硬件与所述第一网卡和所述第二网卡之间的适配。
参阅上述各个步骤,图2所示的基于远程直接内存访问的数据处理方法,通过第一网卡和第二网卡一起完成对固态硬件的初始化从而使得固态硬件同时适配第一网卡和第二网卡,以及通过第二网卡基于扩展后第一报文驱使固态硬件向第一网卡发起远程直接内存访问操作,实现了不占用目标侧的处理器资源例如中央处理器资源,也减少了目标侧的内存拷贝和输入输出操作,以及降低了发起侧基于远程直接内存访问网络来访问目标侧的固态硬件如固态硬盘的时延。进一步地,因为所述第一网卡和所述第二网卡均支持与所述同一远程直接内存访问网络相关联的远程直接内存访问协议,而扩展后第一报文是对与所述数据读请求相关联的基于所述远程直接内存访问协议的第一报文进行扩展得到,这意味着扩展后第一报文可以耦合到第一报文的相关流程中,也就是基于所述远程直接内存访问协议的流程,例如RDMA流程。因此,基于所述同一远程直接内存访问网络,可以将第一操作描述符,例如目标侧的固态硬件的协议描述符,耦合到第一报文的相关流程中,这样就使得发起侧可以通过对第一报文的相关流程的定义,也就是对基于所述远程直接内存访问协议的流程的定义,例如RDMA流程语义的定义,从而等效于发起侧的第一网卡直通目标侧的固态硬件进行读写操作。另外,目标侧的内存例如主内存、主存储器等一般是有固定的上限,随着业务需求而挂接存储介质来扩展目标侧的存储能力,所述目标侧的至少一个固态硬件代表了目标侧的具有拓展性的存储资源。对所述至少一个固态硬件的增加、移除以及替换等,因此通过第一网卡和第二网卡一起完成对所述至少一个固态硬件的初始化从而使得所述至少一个固态硬件同时适配第一网卡和第二网卡,以及所述第一操作描述符基于所述至少一个固态硬件与所述第一网卡和所述第二网卡之间的适配,这样意味着可以根据具体的固态硬件的组合来进行相应的协议拓展,从而可以灵活地应对目标侧的存储资源状态。下面结合图3说明,图2所示的基于远程直接内存访问的数据处理方法的数据路径。
图3示出了本申请实施例提供的图2所示的数据处理方法的应用场景。如图3所示,发起侧310与目标侧320之间通过远程直接内存访问网络334进行数据读写操作。其中,发起侧310是数据读操作和数据写操作的发起方,发起侧310和目标侧320属于同一个远程直接内存访问网络或者任意可以支持RDMA的网络,例如图3中所示的远程直接内存访问网络334。发起侧310包括中央处理器312和内存314,中央处理器312代表了发起侧310所具有的用于处理一般性需求的算力资源例如对操作系统的支持等,内存314代表了发起侧310所具有的用于满足一般性需求的存储资源。发起侧310还具有第一网卡330,第一网卡330可以是任意的可以支持RDMA的NIC或者网络适配器等。第一网卡330用于支持发起侧310的网络连接。目标侧320包括中央处理器322和内存324,中央处理器322代表了目标侧320所具有的用于处理一般性需求的算力资源例如对操作系统的支持等,内存324代表了目标侧320所具有的用于满足一般性需求的存储资源。目标侧320还具有第二网卡332,第二网卡332可以是任意的可以支持RDMA的NIC或者网络适配器等。
继续参阅图3,考虑到异构计算架构和数据中心技术的发展,图3中所示出的发起侧310和目标侧320的具体架构应理解为说明性而不是限制性。在一些实施例中,发起侧310或者目标侧320可以具有针对专门计算任务优化设计的加速器例如专门用于处理人工智能任务的人工智能专用处理器。在一些实施例中,发起侧310或者目标侧320可以具有与各自的中央处理器不同指令集架构、不同处理器架构或者不同硬件电路设计的其他类型的处理器,或者具有任意合适的异构计算架构。另外,发起侧310和目标侧320可以是单台计算机也可以是多个计算机的集合并对外体现为一个计算节点。因此,发起侧310和目标侧320应理解为同一个支持远程直接内存访问协议或者归属于同一个远程直接内存访问网络上的两个计算节点。
参阅图2和图3,图3中用双箭头的实线示意性示出了数据路径,从发起侧310的中央处理器312开始,依次经过第一网卡330,远程直接内存访问网络334,第二网卡332,以及固态硬件340。参考图2所示的基于远程直接内存访问的数据处理方法,通过第一网卡330和第二网卡332一起完成对固态硬件340的初始化从而使得固态硬件340同时适配第一网卡330和第二网卡332,以及通过第二网卡332基于扩展后第一报文驱使固态硬件340向第一网卡330发起远程直接内存访问操作,实现了不占用目标侧320的处理器资源如中央处理器322,也减少了目标侧320的内存拷贝和输入输出操作,以及降低了发起侧310基于远程直接内存访问网络334来访问目标侧320的固态硬件340的时延。另外,扩展后第一报文可以耦合到基于所述远程直接内存访问协议的流程。另外,通过第一网卡330和第二网卡332一起完成对所述固态硬件340的初始化从而使得所述固态硬件340同时适配第一网卡330和第二网卡332,以及所述第一操作描述符基于所述固态硬件340与所述第一网卡330和所述第二网卡332之间的适配,这样意味着可以根据具体的固态硬件340的组合来进行相应的协议拓展,从而可以灵活地应对目标侧320的存储资源状态。
参阅图2和图3,在一种可能的实施方式中,所述数据处理方法还包括:响应于所述发起侧发起数据写请求,通过所述第一网卡向所述第二网卡发起远程直接内存访问写操作从而将所述发起侧的内存所存储的与所述数据写请求相关联的第二数据写入所述目标侧的内存,然后通过所述第一网卡对与所述数据写请求相关联的基于所述远程直接内存访问协议的第二报文进行扩展得到扩展后第二报文,然后通过所述第一网卡将所述扩展后第二报文发送给所述第二网卡,以及通过所述第二网卡基于所述扩展后第二报文驱使所述至少一个固态硬件从所述目标侧的内存获取所述第二数据。其中,所述扩展后第二报文包括第二操作描述符用于指示对所述至少一个固态硬件进行数据写入操作,所述第二操作描述符基于所述至少一个固态硬件与所述第一网卡和所述第二网卡之间的适配。如此,对于发起侧发起的数据写请求,通过所述第一网卡向所述第二网卡发起远程直接内存访问写操作从而将所述发起侧的内存所存储的与所述数据写请求相关联的第二数据写入所述目标侧的内存以及通过所述第二网卡基于所述扩展后第二报文驱使所述至少一个固态硬件从所述目标侧的内存获取所述第二数据,实现了绕过目标侧的中央处理器,也减少了目标侧的内存拷贝和输入输出操作,有利于提高系统性能和效率。另外,结合上述的关于发起侧发起的数据读请求的有关实施例,由发起侧发起的数据读请求和数据写请求,都是基于第一网卡和第二网卡来实现发起侧与目标侧的固态硬件之间的等效直通数据读写,因此有利于节省处理器资源和减少内存拷贝带来的损耗。
在一种可能的实施方式中,至少在所述发起侧发起所述数据读请求或者所述数据写请求之前,所述发起侧注册可访问内存并将所述发起侧的注册结果下发到所述第一网卡。如此,实现了在发起侧预先注册可访问内存,有利于充分利用发起侧的存储资源。
在一种可能的实施方式中,至少在所述目标侧接收到来自所述发起侧的所述数据读请求或者所述数据写请求之前,所述目标侧注册可访问内存并将所述目标侧的注册结果下发到所述第二网卡。如此,实现了在目标侧预先注册可访问内存,有利于充分利用目标侧的存储资源。
在一种可能的实施方式中,所述数据处理方法还包括:响应于所述目标侧的所述至少一个固态硬件的改动,通过所述发起侧的所述第一网卡和所述目标侧的所述第二网卡一起完成对所述目标侧的改动后的固态硬件的初始化从而使得所述目标侧的所述改动后的固态硬件适配所述第一网卡和所述第二网卡。其中,所述至少一个固态硬件的改动包括新增、移除或者替换固态硬件。如此,有利于灵活应对目标侧的固态硬件的改动情况和实际状态。
在一种可能的实施方式中,所述至少一个固态硬件包括满足非易失性内存主机控制器接口规范(Non-Volatile Memory Express,NVMe)的固态硬盘。这里,NVMe是一种用于定义硬件接口和传输协议的规范。NVMe协议可能采用高速串行计算机扩展总线标准(peripheral component interconnect express,PCIE),也可能采用其他标准。基于NVMe协议或者满足NVMe接口规范的固态硬盘如NVMe SSD,建立了多个计算机与存储设备之间的通路用于提升数据搬运效率。应当理解的是,所述至少一个固态硬件还可以包括其他类型的存储介质,或者支持其他的总线标准协议。
在一种可能的实施方式中,所述第一报文和所述第二报文均是基于所述远程直接内存访问协议的协议报文,其中,所述第一操作描述符被添加到所述第一报文从而得到所述扩展后第一报文,所述第二操作描述符被添加到所述第二报文从而得到所述扩展后第二报文。如此,对于发起侧发起的数据读请求对第一报文进行拓展并添加第一操作描述符,对于发起侧发起的数据写请求对第二报文进行拓展并添加第二操作描述符,这样使得发起侧发起的数据读请求和数据写请求均可以耦合到所述远程直接内存访问协议的流程,而且第二网卡通过解析所述扩展后第一报文和所述扩展后第二报文可以获得后续流程操作的参考,进而实现发起侧与目标侧的固态硬件之间的等效直通数据读写。
在一种可能的实施方式中,所述第一报文和所述第二报文均是RoCE v1协议报文或者RoCEv2协议报文。这里,RoCE是融合以太网上远程直接内存访问(RDMA overConverged Ethernet,RoCE),有v1和v2两个版本。应当理解的是,所述第一报文和所述第二报文可以是基于任意的基于所述远程直接内存访问协议的协议报文,只要满足本申请实施例所描述的有关细节和上下文。
在一种可能的实施方式中,所述第一报文和所述扩展后第一报文可用于同一远程直接内存访问流程,所述第二报文和所述扩展后第二报文可用于同一远程直接内存访问流程。如此,第一报文和扩展后第一报文均适用同一流程也就意味着扩展后第一报文可以耦合到原本第一报文的流程。类似地,第二报文和扩展后第二报文均适用同一流程也就意味着扩展后第二报文可以耦合到原本第二报文的流程。
在一种可能的实施方式中,所述第二网卡与所述至少一个固态硬件之间通过访问队列实现数据直通。在一些实施例中,所述第二网卡通过直接写所述至少一个固态硬件的提交队列(submission queue,SQ)来提交工作队列元素(work queue entry,WQE)请求以及敲击所述至少一个固态硬件的提交队列的门铃(doorbell,DB)通知从而向所述至少一个固态硬件发起请求通知。在一些实施例中,所述第二网卡还通过直接写所述第二网卡的完成队列以及敲击所述至少一个固态硬件的完成队列的门铃通知从而向所述至少一个固态硬件发起完成消息。在一些实施例中,所述至少一个固态硬件通过直接写所述第二网卡的提交队列以及敲击所述第二网卡的提交队列的门铃通知从而向所述第二网卡发起请求通知。在一些实施例中,所述至少一个固态硬件通过直接写所述第二网卡的提交队列以及敲击所述第二网卡的提交队列的门铃通知从而向所述第二网卡发起完成消息。如此,通过访问队列、直接写提交队列以及敲击门铃通知的方式,实现了第二网卡与固态硬件之间的交互,进而有利于通过第一网卡和第二网卡实现发起侧与目标侧的固态硬件之间的等效直通数据读写。
在一种可能的实施方式中,所述目标侧绕过所述目标侧的中央处理器来响应所述发起侧所发起的所述数据读请求或者所述数据写请求。如此,有利于降低对目标侧的中央处理器资源的占用。
在一种可能的实施方式中,所述发起侧通过所述第一网卡和所述第二网卡从而绕过所述目标侧的除了所述第二网卡以外的处理器资源实现对所述目标侧的所述至少一个固态硬件的读写操作。如此,有利于降低对目标侧的处理器资源的占用。
图4是本申请实施例提供的一种计算设备的结构示意图,该计算设备400包括:一个或者多个处理器410、通信接口420以及存储器430。所述处理器410、通信接口420以及存储器430通过总线440相互连接。可选地,该计算设备400还可以包括输入/输出接口450,输入/输出接口450连接有输入/输出设备,用于接收用户设置的参数等。该计算设备400能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;处理器410还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备400执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器410用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备400可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口420具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器410具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图4的计算设备400可以包括一个或者多个处理器410,并且多个处理器410可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器410可以构成处理器序列或者处理器阵列,或者多个处理器410之间可以分成主处理器和辅助处理器,或者多个处理器410之间可以具有不同的架构如采用异构计算架构。另外,图4所示的计算设备400,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备400可以包括比图4所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器410可以有多种具体实现形式,例如处理器410可以包括中央处理器(central processingunit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)、张量处理器(tensor processing unit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器410还可以是单核处理器或多核处理器。处理器410可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logicdevice,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器410也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口420可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(localinterconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器430可以是非易失性存储器,例如,只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electricallyEPROM,EEPROM)或闪存。存储器430也可以是易失性存储器,易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledatarate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器430也可用于存储程序代码和数据,以便于处理器410调用存储器430中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备400可能包含相比于图4展示的更多或者更少的组件,或者有不同的组件配置方式。
总线440可以是快捷外围部件互连标准(peripheralcomponent interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherentinterconnect for accelerators,CCIX)等。总线440可以分为地址总线、数据总线、控制总线等。总线440除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行上述方法实施例中的方法步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (17)
1.一种基于远程直接内存访问的数据处理方法,其特征在于,所述数据处理方法包括:
通过发起侧的第一网卡和目标侧的第二网卡一起完成对所述目标侧的至少一个固态硬件的初始化从而使得所述目标侧的所述至少一个固态硬件适配所述第一网卡和所述第二网卡,其中,所述发起侧和所述目标侧属于同一远程直接内存访问网络,所述第一网卡和所述第二网卡均支持与所述同一远程直接内存访问网络相关联的远程直接内存访问协议;
响应于所述发起侧发起数据读请求,通过所述第一网卡对与所述数据读请求相关联的基于所述远程直接内存访问协议的第一报文进行扩展得到扩展后第一报文,然后通过所述第一网卡将所述扩展后第一报文发送给所述第二网卡,以及通过所述第二网卡基于所述扩展后第一报文驱使所述至少一个固态硬件向所述第一网卡发起远程直接内存访问写操作从而不经过所述目标侧的内存将所述至少一个固态硬件所存储的与所述数据读请求相关联的第一数据写入所述发起侧的内存,
其中,所述扩展后第一报文包括第一操作描述符用于指示对所述至少一个固态硬件进行数据读取操作,所述第一操作描述符基于所述至少一个固态硬件与所述第一网卡和所述第二网卡之间的适配,
所述数据处理方法还包括:
响应于所述发起侧发起数据写请求,通过所述第一网卡向所述第二网卡发起远程直接内存访问写操作从而将所述发起侧的内存所存储的与所述数据写请求相关联的第二数据写入所述目标侧的内存,然后通过所述第一网卡对与所述数据写请求相关联的基于所述远程直接内存访问协议的第二报文进行扩展得到扩展后第二报文,然后通过所述第一网卡将所述扩展后第二报文发送给所述第二网卡,以及通过所述第二网卡基于所述扩展后第二报文驱使所述至少一个固态硬件从所述目标侧的内存获取所述第二数据,
其中,所述扩展后第二报文包括第二操作描述符用于指示对所述至少一个固态硬件进行数据写入操作,所述第二操作描述符基于所述至少一个固态硬件与所述第一网卡和所述第二网卡之间的适配。
2.根据权利要求1所述的数据处理方法,其特征在于,至少在所述发起侧发起所述数据读请求或者所述数据写请求之前,所述发起侧注册可访问内存并将所述发起侧的注册结果下发到所述第一网卡。
3.根据权利要求1所述的数据处理方法,其特征在于,至少在所述目标侧接收到来自所述发起侧的所述数据读请求或者所述数据写请求之前,所述目标侧注册可访问内存并将所述目标侧的注册结果下发到所述第二网卡。
4.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:
响应于所述目标侧的所述至少一个固态硬件的改动,通过所述发起侧的所述第一网卡和所述目标侧的所述第二网卡一起完成对所述目标侧的改动后的固态 硬件的初始化从而使得所述目标侧的所述改动后的固态硬件适配所述第一网卡和所述第二网卡,其中,所述至少一个固态硬件的改动包括新增、移除或者替换固态硬件。
5.根据权利要求1所述的数据处理方法,其特征在于,所述至少一个固态硬件包括满足非易失性内存主机控制器接口规范的固态硬盘。
6.根据权利要求1所述的数据处理方法,其特征在于,所述第一报文和所述第二报文均是基于所述远程直接内存访问协议的协议报文,其中,所述第一操作描述符被添加到所述第一报文从而得到所述扩展后第一报文,所述第二操作描述符被添加到所述第二报文从而得到所述扩展后第二报文。
7.根据权利要求6所述的数据处理方法,其特征在于,所述第一报文和所述第二报文均是RoCEv1协议报文或者RoCEv2协议报文。
8.根据权利要求6所述的数据处理方法,其特征在于,所述第一报文和所述扩展后第一报文可用于同一远程直接内存访问流程,所述第二报文和所述扩展后第二报文可用于同一远程直接内存访问流程。
9.根据权利要求1所述的数据处理方法,其特征在于,所述第二网卡与所述至少一个固态硬件之间通过访问队列实现数据直通。
10.根据权利要求9所述的数据处理方法,其特征在于,所述第二网卡通过直接写所述至少一个固态硬件的提交队列来提交工作队列元素请求以及敲击所述至少一个固态硬件的提交队列的门铃通知从而向所述至少一个固态硬件发起请求通知。
11.根据权利要求10所述的数据处理方法,其特征在于,所述第二网卡还通过直接写所述第二网卡的完成队列以及敲击所述至少一个固态硬件的完成队列的门铃通知从而向所述至少一个固态硬件发起完成消息。
12.根据权利要求9所述的数据处理方法,其特征在于,所述至少一个固态硬件通过直接写所述第二网卡的提交队列以及敲击所述第二网卡的提交队列的门铃通知从而向所述第二网卡发起请求通知。
13.根据权利要求12所述的数据处理方法,其特征在于,所述至少一个固态硬件通过直接写所述第二网卡的提交队列以及敲击所述第二网卡的提交队列的门铃通知从而向所述第二网卡发起完成消息。
14.根据权利要求1所述的数据处理方法,其特征在于,所述目标侧绕过所述目标侧的中央处理器来响应所述发起侧所发起的所述数据读请求或者所述数据写请求。
15.根据权利要求1所述的数据处理方法,其特征在于,所述发起侧通过所述第一网卡和所述第二网卡从而绕过所述目标侧的除了所述第二网卡以外的处理器资源实现对所述目标侧的所述至少一个固态硬件的读写操作。
16.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至15中任一项所述的方法。
17.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310090771.3A CN115934623B (zh) | 2023-02-09 | 2023-02-09 | 一种基于远程直接内存访问的数据处理方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310090771.3A CN115934623B (zh) | 2023-02-09 | 2023-02-09 | 一种基于远程直接内存访问的数据处理方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115934623A CN115934623A (zh) | 2023-04-07 |
CN115934623B true CN115934623B (zh) | 2023-05-16 |
Family
ID=85827286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310090771.3A Active CN115934623B (zh) | 2023-02-09 | 2023-02-09 | 一种基于远程直接内存访问的数据处理方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934623B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116361037B (zh) * | 2023-05-18 | 2023-08-18 | 之江实验室 | 一种分布式通信系统及方法 |
CN117527654B (zh) * | 2024-01-05 | 2024-04-09 | 珠海星云智联科技有限公司 | 一种用于网络流量抓包分析的方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688072A (zh) * | 2020-05-19 | 2021-11-23 | 华为技术有限公司 | 数据处理方法及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248467B (zh) * | 2013-05-14 | 2015-10-28 | 中国人民解放军国防科学技术大学 | 基于片内连接管理的rdma通信方法 |
US8949486B1 (en) * | 2013-07-17 | 2015-02-03 | Mellanox Technologies Ltd. | Direct memory access to storage devices |
CN106020731B (zh) * | 2016-05-23 | 2019-07-02 | 中国科学技术大学 | 存储设备、存储设备阵列和网络适配器 |
CN112579311B (zh) * | 2019-09-30 | 2023-11-10 | 华为技术有限公司 | 访问固态硬盘的方法及存储设备 |
-
2023
- 2023-02-09 CN CN202310090771.3A patent/CN115934623B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688072A (zh) * | 2020-05-19 | 2021-11-23 | 华为技术有限公司 | 数据处理方法及设备 |
Non-Patent Citations (1)
Title |
---|
基于新型非易失内存的远程零拷贝文件系统;韩文炳等;国防科技大学学报(第3期);第12-19页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115934623A (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115934623B (zh) | 一种基于远程直接内存访问的数据处理方法、设备及介质 | |
EP3276481B1 (en) | Nvme networked storage implementation method, terminal, server, and system | |
US10642777B2 (en) | System and method for maximizing bandwidth of PCI express peer-to-peer (P2P) connection | |
CN114201421A (zh) | 一种数据流处理方法、存储控制节点及可读存储介质 | |
CN115858103B (zh) | 用于开放堆栈架构虚拟机热迁移的方法、设备及介质 | |
CN115840620B (zh) | 一种数据通路构建方法、设备及介质 | |
CN111262917A (zh) | 一种基于fpga云平台的远端数据搬移装置和方法 | |
CN116049085A (zh) | 一种数据处理系统及方法 | |
CN115202573A (zh) | 数据存储系统以及方法 | |
US20230403232A1 (en) | Data Transmission System and Method, and Related Device | |
WO2023207295A1 (zh) | 数据处理方法、数据处理单元、系统及相关设备 | |
US8041902B2 (en) | Direct memory move of multiple buffers between logical partitions | |
CN116032498A (zh) | 一种内存区域注册方法、装置及设备 | |
EP4053709A1 (en) | Multi-chip interconnection system based on pcie bus | |
CN116340246B (zh) | 用于直接内存访问读取操作的数据预读方法及介质 | |
CN115604198B (zh) | 一种网卡控制器、网卡控制方法、设备及介质 | |
CN113407562A (zh) | 分布式数据库系统的通信方法及装置 | |
CN117573602B (zh) | 用于远程直接内存访问报文发送的方法及计算机设备 | |
CN117527654B (zh) | 一种用于网络流量抓包分析的方法及系统 | |
US10452579B2 (en) | Managing input/output core processing via two different bus protocols using remote direct memory access (RDMA) off-loading processing system | |
CN114124850B (zh) | 一种网络通信方法及装置、存储介质 | |
WO2024041140A1 (zh) | 数据处理方法、加速器及计算设备 | |
CN117724874B (zh) | 用于管理共享接收队列的方法、计算机设备及介质 | |
CN116226027B (zh) | 数据传输系统、方法、装置、通信设备及存储介质 | |
CN117573603B (zh) | 用于远程直接内存访问的数据处理方法及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |