RDMA通信负载均衡方法及系统

文档序号:37861901发布日期:2024-05-07 19:39阅读:22来源:国知局
RDMA通信负载均衡方法及系统

本申请涉及通信领域,尤其涉及一种rdma通信负载均衡方法及系统。


背景技术:

1、数据中心的应用程序日益增长的需求推动着高速网络的发展,需要网络提供高吞吐,低时延和低cpu开销。例如,分布式机器学习训练业务需要100gbps及以上的带宽;websearch对延迟要求高,要求查询的响应时间最小化。remote direct memoryaccess(rdma)允许主机通过内核旁路直接在内存中交换数据,并且将网络i/o功能卸载到专用网卡(rnic)上以减少cpu开销。rdma在低cpu开销下提供了高吞吐(100/400gbps)和超低延迟(~1us)。正因为这些优势,现代数据中心网络广泛使用rocev2(rdmaon convergedethernetversion 2),由此来实现数据中心的高性能。现有的rdma都是基于连接的单路径传输,即rdma建立连接后,该流只通过一条固定路径进行传输。然而,现代的数据中心拓扑通常被设计为可扩展的,即在任意两个服务器机架之间都有多条端到端路径。现有的rdma这种单路径的传输不光对路径故障敏感,而且难以充分利用现代数据中心中的多条路径。例如,在分布式深度学习应用中,rdma传输不能充分的利用网络的链路资源。因此,为了最大限度的利用网络中的链路资源,需要一个针对rdma的负载均衡策略。

2、现有的针对rdma的负载均衡方法,要么是基于定制网卡,与现有的数据中心中的网卡不兼容,难以大规模部署,即普适性差;要么是利用了sdn控制器,需要预先对端侧进行网卡虚拟化配置,当路径出现更换时需要全部重新配置,流程较为繁杂,即复杂度高,进而导致通信效率差。


技术实现思路

1、鉴于此,本申请实施例提供了一种rdma通信负载均衡方法及系统,以消除或改善现有技术中存在的一个或更多个缺陷。

2、本申请的第一个方面提供了一种由源交换机执行的rdma通信负载均衡方法,该方法包括:

3、分别接收发送端发送的目标rdma流量对应的各个子rdma流量;其中,各个所述子rdma流量预先由发送端中的rnic中预设的分割模块对所述目标rdma流量进行分割后得到;

4、基于预设在本地的拥塞路径表确定各个所述子rdma流量中的头部数据包的目标传输路径;

5、基于所述目标传输路径将各个所述子rdma流量发送至目标交换机。

6、在本申请的一些实施例中,所述子rdma流量由所述分割模块将所述目标rdma流量对应的目标工作队列元素切分成多个子工作队列元素,将各个所述子工作队列元素通过各自对应的qp传输至所述rnic得到。

7、在本申请的一些实施例中,所述基于预设在本地的拥塞路径表确定各个所述子rdma流量中的头部数据包的目标传输路径,包括:

8、基于哈希算法计算所述头部数据包的第一哈希值,并基于该第一哈希值确定当前传输路径;基于所述拥塞路径表判断当前传输路径是否拥塞,若是,则基于所述哈希算法计算所述第一哈希值的第二哈希值,并基于该第二哈希值更新当前传输路径,直至当前传输路径不拥塞,则将当前传输路径作为所述目标传输路径。

9、在本申请的一些实施例中,还包括:

10、接收由目标交换机发送的第一拥塞数据包;

11、将所述第一拥塞数据包关联的多个传输路径均标记为拥塞,并将标记后的各个传输路径存入所述拥塞路径表。

12、在本申请的一些实施例中,还包括:

13、设置所述拥塞路径表中的各个拥塞路径的预设持续时间;

14、在所述拥塞路径的预设持续时间内,若再次收到由所述目标交换机发送的第二拥塞数据包时且该第二拥塞数据包关联该拥塞路径,则重置该拥塞路径对应的预设持续时间。

