DCQCN:面向 RDMA 的量化拥塞控制
DCQCN 让 RoCEv2 fabric 在无需长期处于 PFC 暂停状态的情况下保持无损。 交换机提前标记 ECN,接收端回送 CNP,发送端量化其速率,从而在队列溢出之前就放慢发送。OcNOS-DC 出厂即为 xCCL 集合通信工作负载(NCCL、RCCL、oneCCL)预调优默认值,并为需要偏离默认的 fabric 暴露每一个阈值。
DCQCN 闭环
发送端 NIC、拥塞交换机、接收端 NIC。交换机的 WRED ECN 标记器会在队列触及 PFC 暂停阈值之前触发。接收端生成拥塞通知包(CNP);发送端的反应点降低速率,随后回升。无损、无 PFC 压力、快速收敛。
DCQCN 在 AI 网络中所承担的工作
RoCEv2 有两种处理拥塞的方式:PFC 暂停,这是一种逐跳传播的反压;以及 DCQCN,一种端到端的速率控制环。仅靠 PFC 也能奏效,但它会把拥塞向上游推挤,存在暂停风暴和队头阻塞的风险。DCQCN 在 PFC 之前起作用,在队列达到暂停阈值之前就用 ECN 标记数据包,使发送端在交换机不得不发出暂停之前就放慢速度。
做得好,您 fabric 生命周期的大部分时间都只依赖 DCQCN 反馈,以 PFC 作为安全兜底。做得差,ECN 阈值与 PFC headroom 不匹配,即便配置了 DCQCN,您仍会遭遇 pause 风暴。 阈值调优是全部关键所在、OcNOS-DC 提供针对 xCCL 集体通信调优的默认值,同时为具有特定流量模式的 fabric 开放所有参数。
接收端回送 CNP
针对每条被标记的流,向发送端回送一个 CNP,速率限制约为 每条流每 50 µs 一个.
PFC 暂停与 DCQCN,并排对比
两者都能让 RoCEv2 保持无损,但作用点不同。调优目标是让 fabric 的绝大部分运行时间依靠 DCQCN 反馈,而把 PFC 作为兜底手段保留。
| Axis | PFC 暂停backstop | DCQCN主控制 |
|---|---|---|
| Mechanism | 逐跳向上游传播的反压。 | 从发送端到接收端的端到端速率控制环。 |
| 触发点 | 当队列达到暂停阈值时触发。 | 在队列达到暂停阈值之前标记 ECN。 |
| 失效模式 | 存在暂停风暴和队头阻塞的风险。 | 发送端在交换机不得不发出暂停之前就放慢速度。 |
| 在 fabric 中的角色 | 仅作为安全兜底,用于缓冲区仍被填满的情况。 | 在 fabric 绝大部分运行时间里担任主控制。 |
| Scope | 链路级,逐跳进行。 | 端到端,从发送端一路到接收端。 |
OcNOS DCQCN 实现方案
出厂即提供 xCCL 级默认值,每个阈值都以 YANG 建模的路径暴露,在应用前会对照 PFC 余量进行校验,并在上线调试期间作为遥测数据回传。
K-min, K-max, P-max
按优先级队列进行 WRED ECN 标记,K-min 与 K-max 阈值及 P-max 标记概率均可配置。开箱即享 xCCL 级默认值,以 YANG 路径开放供调优。
独立于 PFC
ECN 标记与 PFC pause 阈值是独立配置的。两者不匹配是最常见的 DCQCN 配置错误。OcNOS 会在应用之前,校验 K-max、headroom 与 pause 触发之间的关系。
基于 VXLAN 的 ECN
ECN 位在 VXLAN 封装与解封装过程中得以保留,因此 DCQCN 可跨 EVPN-VXLAN overlay 端到端工作,而不仅限于 underlay。
每队列 ECN 计数器
通过 gNMI 流式上报每个出向队列被 ECN 标记的报文计数、队列深度分布以及 CNP 触发速率。可在集群上线(bring-up)期间进行闭环调优。
为什么这一点比听起来更重要
多数“RoCEv2 表现异常”的支持工单最终都指向 DCQCN 阈值设置不当。这一错误的两个极端看似相反,但都会让 fabric 调优失当。
- 配置了 ECN 却从不标记(K-min 过高):PFC 承担了全部拥塞控制负担。
- ECN 标记过于激进(K-min 过低):在出现任何真正拥塞之前,发送端就已降速。
- OcNOS-DC 出厂的默认值适用于大多数 TH4 和 TH5 fabric;当某个 fabric 需要偏离默认时,每个参数都以 YANG 建模且可校验。
要为运行这些默认值的 leaf-spine 层级设定规格,请试用 AI Fabric 定量工具,或查看 AI fabric 拓扑 ,这些默认值正是为其调优的。
DCQCN 承担负载,PFC 保持兜底
健康的 RoCEv2 fabric 依靠 ECN 反馈运行,几乎不触及 PFC。OcNOS-DC 出厂即以这种平衡作为默认,并在工作负载需要不同设置时让每个阈值都触手可及。
出厂即为 xCCL 调优
OcNOS-DC 出厂默认值已针对 xCCL 集合通信流量预调优,因此大多数 fabric 无需改动任何阈值即可在 TH4 和 TH5 上良好运行。
DCQCN 常见问题解答
什么是 DCQCN?
DCQCN 如何工作?
DCQCN与PFC如何协同工作?
DCQCN 中的 ECN K-min 和 K-max 阈值是什么?
DCQCN 是否需要 RoCEv2?
深入了解,随身带走。
产品数据手册,以及内容比本页更为深入的简明技术下载资料。
OcNOS-DC 数据手册
表单简短。提交后您的 PDF 将立即在新标签页中打开。
✓ 正在新标签页中打开您的 PDF……
如果未能自动打开,请使用下方链接。
OcNOS 800G 无损 AI Fabric
表单简短。提交后您的 PDF 将立即在新标签页中打开。
✓ 正在新标签页中打开您的 PDF……
如果未能自动打开,请使用下方链接。
EVPN-VXLAN 数据中心网络
表单简短。提交后您的 PDF 将立即在新标签页中打开。
✓ 正在新标签页中打开您的 PDF……
如果未能自动打开,请使用下方链接。
在为真实工作负载调优 DCQCN?把您的抓包记录交给我们
把您的 ECN 计数器和队列抓包记录发给我们,IP Infusion 的工程师将帮您对齐 K-min、K-max 和 PFC 余量,或先在 AI Fabric Design Suite 中生成一版初步的 leaf-spine 布局。
用 OcNOS 设计整张 AI fabric
从商业论证到端口数量测算,无论您进行到哪一步,都可从此接续。