PFC Deadlock Detection & Recovery

PFC pause 是 RoCEv2 實現無損傳輸的關鍵,但在罕見的拓撲與路由條件下,它可能形成循環依賴:每臺交換機都在等待環路中的下一臺而被暫停,導致流量無限期停滯。OcNOS-DC 內置看門狗機制,可在毫秒級檢測到該環路,並在訓練任務掛起之前自動排空受影響的隊列。

3 臺交換機的暫停周期

三臺交換機構成循環依賴。每一臺都在其無損優先級隊列上處於暫停狀態,等待下一臺交換機排空。若不加幹預,這一循環將永久穩定地持續下去。OcNOS 看門狗在配置的超時後觸發,排空交換機 A 上的 queue-3,循環隨即瓦解。

PFC 死鎖環路與看門狗恢復 三臺交換機排列成三角形。暫停箭頭從每臺交換機順時針指向下一臺,表示每臺交換機均暫停以等待下遊交換機。交換機 A 處的看門狗圖標顯示 OcNOS 死鎖定時器觸發,以排空隊列並打破循環。 PFC 暫停(CoS 3) PFC 暫停 PFC 暫停 WD 看門狗觸發 清空隊列 3 Switch-A暫停於 Q3等待 B Switch-B暫停於 Q3等待 C Switch-C暫停於 Q3等待 A PFC 死鎖 · 看門狗超時 · 隊列排空 · 自動恢復

PFC 如何造成死鎖

PFC 是一種逐跳暫停機制:當 switch-A 的無損入向隊列填滿超過閾值時,它向上遊發出暫停信號,上遊隨即停止發送。這在單一流量方向的樹狀拓撲中運行良好。但在具有多條路徑的 leaf-spine 架構中,繞過鏈路故障的 ECMP 重路由在特定條件下可能形成環狀路徑,使每臺交換機都因等待下一臺而處於暫停狀態。

一旦這種循環形成,它就會持續穩定:有足夠的記憶體來保存被暫停的幀,路由協議認為一切正常,而 PFC 在每臺交換機上不斷重新置位。若不加幹預,受影響的無損優先級將被無限期掛起。 RoCEv2 流量中斷,xCCL (NCCL / RCCL / oneCCL) 集體通信超時,訓練任務停滯。

OcNOS-DC 看門狗

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 平台上驗證。

何時會看到此告警觸發

在拓撲和路由設計得當的 fabric 中,PFC 死鎖極為罕見。大多數電信業者運行多年也從未遇到一次。看門狗之所以重要,是因為 「罕見」並不意味著「從不」:路由收斂窗口期內的鏈路故障、單個埠上 PFC 優先級的錯誤配置,或是異常流量模式下的瞬時擁塞事件,都可能製造出引發問題的條件。若沒有 watchdog,一旦它真的觸發,AI 叢集會停擺,運維團隊將面臨數小時的調試工作。有了 watchdog,您得到的只是一陣短暫的重傳突發和一條記錄在案的事件日誌。

The bottom line

  • 無損安全網。 watchdog 正是區分"PFC 在生產級 AI fabric 上理論上存在風險"與"PFC 可大規模安全部署"的關鍵所在。
  • 亞秒級恢復。 檢測 + 排空 + 恢復通常在一秒內完成。xCCL 重傳一小段 RDMA 流量,任務繼續執行。
  • 標準配置。 在 OcNOS-DC 的無損模板中,看門狗預設開啟。您無需特意記得去啟用它。
  • Observable. 每一次觸發都會被記錄、計數並通過 gNMI 流式傳輸。可與您現有的可觀測性技術棧實現閉環監控。
  • 可按風險等級調優。 為關鍵訓練叢集調低定時器;通用 DC fabric 沿用預設值即可。

正在新 fabric 上驗證無損行為?請從 watchdog 開始。

申請技術演示 →