CN114866529A - 基于rdma的通信方法、装置、设备以及存储介质 - Google Patents
基于rdma的通信方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN114866529A CN114866529A CN202210476234.8A CN202210476234A CN114866529A CN 114866529 A CN114866529 A CN 114866529A CN 202210476234 A CN202210476234 A CN 202210476234A CN 114866529 A CN114866529 A CN 114866529A
- Authority
- CN
- China
- Prior art keywords
- group
- connection
- communication
- network card
- pairs
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种基于RDMA的通信方法、装置、设备以及存储介质,所述方法包括:通过将QP连接对分成若干组,使得本地节点在于远端节点建立通信连接时,是以组的形式将一批QP连接对加载至本地节点的网卡上,以此与该组QP连接对对应的远端节点进行通信连接,并且为各组配置指定的通信时段,实现有序的与各组内QP连接对对应的远端节点进行通信连接的效果,起到了防止本地节点的网卡上加载过多的QP连接对导致通信性能大幅下降的问题,实现了本地节点与远端节点高效有序建立通信连接的效果。
Description
技术领域
本公开涉及RDMA技术领域,尤其涉及基于RDMA的通信方法、装置、设备以及存储介质。
背景技术
RDMA(远程直接数据存取Remote Direct Memory Access)是用于解决网络传输中服务器端数据处理的延迟的技术,传统RDMA中的可靠连接模式是可以确保消息由发送端发送至接收端时是可靠交付,并且按发送顺序传递和到达,其中,发送端和接收端均是通过将QP连接对加载至网卡中与接收端建立通信的,因此当与发送端通信的接收端过多时,发送端会受到网卡缓存容量的限制,导致通信性能大幅下降。
发明内容
为克服相关技术中存在的问题,本公开提供了一种基于RDMA的通信方法、装置、设备以及存储介质。
根据本公开实施例的第一方面,提供一种基于RDMA的通信方法,适用于本地节点以RC模式访问远端节点,所述方法包括:
将已创建的QP连接对分成若干组,每个组包含至少一对所述QP连接对;
分别为每个组配置指定的通信时段;
将指定的所述通信时段对应的组内的所述QP连接对加载至所述本地节点的网卡上,以使所述网卡基于已加载的所述QP连接对与所述远端节点建立通信连接。
根据本公开实施例的第二方面,提供一种基于RDMA的通信装置,所述装置包括:
分组模块,用于将已创建的QP连接对分成若干组,每个组包含至少一对所述QP连接对;
配置模块,用于分别为每个组配置指定的通信时段;
加载模块,用于将指定的所述通信时段对应的组内的所述QP连接对加载至所述本地节点的网卡上,以使所述网卡基于已加载的所述QP连接对与所述远端节点建立通信连接。
根据本公开实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如第一方面的方法。
根据本说明书实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面任一项所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例中,通过将QP连接对分成若干组,使得本地节点在与远端节点建立通信连接时,是以组的形式将一批QP连接对加载至本地节点的网卡上,以此与该组QP连接对对应的远端节点进行通信连接,并且为各组配置指定的通信时段,实现有序的与各组内QP连接对对应的远端节点进行通信连接的效果,起到了防止本地节点的网卡上加载过多的QP连接对导致通信性能大幅下降的问题,实现了本地节点与远端节点高效有序建立通信连接的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本公开的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开根据一示例性实施例示出的一种基于RDMA的通信方法的流程图。
图2是本公开根据另一示例性实施例示出的一种基于RDMA的通信方法的流程图。
图3是本公开根据一示例性实施例示出的一使用场景中的网络示意图。
图4为图3使用场景下的一个应用实例的部分流程图。
图5为图3使用场景下的另一个应用实例的部分流程图。
图6是本公开根据一示例性实施例示出的一种基于RDMA的通信装置的结构图。
图7是本公开根据另一示例性实施例示出的一种基于RDMA的通信装置的结构图。
图8是本公开实施例基于RDMA的通信装置所在计算机设备的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
传统技术中RDMA技术的RC(Reliable Connection,可靠连接)模式下,往往是远端节点发送通信连接请求至本地节点,本地节点根据通信连接请求将与该远端节点对应的QP(Queue Pair,队列对)连接对加载至网卡中,通过网卡建立与远端节点的通信连接,其中,QP连接对是存储标识远端节点的一种数据结构,在RC模式下QP连接对是成对存在的,即在远端节点和本地节点上会有对应的QP连接对,本地节点通过QP连接对与远端节点相对应的QP连接对进行通信,即RDMA的通信的基本单元是QP连接对,是通过QP连接对完成通信连接的,而不是以节点作为通信基础,因此本端节点和远端节点均可以存储多个QP连接对建立多个通信连接;QP连接对的建立是通过用户创建的,用户需要预先在本地节点和远端节点添加创建的相对应的QP连接对,才能实现通过QP连接对建立连接的效果;
传统技术中的RC模式通信方法存在以下问题,由于RDMA网卡的缓存容量有限,在与多个远端节点建立通信连接时需要构建大量的QP连接对,而网卡无法存储大量QP连接对,所以网卡是无法加载所有需要建立通信连接的QP连接对,就会使得部分QP连接对被加载至网卡上建立通信连接,而部分QP连接则无法被加载至网卡,造成RDMA操作阻塞,性能下降的问题。本公开实施例提供了解决方案。本公开实施例提供的解决方案中,是将已创建的QP连接对分成若干组。
根据本公开实施例的第一方面,提供一种基于RDMA的通信方法,可以使得本地节点与远端节点高效有序建立通信连接的效果。
图1是本公开根据一示例性实施例示出的一种方法的流程图,如图1所示的一种基于RDMA的通信方法,适用于本地节点以RC模式访问远端节点,所述方法包括:
步骤S101,将已创建的QP连接对分成若干组,每个组包含至少一对所述QP连接对;
步骤S102,分别为每个组配置指定的通信时段;
步骤S103,将指定的所述通信时段对应的组内的所述QP连接对加载至所述本地节点的网卡上,以使所述网卡基于已加载的所述QP连接对与所述远端节点建立通信连接。
对于RDMA而言节点的QP连接对均是存储于该节点的内存上,QP连接对存储于内存的排序方式可以根据需求设置,本实施例中本地节点的QP连接对所存储的内存地址是由低地址到高地址的顺序进行排列,该排列方式在本地节点提取QP连接对加载至网卡的性能会更高,所以该存储方式对于本地节点的性能更为友好。
在步骤S101中,本地节点将已创建的QP连接对分成若干组,该分组过程实则是对QP连接对的内存地址进行分组,例如A地址到B地址为一个组,结合前述QP连接对所存储的内存地址是由低地址到高地址的顺序在本地节点的内存中排列,可以将连续的A地址到B地址分成一个组,所以QP连接对存储地址的顺序排列有利于QP连接对分组的确定,并且每个组中包含至少一对所述QP连接对,保证每个组内均有QP连接对。
传统技术中本地节点切换不同的远端节点进行连接时,通常是接收远端节点的通信连接请求,当网卡缓存容量已满时会将最先加载的QP连接对进行删除,然后加载当前发起通信连接请求的远端节点对应的QP连接对至网卡缓存中进行连接,即一般情况下本地节点的网卡会需要频繁且无序的加载和删除QP连接对,当较多的远端节点发起通信连接请求时,会存在网卡缓存中的QP连接对命中率低,导致性能下降的问题。
在步骤S102中,区别于传统技术,本实施例通过为每个组配置指定的通信时段,为组增加了通信时段的限制,使得每个组都会有预定的通信时段,克服了QP连接对命中率低的问题,即将各组的通信顺序构建一个轮换队列,根据内存地址进行顺序轮换各组加载至网卡上,各组的轮换顺序可以根据需求进行适应式设定,可以但不局限于由本地节点内存的低地址到高地址或者是由高地址到低地址,实现各组内的QP连接对有序的进行轮换的效果。
在步骤S103中,本地节点通过组内的QP连接对与远端节点建立通信连接,通过为每个组配置指定的通信时段后,将指定的通信时段对应的组内的QP连接对加载至本地节点的网卡上,以使网卡基于已加载的QP连接对与远端节点建立通信连接,以此完成本地节点与远端节点建立通信连接的效果,并且在某个时间段内,仅有一个组内的远端节点与本地节点进行通信,通过通信时段进行加载不同组的QP连接对至网卡上,实现了有序的组内QP连接对有序的加载至网卡上,也即实现了远端节点有序的与本地节点建立通信连接的效果。
在一实施例中,将指定的通信时段对应的组内的QP连接对加载至本地节点的网卡上之后,本地节点与远端节点完成建立连接的过程可以包括以下过程:组内的QP连接对加载至网卡之后,本地节点通过网卡中的QP连接对发送连接请求至远端节点,接收远端节点返回的请求响应,完成建立连接。
在一实施例中,分别为每个组配置指定的通信时段的步骤包括:
根据各个组的优先级高低为每个组配置指定的通信时段。
具体地,本实施例中根据各个组的优先级高低为每个组配置指定的通信时段,其中优先级是根据组内QP连接对所对应的所有远端节点的属性信息,例如优先级可以但不限于组内远端节点的类型或接收到通信连接请求数量;通过设置不同的优先级,使得各个组的通信时段可以根据组对应不同的远端节点进行适应式的调整,以实现满足不同组内远端客户端不同需求的效果。
作为例子,优先级的数量可以根据需求进行设置多个,具体数量不做限制。根据优先级高低为每个组配置指定的通信时段,具体的配置方式可以是将优先级越高的组越优先加载到网卡中,也可以是给优先级越高的组配置的通信时段越长等。
以将优先级与配置通信时段的时长关联这种配置方式为例,配置指定的通信时段的过程可以但不限于以优先级作为加权系数进行增减幅或者是优先级作为附加参数进行增加幅等方式均可;
在一实施例中以优先级作为加权系数进行增减幅通信时段举例说明,首先为每个组建立一个基础通信时间,该基础通信时间可以根据常规通信时间进行设置,然后,再加入优先级作为判断参数,例如基础时间为t0,并确定1~L个优先级,对于第i个优先级的群组,其组的通信时段为t0*pow(2,i),其中pow为预设函数,2为数值参数,作为例子,预设函数为指数函数,此时通信时段表达为t0*2i,其中各类数值参数和预设函数可以根据需求进行设置,预设函数还可以为线性函数,通信时段表达为t0*(2*i)、t0*(1/2*i)等;以此实现优先级作为加权系数进行增减幅通信时段的效果。
在一实施例中根据各个组的优先级高低为每个组配置指定的通信时段的步骤包括:
基于每个组中接收到远端节点的通信连接请求的数量确定所述组的优先级;其中,优先级高的组对应的通信时段长于优先级低的组对应的通信时段。
具体地,本实施例以优先级为远端节点的通信连接请求的数量为例进行说明,首先为每个组建立一个基础通信时间t0,接着获取各组中QP连接对所对应的各远端节点发出的通信连接请求的数量r,再将各组的数量r进行排序,通信连接请求数量r最多的组的通信时段给予一个激励时间增加量a,请求个数r最少的群组的通信时间段给予相应惩罚,减去一个时间量a,即组的通信时段为t0±a。本实施例中是实现将优先级作为附加参数进行增加幅通信时段的效果。
图2是本公开根据另一示例性实施例示出的一种方法的流程图,如图2所示,步骤S201,当前所述组的通信时段过期时,删除所述网卡上加载的所述组内的所述QP连接对;
步骤S202,将下一通信时段对应的所述组内的所述QP连接对加载至所述本地节点的网卡上。
具体地,本实施例中在当前组的通信时段过期时,删除网卡上加载的组内的QP连接对;由于网卡的缓存容量有限,因此在当前组的通信时段过期时,首先需要删除网卡上加载的当前组的QP连接对,以此释放网卡的缓存容量,使得网卡的缓存区间可以加载下一通信时段对应的组内的QP连接对,接着再将下一通信时段对应的组内的QP连接对加载至本地节点的网卡上,实现本地节点切换不同的远端节点连接的效果。
在一实施例中,将已创建的QP连接对分成若干组的步骤包括:
将已创建的QP连接对基于预设值分成若干组,所述预设值根据所述网卡的缓存容量设定。
具体地,本实施例中需要对本地节点以创建的QP连接对分成若干组,则需要对组的数量或者是每组内QP连接对的数量进行限定,结合具体使用情况,是将一组QP连接对加载至网卡缓存中的,而网卡缓存容量是有限的,因此需要对每次加载的QP连接对的数量进行限制,防止QP连接对的数量超过网卡缓存容量;例如,已有的C个QP连接对,预设值为n,即网卡的缓存容量设定为加载n个QP连接对,此时则将C个QP连接对分成若干个包含n或n-1个QP连接对的组,其中,实际使用的过程中C往往无法被n整除,因此通过将组的QP连接对数量固定于n或n-1个,使得个组之间的QP连接对数量较为接近,有利于后续为每个组配置指定的通信时段时,防止了出现QP连接对具有n和1差距较大的组,可以配置长度较为接近的通信时段,有利于控制各组对应的远端节点的通信连接时间较为接近;
进一步地,将已创建的QP连接对基于预设值分成若干组中的预设值可以是与网卡实际最大容量相对应或者是网卡性能最佳容量相对应,例如网卡的最大容量为能够加载m个QP连接件,此时将预设值设为m则能够充分利用网卡的容量并且加快与远端节点通信连接的轮换;但是不同类型的网卡性能特点不一样,例如有些网卡在满载时工作性能会受到限制,导致与远端节点的通信性能下降时,若还以m作为预设值的话,会导致在加载各组的QP连接对时均存在性能下降的问题,因此此时需要将预设值设置为网卡性能最佳容量对应,其中各网卡性能最佳容量可以与网卡型号类型进行查询,或者是通过实验测试进行获取,确定该网卡性能最佳容量所对应的QP连接对为多少,进而将其设为预设值;以此使得每个组加载至网卡上后,均能充分利用网卡性能,实现了与远端节点进行高效有序通信的效果。
RDMA具体运用时,往往会出现增加或者删除远端客户端进行关联的情况,对于传统技术而言,增加或者删除远端客户端进行关联时仅仅是对QP连接对的增加或者删除,而本公开的方法,需要对增加或者删除远端客户端的QP连接对进行添加至组中或者是从组中进行删除,以确保每个远端客户端的QP连接对均能处于组中。
在一实施例中,将已创建的QP连接对分成若干组之后,还包括:
当为新的远端节点创建新的QP连接对时,将所述新的QP连接对添加到将所述QP连接对小于所述预设值的组内。
具体地,本实施例中为本地节点增加远端节点进行关联的情况下,首先为新的远端节点创建新的QP连接对,接着将新的QP连接对添加到将QP连接对小于所述预设值的组内;结合上述的各实施例的内容,可知优选的QP对连接数量为n或者n-1,其中n为组内优选的QP对连接数量,因此为了保持各组的QP连接对数量不超过预设值,则将新的QP连接对添加到将QP连接对小于预设值n的组内,即添加至QP连接地为n-1的组内,以此使得各组的QP连接对均在预设值内;
进一步地,在新的QP连接对添加到组内后,由于添加新的QP连接对后该组内的QP连接对总数增加了,若持续使用之前配置的通信时段则会使得组内的通信时间紧张,可能出现部分远端节点无法完成预设的通信,因此需要对该组的通信时段进行重新配置,具体配置可以根据实际需求进行配置,以一种配置进行举例,该组在添加新的QP连接对时通信时段为t,内有n个QP连接对,增加新的QP连接对后,可以增加t/n的时间,即该组重新配置的通信时段为t+t/n。
在一些实施例中,包括:如果不存在所述QP连接对小于所述预设值的组,则创建新的组,将所述新的QP连接对分配到所述新的组。
具体地,本实施例中结合上述实施例的内容可知,当创建新的QP连接对时需要将该新的QP连接对,添加至QP连接对小于预设值的组内,若所有的组内的QP连接均为预设值,此时则不存在QP连接对小于预设值的组,新的QP连接对则没有可以添加的组,此时则创建新的组,将新的QP连接对分配到所述新的组中,接着为新的组配置指定的通信时段,网卡的加载轮换队列,进行轮换。
进一步地,若需要将某些远端节点进行删除关联时,则需要删除对应的QP连接对,删除QP连接对后为了防止该组占用多余的通信时间导致降低本地节点的整体通信效率,需要对该组的通信时段进行重新配置,缩减该组的通信时段,具体配置可以根据实际需求进行配置,以一种配置进行举例,该组在删除某个QP连接对前的通信时段为t,内有n个QP连接对,删除QP连接对后,可以减少t/n的时间,即该组重新配置的通信时段为t-t/n,以此使得组的通信时段可以时刻贴合于该组内QP连接对的数量,实现了本地节点高效通信的效果;
进一步地,当某组内的QP连接对被全部删除时,则会将该组进行销毁,本地节点进行回收资源。
图3是本公开根据一示例性实施例示出的一使用场景中的网络示意图,图4为该使用场景下的一个应用实例的部分流程图,图5为该使用场景下的另一个应用实例的部分流程图;
结合图3、图4和图5,具体实施时,以本地节点与10个远端节点通信连接作为例子说明:
首先,在S401中,在本地节点与远端节点中创建相互对应的QP连接对,即本地节点需要创建10个与各个远端节点对应QP连接对,其中QP连接对存储于本地节点的内存中,并且是由低地址到高地址顺序排列;远端节点仅需创建一个于本地节点对应的QP连接对;
接着,在S402中,本地节点对10个QP连接对分成若干组,对QP连接对进行分组前,需要确定本地节点网卡的缓存容量,若本地节点的缓存容量能同时加载3个QP连接对,则将QP连接对分为4组,分别包括3、3、2、2个QP连接对的A、B、C、D四个组;
然后,在S403中,为四个QP连接对配置指定通信时段,包括3个QP连接对的A、B组配置的通信时段为0.3秒,为2个QP连接对的C、D组配置的通信时段为0.2秒;
最后,在S404中,将根据组的内存地址顺序轮换的各个组加载至本地节点的网卡中,即按照A、B、C、D的顺序进行依次加载。
网卡基于已加载的所述QP连接对与远端节点建立通信连接。
在此过程中,若本地节点接收到第11个远端节点的连接请求时:
在S405中,根据第11个远端节点的连接请求确定第11个远端节点是否建立QP连接对。
其中,若第11个远端节点成功建立QP连接对时,会发送返还信号至本地节点,本地节点根据是否接收到该返还信号,作为判断第11个远端节点是否建立QP连接对的标准;除此之外本地节点通过其他方式实现判断第11个远端节点是否建立QP连接对均可。
在S406中,如果第11个远端节点已建立对应的QP连接对,则完成第11个远端节点与本地节点的关联。
在S407中,如果第11个远端节点未建立对应的QP连接对,则在第11个远端节点创建对应的QP连接对,完成第11个远端节点与本地节点的关联。
在S408中,在本地节点中创建第11个远端节点对应的第11个QP连接对,然后本地节点确定QP连接对小于3的组,其中有C组和D组,由于C组的内存地址为低地址,所以将第11个QP连接对添加至C组中,此时调整C组的通信时段,将C组的通信时段重新配置为0.3秒,本地节点网卡加载各组的轮换顺序不变。
图6是本公开根据一示例性实施例示出的一种基于RDMA的通信装置的结构图。
根据本公开实施例的第二方面,如图6,提供了一种基于RDMA的通信装置,所述装置包括:
分组模块310,用于将已创建的QP连接对分成若干组,每个组包含至少一对所述QP连接对;
配置模块320,用于分别为每个组配置指定的通信时段;
加载模块330,用于将指定的所述通信时段对应的组内的所述QP连接对加载至所述本地节点的网卡上,以使所述网卡基于已加载的所述QP连接对与所述远端节点建立通信连接。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
在一实施例中,配置模块320,还用于根据各个组的优先级高低为每个组配置指定的通信时段。
在一实施例中,配置模块320,用于基于每个组中接收到远端节点的通信连接请求的数量确定所述组的优先级;其中,优先级高的组对应的通信时段长于优先级低的组对应的通信时段。
图7是本公开根据另一示例性实施例示出的一种基于RDMA的通信装置的结构图;
如图7所示,在一实施例中,还包括轮换模块340,用于在当前所述组的通信时段过期时,删除所述网卡上加载的所述组内的所述QP连接对;
将下一通信时段对应的所述组内的所述QP连接对加载至所述本地节点的网卡上。
在一实施例中,分组模块310,用于将已创建的QP连接对基于预设值分成若干组,所述预设值根据所述网卡的缓存容量设定。
在一实施例中,分组模块310,还用于当为新的远端节点创建新的QP连接对时,将所述新的QP连接对添加到将所述QP连接对小于所述预设值的组内。
在一实施例中,分组模块310,还用于如果不存在所述QP连接对小于所述预设值的组,则创建新的组,将所述新的QP连接对分配到所述新的组。
在一实施例中以优先级作为加权系数进行增减幅通信时段举例说明,首先为每个组建立一个基础通信时间,该基础通信时间可以根据常规通信时间进行设置,然后,再加入优先级作为判断参数,例如基础时间为t0,并确定1~L个优先级,对于第i个优先级的群组,其组的通信时段为t0*pow(2,i),其中各类数值参数可以根据需求进行设置,以此实现优先级作为加权系数进行增减幅通信时段的效果。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
根据本公开实施例的第三方面,还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如前述第一方面的方法。
本公开基于RDMA的通信装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本公开实施例基于RDMA的通信装置所在计算机设备的一种硬件结构图,除了图8所示的处理器810、内存830、网络接口820、以及非易失性存储器840之外,实施例中基于RDMA的通信装置831所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
根据本公开实施例的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面任一项所述的方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本公开实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例各个实施例或者实施例的某些部分所述的方法。
上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (10)
1.一种基于RDMA的通信方法,适用于本地节点以RC模式访问远端节点,所述方法包括:
将已创建的QP连接对分成若干组,每个组包含至少一对所述QP连接对;
分别为每个组配置指定的通信时段;
将指定的所述通信时段对应的组内的所述QP连接对加载至所述本地节点的网卡上,以使所述网卡基于已加载的所述QP连接对与所述远端节点建立通信连接。
2.根据权利要求1所述的方法,分别为每个组配置指定的通信时段的步骤包括:
根据各个组的优先级高低为每个组配置指定的通信时段。
3.根据权利要求2所述的方法,根据各个组的优先级高低为每个组配置指定的通信时段的步骤包括:
基于每个组中接收到远端节点的通信连接请求的数量确定所述组的优先级;其中,优先级高的组对应的通信时段长于优先级低的组对应的通信时段。
4.根据权利要求1所述的方法,所述方法包括:
当前所述组的通信时段过期时,删除所述网卡上加载的所述组内的所述QP连接对;
将下一通信时段对应的所述组内的所述QP连接对加载至所述本地节点的网卡上。
5.根据权利要求1所述的方法,将已创建的QP连接对分成若干组的步骤包括:
将已创建的QP连接对基于预设值分成若干组,所述预设值根据所述网卡的缓存容量设定。
6.根据权利要求5所述的方法,将已创建的QP连接对分成若干组之后,还包括:
当为新的远端节点创建新的QP连接对时,将所述新的QP连接对添加到将所述QP连接对小于所述预设值的组内。
7.根据权利要求6所述的方法,包括:如果不存在所述QP连接对小于所述预设值的组,则创建新的组,将所述新的QP连接对分配到所述新的组。
8.一种基于RDMA的通信装置,所述装置包括:
分组模块,用于将已创建的QP连接对分成若干组,每个组包含至少一对所述QP连接对;
配置模块,用于分别为每个组配置指定的通信时段;
加载模块,用于将指定的所述通信时段对应的组内的所述QP连接对加载至本地节点的网卡上,以使所述网卡基于已加载的所述QP连接对与远端节点建立通信连接。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求任意1-7的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210476234.8A CN114866529A (zh) | 2022-04-29 | 2022-04-29 | 基于rdma的通信方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210476234.8A CN114866529A (zh) | 2022-04-29 | 2022-04-29 | 基于rdma的通信方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114866529A true CN114866529A (zh) | 2022-08-05 |
Family
ID=82635632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210476234.8A Pending CN114866529A (zh) | 2022-04-29 | 2022-04-29 | 基于rdma的通信方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114866529A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314442A (zh) * | 2022-08-08 | 2022-11-08 | 北京云脉芯联科技有限公司 | 拥塞控制和基于Group的限速限窗装置及方法、限速限窗方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126509A1 (en) * | 2006-11-06 | 2008-05-29 | Viswanath Subramanian | Rdma qp simplex switchless connection |
US20090073978A1 (en) * | 2007-09-14 | 2009-03-19 | International Business Machines Corporation | Low Latency Multicast for InfinibandR Host Channel Adapters |
US20170034268A1 (en) * | 2015-07-31 | 2017-02-02 | Netapp, Inc. | Systems, methods and devices for rdma read/write operations |
CN107579929A (zh) * | 2017-09-18 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种可靠连接通信队列对的设置方法、***及相关装置 |
CN109885393A (zh) * | 2019-01-10 | 2019-06-14 | 华为技术有限公司 | 读写请求处理方法、装置、电子设备以及存储介质 |
CN110869919A (zh) * | 2017-07-12 | 2020-03-06 | 国际商业机器公司 | 用于远程节点发现、通信信道确认和连接的方法 |
-
2022
- 2022-04-29 CN CN202210476234.8A patent/CN114866529A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126509A1 (en) * | 2006-11-06 | 2008-05-29 | Viswanath Subramanian | Rdma qp simplex switchless connection |
US20090073978A1 (en) * | 2007-09-14 | 2009-03-19 | International Business Machines Corporation | Low Latency Multicast for InfinibandR Host Channel Adapters |
US20170034268A1 (en) * | 2015-07-31 | 2017-02-02 | Netapp, Inc. | Systems, methods and devices for rdma read/write operations |
CN110869919A (zh) * | 2017-07-12 | 2020-03-06 | 国际商业机器公司 | 用于远程节点发现、通信信道确认和连接的方法 |
CN107579929A (zh) * | 2017-09-18 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种可靠连接通信队列对的设置方法、***及相关装置 |
CN109885393A (zh) * | 2019-01-10 | 2019-06-14 | 华为技术有限公司 | 读写请求处理方法、装置、电子设备以及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314442A (zh) * | 2022-08-08 | 2022-11-08 | 北京云脉芯联科技有限公司 | 拥塞控制和基于Group的限速限窗装置及方法、限速限窗方法 |
CN115314442B (zh) * | 2022-08-08 | 2023-09-12 | 北京云脉芯联科技有限公司 | 拥塞控制和基于Group的限速限窗装置及方法、限速限窗方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105242983B (zh) | 一种数据存储方法以及一种数据存储管理服务器 | |
CN110365748A (zh) | 业务数据的处理方法和装置、存储介质及电子装置 | |
CN110321225B (zh) | 负载均衡方法、元数据服务器及计算机可读存储介质 | |
CN105468302B (zh) | 一种处理数据的方法、装置及*** | |
CN103795569A (zh) | 一种基于连接池的服务器连接方法和装置 | |
CN111181873B (zh) | 数据发送方法、装置、存储介质和电子设备 | |
CN110244901B (zh) | 任务分配方法及装置、分布式存储*** | |
CN111831232A (zh) | 数据的存储方法及装置、存储介质和电子装置 | |
CN104426694A (zh) | 一种调整虚拟机资源的方法和装置 | |
CN106878197A (zh) | 一种云平台消息传输的管理***及方法 | |
CN103955436A (zh) | 一种数据处理装置和终端 | |
CN109309603A (zh) | 一种动态的负载均衡分配方法及装置 | |
CN109086136A (zh) | 一种Samba软件的请求处理方法及相关装置 | |
CN106790552A (zh) | 一种基于内容分发网络的内容提供*** | |
CN114866529A (zh) | 基于rdma的通信方法、装置、设备以及存储介质 | |
CN110515728B (zh) | 服务器调度方法、装置、电子设备及机器可读存储介质 | |
CN107294865B (zh) | 一种软件交换机的负载均衡方法及软件交换机 | |
CN109361749B (zh) | 报文处理方法、相关设备及计算机存储介质 | |
CN107977269A (zh) | 一种报文转发***中的超时事件处理方法、装置及设备 | |
CN110868323A (zh) | 一种带宽控制方法、装置、设备及介质 | |
CN105430028A (zh) | 服务调用方法、提供方法及节点 | |
CN113347238A (zh) | 基于区块链的消息分区方法及***、设备、存储介质 | |
CN108712494A (zh) | 处理异步消息的方法、装置及设备 | |
CN107911239A (zh) | 一种网卡绑定模式管理方法及装置 | |
CN105162837B (zh) | 海量数据存储环境下提升i/o吞吐率的方法及*** |
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 |