PFC 看门狗 · RoCEv2 · 无损

PFC 死锁检测与恢复

PFC 死锁是唯一能让无损 fabric 无限期挂起的故障:一种环形缓冲依赖,被暂停的优先级队列相互等待。 OcNOS-DC 看门狗按端口、按优先级工作。它检测被暂停队列构成的环,并在作业挂起之前自动排空队列,支持 Broadcom Tomahawk 4 和 Tomahawk 5。

Per-port且按优先级的看门狗
Sub-second检测、排空、恢复
TH4 & TH5Broadcom Tomahawk 平台
默认开启OcNOS-DC 无损模板
死锁是什么样子

三台交换机构成的暂停环

三台交换机处于环形依赖之中。每台都在其无损优先级队列上被暂停,等待下一台交换机排空。若不加干预,这个环将永远稳定存在。OcNOS 看门狗在配置的超时后触发,排空 Switch-A 上的队列 3,环随之瓦解。

PFC 死锁环路与看门狗恢复 Three switches arranged in a triangle. Pause arrows point clockwise from each switch to the next, indicating each switch is paused waiting for the downstream switch. A watchdog icon at Switch-A shows the OcNOS deadlock timer firing to drain the queue and break the cycle. PFC 暂停(CoS 3) PFC 暂停 PFC 暂停 WD 看门狗触发 清空队列 3 Switch-A暂停于 Q3等待 B Switch-B暂停于 Q3等待 C Switch-C暂停于 Q3等待 A PFC DEADLOCK · WATCHDOG TIMEOUT · QUEUE DRAIN · AUTO-RECOVERY
它如何形成

PFC 如何造成死锁

PFC 正是让 RoCEv2 无损的机制,在行为良好的拓扑上它从不惹麻烦。只有当被暂停队列的环在多路径 fabric 上闭合时,才会出现这种失效模式。

PFC 是一种逐跳暂停:当交换机的无损入口队列填过阈值时,它会向上游发出暂停,上游随即停止发送。在单一流向的树形拓扑上,这是安全的。而在多路径的 leaf-spine fabric 上,绕过链路故障的 ECMP 重路由在特定条件下可能形成一条环形路径,使每台交换机都被暂停、等待下一台。这种环形缓冲依赖——被暂停的优先级队列相互等待——就是 PFC 死锁。

一旦环形成,它便是稳定的:缓冲足以容纳被暂停的帧,路由协议认为一切都已收敛,PFC 在每台交换机上不断重新触发。若不加干预,受影响的无损优先级将无限期挂起。 RoCEv2 流量停止,xCCL(RCCL、oneCCL)集合通信超时,训练作业陷入停滞。

工作机制

OcNOS-DC 看门狗

一个按端口、按优先级的计时器,它检测被暂停队列构成的环,在作业挂起之前排空受影响的队列,随后自行恢复正常的 PFC。检测、恢复和还原是核心三要素;遥测、调优和许可则使其完整。

Detection

每端口、每优先级定时器

每个入口端口、每个无损优先级各运行一个计时器。如果该优先级在配置的间隔(通常为 100 至 400 ms)内被持续暂停,看门狗即触发。

Recovery

自动队列排空

看门狗触发时,受影响的 ingress 队列被排空:短暂丢弃帧以打破循环。被丢弃的帧会触发 xCCL 集体通信重传,而替代方案则是无限期挂起。

Restoration

恢复后自动还原

在所配置的恢复间隔之后,受影响优先级上的正常 PFC 操作即会恢复。无需运维人员介入;fabric 会在数秒内恢复无损状态。

遥测

gNMI 计数器

看门狗触发事件、排空时长和按优先级的 pause 计数器通过 gNMI 上报,用于闭环网络监控。SRE 可将死锁事件视为告警,而非无声的训练停滞。

Tunable

运营商可配置的定时器

检测超时、排空时长和恢复间隔均可通过 CLI 按端口、按优先级配置。默认值适用于大多数网络;运维人员可在高风险集群上缩短这些计时器。

Scope

DC-PLUS 许可层级

作为 OcNOS-DC PLUS SKU 的一部分,与其余无损 RoCEv2 协议栈一同提供。已在 Broadcom Tomahawk 4 和 Tomahawk 5 平台上验证。

