技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于PCIe的RDMA连接管理方法与流程  >  正文

一种基于PCIe的RDMA连接管理方法与流程

  • 国知局
  • 2025-01-10 13:25:47

本发明涉及一种基于pcie的rdma连接管理方法,属于pcie芯片通信连接。

背景技术:

1、随着云计算,大数据和人工智能的快速发展,rdma技术也得到了广泛使用,越来越多的应用享受到了rdma技术带来的高吞吐,低时延能力。

2、基于ntb的rdma技术作为一种新技术,能够仅通过pcie就能实现rdma通信,相比于传统的roce/infiniband能够提供更低的时延和更高的带宽。

3、连接管理(cm)作为rdma网络中构建新的rdma连接的一种工具,它向应用提供了一套标准的cm api,通过此api能够减少用户的开发工作,减少系统的复杂性。随着nt rdma网络的构建(如图1所示,在ib传输层之下,通过pcie实现了ib传输层之下的所有功能),随之而来的对于nt rdma的连接管理有了需求。

4、cm所在系统软件栈的位置如图1所示:cm作为mad组件的一个应用,通过mad模块发送和接收连接相关的消息,而mad构建在ib传输层之上,通过ib传输层收发:当用户需要创建新qp时,调用cm api,通信两端的cm组件会通过一系列的信息交互,从而在两端建立新的通信qp。当用户需要释放qp时,通过调用cm通知对端(仅rc qp),完成qp的释放。

5、当前roce rdma网卡一般会通过ethernet网卡的方式来支持cm,这样需要在系统中增加网卡,所以一般会在roce rdma nic会扩展一个ethernet网卡,从而用一张卡就可以完成rdma+ cm + ethernet网卡功能。

6、当ib传输层之下的协议例如ethernet/ip变为pcie后,即rdma over pcie(ntbrdma),将ib传输层构建在pcie层之上,如图1所示。由于通信的两端一般是点对点直连,所以无需路由转发等信息,无需ethernet/ip等网络层。

7、roce rdma设备一般会依赖于ethernet net device构建gid信息,依赖于内核网络模块的路由信息查找rdma设备,创建ah信息等,而roce cm基于mad(使用gsi类型qp,qpn为1,使用不可靠数据报),在发起连接请求、处理请求时也需要这些信息。

8、通过图1,可以看到基于ntb rdma仅仅实现了ib传输层,并没有ip/udp头(rocev2)、ib grh(rocev1)等字段,这样就会造成想要在使用已有的ib软件栈而不做改动的情况下,会无法支持ud类型的qp(系统ib软件栈中需要通过ip头或者ib grh字段获取数据的源端信息)。

9、由于无法支持ud类型qp,则无法直接通过已有的roce cm处理流程来建立新的qp连接(无法使用ud类型的qp):发送端无法通过应用传入的主机信息解析并找到对应的rdma网卡以及port;而接收端无法通过接收到的cm的信息解析出对应使用哪张rdma网卡的哪个port,从而无法完成建连过程。

10、同时,由于在linux内核nt rdma的ib软件栈中缺少net device作为nt rdma 网卡port的信息,就会出现两端都无法通过gid找到nt rdma设备的问题。

11、基于此,提出本发明。

技术实现思路

1、本发明提供了一种基于pcie的rdma连接管理方法,能够解决在ntb rdma网络中不支持ud类型qp的问题,能够解决在ntb rdma网络中不支持连接管理的问题,具体技术方案如下:

2、第一方面,一种基于pcie的rdma连接管理方法,包括以下步骤:

3、两台主机通过ntb设备互联,构建nt rdma网络;

4、主机基于各自的nt ep,分别构建自己net device和ib device;

5、为nt rdma网络的ib传输层扩展ip头或者ib grh头,作为ud类型qp的通信基础信息;nt rdma网络还需要扩展ip头,通过对deth进行扩展增加deth_network相关信息;

6、通过roce的cm构建nt rdma网络的连接管理。

7、更进一步的改进,nt ep在主机侧的驱动通过向内核注册两个设备,分别为netdevice和ib device;在向内核注册ib device时,将其注册为roce v2类型的rdma设备;在注册时指定当前nt的net device作为此rdma网卡的net device;

8、当ud类型的请求端qp要向响应端qp发送数据时,将请求以及ah相关的信息填充在wr中,然后将wr加入到sq中,nt rdma硬件或者模拟软件从sq中取出这个sqe,即为一个wr,会按照传入的参数封装ib头;如果qp类型是ud,在bth的基础上扩展deth头以及deth的deth_network结构,然后根据wr中的rqp信息填充bth,根据sqp、rkey信息填充deth,将ah对应的信息填充到deth_network中,之后继续使用wr的数据描述信息填充payload,完成信息填充后,将整个ib报文通过pcie链路发送出去;

9、当响应端qp通过pcie链路接收到整个ib报文后,通过检查opcode是ud类型qp的报文,之后除了检查bth头的正确性以及deth头信息外,还会解析deth_network信息并将解析结果连同payload一同复制到rqe中,并使用bth/deth/deth_network中的信息更新cqe中的wc,然后触发软件轮询cq,完成数据的接收。

10、第一方面,cm是mad的一个应用,mad在内核态使用gsi类型的qp,其qpn为1;将ib设备注册为rocev2设备且支持cm,使用roce cm构建新qp时使用mad的qp收发报文过程如下:

11、app1发起连接请求时,通过rdma提供的api访问到内核cm模块;

12、内核cm模块请求封装成cm协议的格式,然后将数据传递给mad模块;

13、mad模块对cm协议封装的请求再封装成mad协议的结构,然后根据这个结构的信息封装成wr,添加在sq中;

14、sq处理这个wr,最终通过pcie链路发送到对端;

15、接收端接收到这个连接请求后,对数据进行解析,然后根据qpn知道数据交给mad处理;

16、mad对数据进行解析,解析结果是有内核cm模块完成进一步的处理;

17、内核cm模块接收到数据后,解析并通知app2有新的连接请求;

18、app2接收到新的连接请求后,会响应这个新的连接请求,按照发送端相反的方向对连接进行确认或者拒绝。

19、本发明的有益效果:

20、本发明在不改动已有ib、mad、cm软件栈的情况下上,能够使nt rdma网卡支持ud类型qp,支持连接管理功能。

技术特征:

1.一种基于pcie的rdma连接管理方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于pcie的rdma连接管理方法,其特征在于:nt ep在主机侧的驱动通过向内核注册两个设备,分别为net device和ib device;在向内核注册ibdevice时,将其注册为roce v2类型的rdma设备;在注册时指定当前nt的net device作为此rdma网卡的net device;

技术总结本发明属于PCIe芯片通信连接领域,涉及一种基于PCIe的RDMA连接管理方法,其利用两台主机通过NTB设备互联,构建NT RDMA网络;主机基于各自的NT EP,分别构建自己net device和IB device;为NT RDMA网络的IB传输层扩展IP头或者IB GRH头,作为UD类型QP的通信基础信息;NT RDMA网络还需要扩展IP头,通过对DETH进行扩展增加DETH_NETWORK相关信息;通过RoCE的CM构建NT RDMA网络的连接管理。本发明在不改动已有IB、MAD、CM软件栈的情况下上,能够使NT RDMA网卡支持UD类型QP,支持连接管理功能。技术研发人员:王宝立,徐木水,汪木金受保护的技术使用者:北京数渡信息科技有限公司技术研发日:技术公布日:2025/1/6

本文地址:https://www.jishuxx.com/zhuanli/20250110/353081.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。