UDP 4791 · PFC + ECN · DCQCN

RoCEv2:面向 AI fabric 的无损以太网

RoCEv2 是 RDMA 在标准以太网上运行的方式:它把 RDMA 封装进 UDP/IP,并使用 UDP 目的端口 4791,因此 GPU 集合通信流量可在普通的 leaf-spine fabric 上路由。 它需要由 PFC 和 ECN 构建的无损 fabric,并以 DCQCN 作为拥塞控制环,而 OcNOS 如今即在受支持的 400G 和 800G 开放硬件上交付这整套工具集。

UDP 4791RoCEv2 目的端口
最高 800G开放 RoCEv2 平台
1 NOS运行于开放硬件上的 OcNOS-DC
256 至 4,096GPU 参考设计
无损 fabric

同样的 GPU,运行在无损 leaf-spine fabric 上

一个紧凑的 rail 切片:两台 spine 和两台 leaf 在四个 GPU 之间承载 RoCEv2。拥塞时 PFC 暂停帧逐跳传播,而 ECN 标记大象流以便在源端触发 DCQCN 反应。RDMA 封装于 UDP/IP 中,使用目的端口 4791,因此同样的流量可在标准以太网 fabric 上路由。

RoCEv2 AI 网络拓扑:两台 spine、两台 leaf 和四个 GPU,无损 RoCEv2 流量上标注 PFC 暂停箭头
RoCEv2:两 spine、两 leaf 的 AI 网络,承载无损 GPU 流量并采用 PFC 暂停机制。
为什么 RoCEv2 对 AI fabric 至关重要

近乎零丢包让 GPU 集合通信保持高效

GPU 集合通信(all-reduce、all-gather、all-to-all)会产生大象流,使单条 fabric 路径饱和,并要求近乎零丢包以保持训练作业高效。在 400G RoCEv2 链路上哪怕丢失一个数据包,受影响的 NIC 就会重传整个 RDMA 发送窗口,其代价可达数秒的 GPU 空闲时间。RoCEv2 通过把 RDMA 封装进 UDP/IP(目的端口 4791),为这些工作负载把 leaf-spine fabric 变成无损传输,因此同样的流量可在三层路由。

Parameter RoCEv1二层 RoCEv2UDP/IP,可路由
EncapsulationRDMA 直接承载于以太网之上(专用 EtherType)。RDMA 封装于 UDP/IP 中,使用 UDP 目的端口 4791。
网络层仅二层;局限于单一广播域。三层,可在标准 leaf-spine fabric 上路由。
ECMP 熵没有可供哈希的 IP 或 UDP 头;路径分散有限。以 UDP 源端口作为流标识加以变化,从而把流量分散到各 ECMP 路径上。
无损要求需要由 PFC 和 ECN 构建的无损 fabric。需要由 PFC 和 ECN 构建的无损 fabric,并以 DCQCN 作为拥塞控制环。
覆盖与规模限于机架内或单一子网。路由式数据中心 fabric;面向 256 至 4,096 GPU 集群的参考设计。
设计上即无损

让 fabric 保持无损的各项控制

RoCEv2 fabric 通过三种协同机制保持无损:优先级流控暂停正确的流量类别,ECN 和 DCQCN 在不丢包的情况下维持吞吐,自适应路由则让少数大流量避开拥塞的上行链路。

优先级流控(PFC)

按优先级暂停

802.1Qbb PFC 逐跳暂停单一流量类别,使承载 RDMA 的队列绝不丢包。OcNOS 将其与一个 PFC 死锁看门狗 配对,该机制可检测停滞的优先级并在其扩散之前自动恢复。

拥塞控制

ECN 标记与 DCQCN 环

基于 WRED 的 ECN 在队列增长时标记数据包,而 DCQCN 是拥塞控制环 ,它在源端做出反应,在不丢包的情况下维持吞吐。为 xCCL 集合通信提供调优默认值,并为自定义 RDMA 栈提供参数化覆盖。

负载均衡

自适应 flowlet 路由

面对 AI 集合通信产生的少数大型大象流,静态 ECMP 哈希会发生冲突。 DLB 在亚毫秒级窗口内,根据本地链路饱和情况对 flowlet 重新分箱,消除损害对称拓扑的静态哈希冲突。

OcNOS 的实现

OcNOS 所交付的 RoCEv2

除无损控制之外,OcNOS 还提供遥测、参考设计和顺畅的升级路径,把一份无损配置变成一张可运维的 fabric。

遥测

按优先级队列统计