周边协议栈

看门狗是无损协议栈其余部分之下的安全网

最好的死锁是从不形成的死锁。拥塞控制、它所保护的无损传输,以及自适应路由,从一开始就让队列远离暂停阈值;当它们未能奏效时,看门狗便是最后一道防线。

拥塞控制

DCQCN 在入口队列填至 PFC 阈值之前,就用 ECN 标记并调节流量,因此暂停被触发的频率大为降低,环也很少有机会闭合。

无损传输

RoCEv2 是 PFC 存在所要保护的 RDMA 传输。看门狗让大规模无损运行 RoCEv2 变得安全,而非理论上有风险。

自适应路由

DLB 在亚毫秒级窗口内把 flowlet 重新分箱、避开拥塞的上行链路,分散负载,使入口队列更不易达到触发暂停的阈值。

何时会看到它触发

罕见不等于永不发生,而这正是关键所在

在拓扑与路由得当、设计良好的 fabric 中,PFC 死锁很罕见,多数运营商运行多年也从未遇到过。看门狗之所以重要,是因为触发条件仍可能出现,而一旦出现,差别以小时计。

什么会触发它

路由收敛窗口期内的一次链路故障、单个端口上 PFC 优先级的一处配置错误,或某种异常流量模式下的瞬时拥塞事件,都可能造就这些条件。

没有看门狗时

一旦死锁形成,AI 集群便停止运行,运维团队将面临数小时的排障,去追查一个被路由协议报告为健康的挂起。

有看门狗时

您得到的是一次短暂的重传突发和一条已记录的事件,而非停滞的作业。用 AI Fabric Sizing Tool 规划让死锁保持罕见的拓扑和交换机层级。

结论

为何看门狗让 PFC 可安全地大规模部署

它把对无损以太网唯一的理论反对,变成一个已记录、可自清除、且您现有可观测性栈已能看到的事件。

  • 无损安全网。 watchdog 正是区分"PFC 在生产级 AI fabric 上理论上存在风险"与"PFC 可大规模安全部署"的关键所在。
  • 亚秒级恢复。 检测、排空和恢复通常在一秒内完成。xCCL 重传一小段窗口的 RDMA 流量;作业继续进行。
  • 标准配置。 看门狗在 OcNOS-DC 无损模板中默认开启。您无需记着去启用它。
  • Observable. 每次触发都会被记录、计数,并通过 gNMI 流式输出,以便与您现有的可观测性栈进行闭环监控。
  • 可按风险等级调优。 在关键训练集群上调低计时器;对通用 DC fabric 而言默认值即可。参见 功能矩阵中的 PFC and the 经过验证的硬件列表.
常见问题

PFC 死锁常见问题解答

PFC死锁的成因是什么?
PFC 是一种逐跳暂停。在多路径 fabric 上,绕过链路故障的 ECMP 重路由在特定条件下可能形成一条环形路径,使每台交换机都被暂停、等待下一台。这种环形缓冲依赖是稳定的,无损优先级会一直挂起,直到有某种机制打破它。
OcNOS的PFC看门狗如何恢复fabric?
如果某个lossless优先级在配置的时间间隔(通常为100至400 ms)内持续处于暂停状态,则会触发按端口、按优先级的计时器。watchdog会排空受影响的队列以打破该循环,随后在恢复间隔结束后自动恢复正常PFC,无需运营人员介入。
watchdog 是否会丢弃流量?
会,但很短暂。排空队列会丢弃一小段帧窗口,从而触发 xCCL 集合运算重传。替代方案是无限期挂起,因此这一权衡是以不到一秒的重传突发换取避免训练作业停滞。
PFC 死锁看门狗是否默认启用?
是的。看门狗在 OcNOS-DC 无损模板中默认开启,其检测、排空和恢复计时器均可通过 CLI 调整。它是 Broadcom Tomahawk 4 和 Tomahawk 5 平台上 OcNOS-DC PLUS SKU 的一部分。

在为一张新 fabric 验证无损行为?从看门狗开始

告诉我们工作负载和 GPU 规模,IP Infusion 的工程师将与您一起评审无损设计,或先在 AI Fabric Design Suite 中生成一版初步的 leaf-spine 布局。