InfiniBand与RoCEv2负载均衡机制的技术梳理与优化实践

发布于:2025-04-18 ⋅ 阅读:(25) ⋅ 点赞:(0)

AI技术的高速迭代正驱动全球算力格局进入全新纪元。据IDC预测,未来五年中国智能算力规模将以超50%的年复合增长率爆发式扩张,数据中心全面迈入“智能算力时代”。然而,海量AI训练、实时推理等高并发场景对底层网络提出了更严苛的挑战——超大规模组网、超高带宽吞吐、超低时延传输及极致可靠性缺一不可。

当前,主流数据中心多采用Spine-Leaf等规整拓扑架构,其多路径并行特性虽为负载均衡提供了基础,但传统路由方案已难以匹配AI算力的“大象流”需求。以ECMP(等价多路径路由)为例,其基于数据包哈希的流量分配机制在常规场景下表现稳定,但在AI/HPC(高性能计算)等高吞吐任务中,GPU集群间的极简通信模型与单流超大数据量特性,极易引发链路负载严重不均。一旦关键路径拥塞,将直接导致网络丢包,拖慢AI任务效率甚至造成资源浪费。企业亟需更智能的动态调度方案破局。

网络中的拥塞整体一般有两种,一种是在端侧的拥塞,常见于多打一的Incast场景,这种情况通常用各种拥塞控制算法来使对应的发送端减速来解决。另一种是矩阵拥塞,即网络因为Hash不均导致的拥塞。这里重点讨论矩阵拥塞的解决方案之一:负载均衡(Load balance)

负载均衡也是本文介绍的重点,不同的负载均衡路由策略会对端到端的吞吐率造成很大的影响。流量Load balance按照粒度不同,可以分为以下几种方式:基于流(Flow based)、基于包(Packet based)、基于流片(Flowlet)、基于信元(Cell based)

图片引用:公众号西北吹风RoCEv2的负载均衡技术

RoCEv2的负载均衡技术

1、基于流(Flow based)

基于流的负载均衡路由是以流为单位,把不同的流路由到不同的等价路径上。传统的方法是等价多路径ECMP(Equal Cost Multi Path)路由技术,用于在IP交换网络中。当存在多条到达同一个目的地址的相同开销的路径,网络设备按照自有的Hash根据流量N元组计算多路径下一跳。由于通用计算以“多流”、“小流”为主,能够实现较好的负载均衡效果。

当AIDC中的大象流连续到达交换机,传统Hash通常会将大象流集中在少数链路上传输,庞大的数据流占用相当大的带宽资源,导致传输链路发生拥塞,而其他链路上则处于空闲。这种Hash不均导致了链路负载不均,进而出现拥塞和时延加剧。因此,尽管ECMP是一种简单的负载均衡策略,优点是没有乱序问题,但上述问题也限制了其在某些场景下的有效性。

2、基于包(Packet based)

随机包喷洒(Random Packet Spraying,RPS)是一种基于包级别的负载均衡策略。当交换机发现有多条等价路径指向同一目的地址时,RPS会将数据包以单个包为单位分散到这些路径上。与ECMP不同,RPS以数据包为单位进行操作,将同一流中的不同数据包转发到不同的等价路径上。

RPS的优点在于简单易实施,通过细粒度的负载均衡,可以在多条并行路径之间实现较为均衡的路由选择,提升端到端的网络吞吐率,可以将并行链路利用率提高到90%以上。缺点在于可能会造成同一个流的包乱序问题,所以这种方式必须要解决乱序问题。

3、基于流片(Flowlet)

Flowlet是根据流中的“空闲”时间间隔将一个流划分为若干片段。在一个Flowlet内,数据包在时间上紧密连续;而两个Flowlet之间,存在较大的时间间隔。这一间隔远大于同一流分片内数据包之间的时间间隔,足以使两个流分片通过不同的网络路径传输而不发生乱序。

并行计算过程中,计算和通信是交替进行的。因而AI并行训练和推理产生的流量是典型的Flowlet。