15、本申请的第二个方面提供了一种由目标交换机执行的rdma通信负载均衡方法,该方法包括:

16、接收由源交换机基于目标传输路径发送的各个子rdma流量;其中,所述目标传输路径由所述源交换机基于预设在本地的拥塞路径表确定各个所述子rdma流量中的头部数据包得到;各个所述子rdma流量预先由发送端中的rnic中预设的分割模块对所述目标rdma流量进行分割后得到,并由所述发送端发送至所述源交换机。

17、在本申请的一些实施例中,若所述子rdma流量中的数据包携带路径拥塞标记,则发送拥塞数据包至源交换机。

18、本申请的第三个方面提供了一种rdma通信负载均衡系统,该系统包括:有线连接的源交换机和目标交换机;

19、所述源交换机,用于执行第一方面所述的rdma通信负载均衡方法;

20、所述目标交换机,用于执行第二方面所述的rdma通信负载均衡方法。

21、本申请的第四个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述的第一方面所述的rdma通信负载均衡方法或第二方面所述的rdma通信负载均衡方法。

22、本申请的第五个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述的第一方面所述的rdma通信负载均衡方法或第二方面所述的rdma通信负载均衡方法。

23、本申请提供一种rdma通信负载均衡方法及系统,所述方法包括:分别接收发送端发送的目标rdma流量对应的各个子rdma流量;其中,各个所述子rdma流量预先由发送端中的rnic中预设的分割模块对所述目标rdma流量进行分割后得到;基于预设在本地的拥塞路径表确定各个所述子rdma流量中的头部数据包的目标传输路径;基于所述目标传输路径将各个所述子rdma流量发送至目标交换机。本申请能够有效提高rdma通信负载均衡的普适性,以及要有效降低rdma通信负载均衡的复杂度,进而有效提升通信效率。

24、本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。

25、本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。



技术特征:

1.一种rdma通信负载均衡方法,其特征在于,包括:

2.根据权利要求1所述的rdma通信负载均衡方法,其特征在于,所述子rdma流量由所述分割模块将所述目标rdma流量对应的目标工作队列元素切分成多个子工作队列元素,将各个所述子工作队列元素通过各自对应的qp传输至所述rnic得到。

3.根据权利要求1所述的rdma通信负载均衡方法,其特征在于,所述基于预设在本地的拥塞路径表确定各个所述子rdma流量中的头部数据包的目标传输路径,包括:

4.根据权利要求1所述的rdma通信负载均衡方法,其特征在于,还包括:

5.根据权利要求4所述的rdma通信负载均衡方法,其特征在于,还包括:

6.一种rdma通信负载均衡方法,其特征在于,包括:

7.根据权利要求1所述的rdma通信负载均衡方法,其特征在于,若所述子rdma流量中的数据包携带路径拥塞标记,则发送拥塞数据包至源交换机。

8.一种rdma通信负载均衡系统,其特征在于,包括:有线连接的源交换机和目标交换机;

9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的rdma通信负载均衡方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的rdma通信负载均衡方法。


技术总结
本申请提供一种RDMA通信负载均衡方法及系统,所述方法包括:分别接收发送端发送的目标RDMA流量对应的各个子RDMA流量;其中,各个所述子RDMA流量预先由发送端中的RNIC中预设的分割模块对所述目标RDMA流量进行分割后得到;基于预设在本地的拥塞路径表确定各个所述子RDMA流量中的头部数据包的目标传输路径;基于所述目标传输路径将各个所述子RDMA流量发送至目标交换机。本申请能够有效提高RDMA通信负载均衡的普适性,以及要有效降低RDMA通信负载均衡的复杂度,进而有效提升通信效率。

技术研发人员:张娇,罗惠民,潘永琛,于铭轩,唐琴琴,黄韬
受保护的技术使用者:北京邮电大学
技术研发日:
技术公布日:2024/5/6
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1