死锁恢复 · RoCEv2 · 无损

PFC 死锁检测与恢复

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

按端口且按优先级的死锁检测
可配置检测与恢复计时器
TH3 至 TH5以及 Trident 3(X4、X5、X7)和 Trident 4
OcNOS-DC PLUS许可层级

三台交换机构成的暂停环

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

PFC 死锁环路及其恢复 三台交换机呈三角形排列。暂停箭头从每台交换机顺时针指向下一台,表示每台交换机都在等待下游交换机而暂停。Switch-A 上的定时器图标表示 OcNOS 死锁检测定时器到期,排空队列并打破循环。 PFC 暂停(CoS 3) PFC 暂停 PFC 暂停 WD 定时器到期 清空队列 3 Switch-A暂停于 Q3等待 B Switch-B暂停于 Q3等待 C Switch-C暂停于 Q3等待 A PFC 死锁 · 检测超时 · 队列排空 · 自动恢复

PFC 如何造成死锁

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

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

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

OcNOS-DC 死锁检测与恢复

一个按端口、按优先级运行的定时器,检测暂停队列形成的循环,在作业挂起之前排空受影响的队列,随后自行恢复正常 PFC。检测、恢复与还原构成核心三要素,调优与许可则作为补充。

检测

每端口、每优先级定时器

每个入口端口、每个无损优先级各运行一个计时器。如果该优先级在配置的检测时间内被持续暂停,死锁检测即触发并开始恢复。

恢复

自动队列排空

检测触发后,恢复过程会在配置的恢复时间内运行。默认情况下,被暂停的流量会被转发,从而打破循环。如果将恢复动作设置为丢弃,这些帧会被丢弃,并由 RDMA 网卡重传。

复原

恢复后自动还原

达到配置的恢复间隔后,受影响优先级上的 PFC 恢复正常运行。无需人工干预。

可调

运营商可配置的定时器

检测倍数、时间粒度和恢复时间均可通过 CLI 按接口配置。运维人员可在高风险集群上缩短这些计时器。

适用范围

DC-PLUS 许可层级

属于 OcNOS-DC PLUS SKU。支持 Broadcom Tomahawk 3、Tomahawk 4、Tomahawk 5、Trident 3(X4、X5、X7)和 Trident 4 平台。

死锁恢复是无损协议栈其余部分之下的安全网

最好的死锁是从不形成的死锁。拥塞控制、它所保护的无损传输,以及动态负载均衡,从一开始就让队列远离暂停阈值;当它们未能奏效时,死锁恢复便是最后一道防线。

拥塞控制

DCQCN (运行于 NIC)会在交换机用 ECN 标记数据包时、入口队列填至 PFC 阈值之前降低发送端速率,因此暂停被触发的频率大为降低,环也很少有机会闭合。

无损传输

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

动态负载均衡

DLB 将 flowlet 从拥塞的上行链路上重新分配出去,分散负载,使入口队列更不容易达到触发暂停的阈值。

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

在拓扑与路由设计合理的 fabric 中,PFC 死锁很少见。但触发条件仍可能出现,这正是死锁恢复的意义所在。

什么会触发它

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

没有死锁恢复时

一旦真的形成死锁,AI 集群就会停止运行,运维团队只能追查一个路由协议报告为健康的挂起问题。

有死锁恢复时

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

为何死锁恢复让 PFC 可安全地大规模部署

它将无损以太网唯一的理论性异议,转化为一个有日志记录、可自行清除的事件。

  • 无损安全网。 死锁恢复正是区分"PFC 在生产级 AI fabric 上理论上存在风险"与"PFC 可大规模安全部署"的关键所在。
  • 自动恢复。 恢复过程在配置的恢复时间内运行,之后正常 PFC 恢复。默认情况下,被暂停的流量会被转发而不是丢弃。
  • 按接口配置。 死锁检测与恢复在每个承载无损流量的接口上启用,并同时设置其检测与恢复计时器。
  • 可按风险等级调优。 在关键训练集群上调低计时器。参见 功能矩阵中的 PFC 和 经过认证的硬件列表.

PFC 死锁常见问题解答

PFC死锁的成因是什么?
PFC 是一种逐跳暂停。在多路径 fabric 上,绕过链路故障的 ECMP 重路由在特定条件下可能形成一条环形路径,使每台交换机都被暂停、等待下一台。这种环形缓冲依赖是稳定的,无损优先级会一直挂起,直到有某种机制打破它。
OcNOS 的 PFC 死锁恢复如何工作?
如果某个lossless优先级在配置的检测时间内持续处于暂停状态,则会触发按端口、按优先级的计时器。随后恢复过程在配置的恢复时间内运行并自动结束,无需运营人员介入。默认情况下,恢复期间被暂停的流量会被转发;也可以将 OcNOS 配置为改为丢弃这些流量。
死锁恢复是否会丢弃流量?
默认不会。恢复期间,OcNOS 会转发被暂停的流量。如果将恢复动作设置为丢弃,恢复窗口内的帧会被丢弃,并由 RDMA 网卡的传输层重传。
PFC 死锁检测是否默认启用?
死锁检测与恢复按接口启用,检测和恢复计时器通过 CLI 设置。它是 Broadcom Tomahawk 3、Tomahawk 4、Tomahawk 5、Trident 3(X4、X5、X7)和 Trident 4 平台上 OcNOS-DC PLUS SKU 的一部分。

深入了解,随身带走。

产品数据手册,以及内容比本页更为深入的简明技术下载资料。

数据手册

OcNOS-DC 数据手册

完整的 OcNOS-DC 规格:EVPN-VXLAN 与 Ethernet for AI 功能集、软件 SKU、支持的硬件平台,以及解决方案订购指南。

获取数据手册
解决方案简报

OcNOS 800G 无损 AI Fabric

基于 Tomahawk 5 spine 的无损 RoCEv2 fabric:SKU 等级、经过认证的平台和部署架构。

获取简报
解决方案简报

EVPN-VXLAN 数据中心网络

基于 EVPN-VXLAN 的 leaf-spine 数据中心 fabric:每租户一个 VRF 和多个 VNI、EVPN 多归属、BGP unnumbered 和 route-target 过滤。

获取简报

在为一张新 fabric 验证无损行为?从死锁恢复开始

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