当网络发生拥塞时,可将Flowlet调度到较空闲的链路上以缓解压力。在AI训练和推理网络中,RDMA流通常较持久,训练流可能持续数分钟至数小时,推理流多为数秒至数分钟,而Flowlet则以微秒到毫秒级的短暂突发为主。这种基于Flowlet的精细调度能有效优化流量分配,显著降低网络拥塞,从而提高网络利用率。

4、基于信元(Cell based)

在基于信元交换的网络级负载均衡机制下,接收端设备接收到报文后,会将报文拆分成的若干信元,信元会基于目的端发送的调度信令选择空闲的链路进行转发,到的目的后,信元被重新拼装成报文发出设备。在这样的机制下,不同于流转发,一个固定的流仅能利用单条路径,信元交换是动态的基于微观负载实时调整的均衡利用。由于Cell based自身的限制,实际在智算领域基本没有应用。

InfiniBand的负载均衡技术

InfiniBand网络通过多层次技术协同,实现了高效的数据传输与资源管理。

在负载均衡方面,子网管理器(SM)作为核心调度者,首先基于最短路径算法构建初始路由表,为流量分布奠定基础。尽管SM的动态路径优化能根据链路负载实时调整路径,但其对控制带宽和计算资源的消耗不容忽视。

为进一步提升灵活性,自适应路由(AR)技术应运而生,允许交换机基于队列深度、拥塞情况等实时状态独立选择路径,既降低了延迟,又增强了网络可靠性。然而,AR的动态特性可能导致数据包乱序,这需要上层协议或应用进行额外处理。

为弥补单一路径的局限性,应用程序还可通过创建多个队列对(QP),利用硬件队列的并行传输能力分散流量,例如MPI库或Lustre存储中间件通过任务分配避免路径瓶颈,形成应用层与网络层的双重负载均衡。

技术选型

根据前文我们了解到,InfiniBand和RoCEv2是两种支持RDMA的高性能网络协议,但其负载均衡机制在实现方式、性能和应用场景上存在显著差异。

  • InfiniBand依赖专用硬件和动态自适应路由,通过子网管理器实时优化路径,实现超低延迟和高吞吐,但成本高且扩展受限,适合HPC/AI等极致性能场景;
  • RoCEv2基于以太网,采用静态ECMP哈希多路径分发,成本低、扩展性强,但依赖无损网络配置(如PFC/ECN【可参考技术手册和白皮书】),易受哈希不均影响,适合云数据中心等性价比优先场景。

白皮书:https://asterfusion.com/priority-based_flow_control_pfc/

白皮书:https://asterfusion.com/t20250416-ecn/

虽然RoCE还是很难应对大象流/老鼠流分布不均的影响,但是各厂家也在做各种努力尝试:

基于遥测的路由

结合前文的负载均衡机制,若将包、Flowlet或整个流调度到不同的路径上,就需要路由协议的控制。传统的路由协议,基于静态的网络信息来计算最优路径,如OSPF基于网络带宽计算最短路径,BGP根据AS-PATH长度计算ECMP等。这种控制与网络实际负载脱节,需要加以改进。

星融元提出的基于遥测的路由(INT-based Routing)技术结合OSPF、BGP和带内遥测(INT)技术,为网络中任意一对节点之间计算多条路径,每个路径的开销是动态测量的延迟,从而能够根据实时的网络负载进行路由,从而充分利用每个路径的带宽。

不过,ECMP技术将包、Flowlet或整个流均匀的分布到多个路径上,却忽略了不同路径上的实际负载。

WCMP

为了进一步提升网络利用率。星融元采用加权代价多路径(Weighted Cost Multiple Path)算法,基于遥测获取的时延等信息,在时延更低的路径上调度更多的流量,在时延更高的路径上调度更少的流量,从而实现所有路径的公平利用。在理想情况下,流量经过不同路径的总时延是相等的,可充分利用所有可用带宽。

星融元CX864E等超级以太网交换机通过支持Flowlet、基于遥测的路由以及WCMP(加权代价多路径)三大创新技术,将AI训练和推理网络的利用率提升至90%以上,从而加速AI训练和推理过程,为AI数据中心进一步节省建设成本和运营成本。

更多详细内容请移步至星融元公众号/官网,或致电400-098-9811

【参考文献】


网站公告

今日签到

点亮在社区的每一天
去签到