针对队列深度、PFC 暂停计数器、ECN 标记数据包和微突发检测的 gNMI 流式传感器,以 10 秒采样间隔 导出,实现全 fabric 可观测性。

参考设计

轨道优化(rail-optimized)网络

面向 rail 对齐和调度式 fabric 拓扑的参考设计,涵盖 256 至 4,096 GPU 集群 ,运行在现成的 400G 和 800G 开放交换机上。CLI 诊断可端到端验证一份已知良好的无损配置。

下一代传输

通往 Ultra Ethernet 的顺畅路径

如今即可构建无损 RoCEv2,并保留通往 Ultra Ethernet的开放路径——随着 UEC NIC 上市,它为标准以太网加入数据包喷洒和多路径 RDMA。一套 NOS 同时承载两者。

Why OcNOS

一份 NOS 镜像横跨开放硬件

RoCEv2 工具集属于 OcNOS-DC 基础许可的一部分,而非一组付费附加项,并且可在多厂商硬件选择间原样运行。

  • 开放的硬件选择。 在 UfiSpace、Edgecore 或 Celestica 平台上以同一份 NOS 镜像运行 RoCEv2,因此 fabric 层不带任何厂商锁定。
  • 第一天即具备同等功能。 自适应负载均衡、DCQCN 调优和 ASIC 原生遥测都属于 OcNOS-DC 基础许可的一部分,而非付费附加项。
  • 参考设计。 面向主流 AI fabric 拓扑的参考配置,配置与测试结果均已公开。
  • 工程访问权限。 高级支持层级包含在 fabric 上线调试期间与 OcNOS RoCEv2 团队的直接沟通。
IP Infusion 的观点

标准以太网、RDMA 性能、开放硬件

RoCEv2 让 AI fabric 得以复用数据中心其余部分已在运行的以太网运维与设备,而 OcNOS 正是让它在开放交换机上实现无损的使能者。

标准以太网,RDMA 速度

RoCEv2 通过可路由的 UDP/IP 承载 RDMA,因此 GPU 集合通信无需单独的专用 fabric 即可获得低延迟、低 CPU 占用的数据搬移。

开放硬件选择

同一份无损配置可在 UfiSpace、Edgecore 和 Celestica 交换机上以 400G 和 800G 运行,让 fabric 层保持多厂商。

OcNOS 是使能者

PFC、ECN、DCQCN、DLB 和按优先级遥测以一套 NOS 的形式在开放交换机上交付,因此完整的无损 fabric 是一次构建,而非一项集成工程。

常见问题

RoCEv2 常见问题解答

什么是 RoCEv2?
RoCEv2(RDMA over Converged Ethernet version 2)在可路由的 UDP/IP 网络上承载 RDMA 流量,使服务器能够以极低的延迟和较低的 CPU 开销在内存之间直接搬移数据。它广泛用于 Ethernet fabric 上的 AI 集群和高速存储。
RoCEv2与RoCEv1有何区别?
RoCEv2在UDP/IP之上运行RDMA,因此可跨Layer 3网络路由,而RoCEv1直接运行于Ethernet(Layer 2)之上,仅限于单一广播域内。RoCEv2可扩展至RoCEv1无法触及的更大规模、经路由的data center fabric。
RoCEv2 是否需要 lossless 网络?
RoCEv2 需要 lossless 或近乎 lossless 的 fabric,因为一旦丢包,RDMA 性能会急剧下降。运营商借助用于流控的 PFC 以及采用 DCQCN 的 ECN 进行拥塞控制来实现这一点,并使队列保持较浅,从而让 RDMA 流避免丢弃与重传。
RoCEv2使用哪个UDP端口?
RoCEv2 使用目的 UDP 端口 4791,即 IANA 为 RoCEv2 流量保留的端口。由于 RDMA 封装于 UDP/IP 中,数据包可路由,且可将 UDP 源端口作为流标识加以变化,从而将流量分散到各条 ECMP 路径上。
RoCEv2 与 InfiniBand 相比如何?
RoCEv2在标准Ethernet和IP之上提供RDMA,而InfiniBand是一种独立的专用fabric,拥有自己的交换机和适配器。RoCEv2复用Ethernet的运维和设备,正因如此,许多AI和存储网络采用它,而非专用的InfiniBand fabric。

在构建或扩展 AI fabric?获取针对具体工作负载的评审

告诉我们 GPU 规模和集合通信模式,IP Infusion 的工程师将与您一起为交换机层级设定规格并调优无损配置,或先在 AI Fabric Design Suite 中生成一版初步的 leaf-spine 布局。