拥塞感知 ECMP · Flowlet · RoCEv2

动态负载均衡:面向 AI Fabric 的拥塞感知路径选择

在 AI fabric 上,应使用动态负载均衡,而非静态哈希 ECMP。 DLB 在每个 flowlet(一段由包间间隔界定的子流块)上重新评估路径,利用实时的 ASIC 出向队列深度和端口利用率遥测,使 GPU 集合通信不再在单条上行链路上发生冲突。它运行在 Broadcom Tomahawk 4 和 5 的交换 ASIC 中,无需改动 NIC 或集合通信库。

按 flowlet拥塞感知路径选择
TH4 + TH5Broadcom Tomahawk 25.6T / 51.2T
零 NIC 改动运行在交换 ASIC 中
PLUSOcNOS-DC 许可层级

leaf-spine fabric 上的动态负载均衡

一个四 spine、两 leaf 的切片,承载 GPU AllReduce 流量。DLB 实时测量本地出向队列深度。当 Spine-3 饱和时,leaf 会把下一个 flowlet 重新分箱到负载较轻的 spine 上,让四条上行链路保持均衡。

跨 AI 叶脊 fabric 的动态负载均衡 由四台脊交换机和两台叶交换机组成的 AI 网络。连接到叶交换机的 GPU 服务器发送 AllReduce 流。三条脊路径均衡承载 flowlet;第四台脊交换机发生拥塞,Dynamic Load Balancing 将下一个 flowlet 重新分配到负载较低的脊交换机。底部标注 DLB 指标:队列深度、端口利用率、flowlet 重新绑定。 Spine-3 拥塞 · 下一个 flowlet 重新绑定到 Spine-2 Spine-1 队列 18% Spine-2 队列 22% Spine-3 队列 92% Spine-4 队列 25% Leaf-1 DLB · flowlet Leaf-2 DLB · flowlet GPU-0 GPU-1 GPU-2 GPU-3 DLB · 队列深度反馈 · FLOWLET 重新绑定 · 拥塞感知 ECMP

静态 ECMP 与 DLB,逐项对比

标准 ECMP 在流开始时对五元组哈希,并在整条流的生命周期内将其固定。在南北向 Web 流量中,数以百万计的短生命周期流让各路径的利用率趋于平滑。而在 AI fabric 上,寥寥几条 GPU 大象流(每条都会占用一整条 400G 或 800G 上行链路长达数秒)会引发哈希冲突:一些上行链路饱和,而并行路径却闲置。DLB 利用实时的 ASIC 遥测在每个 flowlet 上重新评估路径。

维度 静态 ECMP哈希并固定 DLB拥塞感知,逐 flowlet
路径决策在流开始时对五元组哈希一次,并在整条流的生命周期内将其固定。在每个 flowlet 边界重新评估路径,并把流量转移到拥塞较轻的上行链路。
粒度整条流。单次哈希选择支配着长达数秒的大象流流量。flowlet:一段由较小包间间隔界定的子流块,可安全地重新分箱而不产生乱序。
拥塞信号无。哈希对实时链路状态一无所知。实时 ASIC 出口队列深度与端口利用率遥测。
在 GPU 大象流之下哈希冲突:两条大象流可能落在同一条上行链路上,而另一条却闲置。饱和的成员会被移出候选集合,从而使上行链路保持均衡。
乱序风险无;流被固定,但代价是热点和尾延迟离群值。实际上没有;包间间隔意味着 RoCEv2 和 TCP 都能得到正确的按序交付。
NIC / 集合通信库无需改动;标准行为。无需改动。运行在交换 ASIC 中,因此 RoCEv2 NIC 和 xCCL 栈都不受影响。
硬件任何支持 ECMP 的交换机。Broadcom Tomahawk 4(25.6T)和 Tomahawk 5(51.2T),采用 64x400G 和 64x800G 配置。

OcNOS DLB 实现

DLB 并非附加在控制平面上的组件。它运行在 Broadcom 转发流水线中,依据实时拥塞信号为每个 ECMP 下一跳评分,并在硬件中重新绑定 flowlet。

flowlet 检测

Flowlet 间隔定时器

ASIC 原生的 flowlet 非活动定时器将长大象流切分为小块,可安全地在多条路径上喷洒,而不会引起 TCP 或 RoCEv2 乱序。

路径质量

实时队列深度反馈

DLB 从 Tomahawk 流水线获取各出端口的队列占用率与链路利用率信号,实时为每条 ECMP 下一跳评分。

重新绑定

拥塞感知下一跳选择

在每个 flowlet 边界处选择质量最高的成员,因此饱和的 spine 会被移出候选集合。

硬件

TH4 / TH5 原生

已在 Broadcom Tomahawk 4(25.6T)与 Tomahawk 5(51.2T)spine 平台上以 64x400G 和 64x800G 端口配置通过验证。

DLB 在 fabric 中的位置

DLB 是更大规模开放以太网传输体系中的单跳拥塞感知层。它运行在无损 RoCEv2 之上,而将在 OcNOS 7.1 中推出的全 fabric GLB 会将其扩展为端到端评分。

底层的无损传输

DLB 在以下基础之上重新绑定 flowlet: RoCEv2 无损网络 (PFC、ECN、DCQCN)。

下一步是全 fabric 评分

DLB 为本地下一跳评分,而 GLB(OcNOS 7.1) 把决策扩展到贯穿整张 leaf-spine fabric 的端到端路径质量。

在 NIC 中实现同样的思路

Ultra Ethernet 将路径分散带入 NIC:数据包喷洒和多路径 RDMA 从支持 UEC 的 NIC 将一条流分散到多条路径上。

DLB 在生产环境 AI fabric 中带来的价值

通过让 flowlet 避开静态 ECMP 会过载的拥塞上行链路,DLB 把一张对称的 leaf-spine fabric 变成一张在 GPU 集合通信流量下保持均衡的 fabric。

  • 更高的利用率。 flowlet 重新均衡让流量避开静态 ECMP 会过载的拥塞上行链路,因此在同一套硬件上、无需增购上行链路,运维良好的 fabric 即可将目标利用率设定在 90% 以上。
  • 更低的尾延迟。 由于没有任何单条链路在其他链路闲置时达到饱和,集合通信完成时间得以缩短。
  • 无需更换 NIC。 DLB 驻留在交换 ASIC 中。现有的 RoCEv2 NIC 和 xCCL(NCCL、RCCL、oneCCL)集合通信栈无需改动代码即可获得正确的按序交付。
  • PLUS 层级。 DLB 包含在 OcNOS-DC PLUS SKU 中,与 OcNOS-DC 其他功能使用同一镜像和同一支持合同。

动态负载均衡是以太网 AI fabric 的基本要求

静态 ECMP 是为南北向 Web 流量而设计的。一旦 fabric 承载 GPU 集合通信,动态负载均衡就成了均衡的上行链路与停滞的训练作业之间的分水岭,而 OcNOS 如今即在开放硬件上交付它。

仅靠 ECMP 还不够

寥寥几条大象流就能击败静态哈希。哈希冲突会让一些上行链路饱和,而并行路径却闲置。

DLB 弥合路由差距

逐 flowlet 的拥塞感知路径选择让以太网 fabric 在集合通信流量下保持均衡——这正是 InfiniBand 曾具优势的维度之一。

OcNOS 是使能者

如今是 DLB,OcNOS 7.1 提供 GLB。一套 NOS 运行在 Edgecore、UfiSpace 等厂商经过验证的开放硬件上,无需改动 NIC 或集合通信库。

动态负载均衡常见问题解答

什么是 flowlet,DLB 为何要使用它?
flowlet 是由较小的包间间隔所划分的子流片段。DLB 在每个 flowlet 边界处重新评估路径,而非固定整条流,因此可将流量转移至拥塞较轻的 uplink,而不会引发 RoCEv2 或 TCP 的乱序。
DLB 与静态 ECMP 有何不同?
静态 ECMP 在流开始时对五元组哈希,并在整条流的生命周期内将其固定,因此两条 GPU 大象流可能在一条上行链路上冲突,而另一条却闲置。DLB 利用实时的队列深度和端口利用率为每个下一跳实时评分,并把 flowlet 重新绑定到最优路径上。
DLB是否需要新的NIC或对我的集合通信库进行更改?
不需要。DLB 运行于交换机 ASIC 内,因此现有的 RoCEv2 NIC 以及 xCCL(NCCL、RCCL、oneCCL)集合运算栈无需改动代码即可获得正确的按序交付。
哪些硬件支持 OcNOS DLB?
DLB 支持 64x400G 和 64x800G 配置的 Broadcom Tomahawk 4(25.6T)与 Tomahawk 5(51.2T)平台,以及 Trident 3(X4、X5、X7)和 Trident 4 平台。它包含在 OcNOS-DC PLUS SKU 中,不包含在 IPBASE 中。

在为您的 GPU fabric 调优 DLB?获取针对具体工作负载的评审

告诉我们 GPU 规模和集合通信模式,IP Infusion 的工程师将与您一起调优 flowlet 计时器和路径评分,或先在 AI Fabric Design Suite 中生成一版初步的 leaf-spine 布局。