OpenAI MRC 多路徑可靠連接協議

OpenAI 推出了多路徑可靠連接(MRC),這是一種新型網路協議,旨在消除擁塞並將超級電腦叢集(用於前沿 AI 模型訓練)中的硬體故障影響降至最低。該協議與 AMD、Broadcom、Intel、Microsoft 與 NVIDIA 合作開發,現在已作為 Open Compute Project(OCP)規範提供,以標準化高效能 AI 網路。

解決同步 AI 訓練中的網路瓶頸

同步預訓練需要成千上萬的 GPU 同步運作;因此,因網路擁塞或硬體故障導致的單一資料傳輸延遲,可能使整個訓練工作停滯。隨著叢集規模逼近 OpenAI Stargate 基礎設施的規模,這些「故障放大器」變得更頻繁且具破壞性。

傳統網路在此規模下面臨兩大主要挑戰:

  • 擁塞: 當多個 GPU 同時向相同目的地傳送資料時,必然會產生瓶頸;但一般的網路擁塞往往源於路由效率低下。
  • 故障影響: 在傳統網路中,單一連結或交換機故障常會導致訓練工作崩潰,需要從檢查點重新啟動,或在網路重新計算路由期間造成數秒的停頓。

MRC 架構:多平面網路與封包噴灑

MRC 擴展了融合乙太網路的 RDMA(RoCE),並結合 Ultra Ethernet Consortium(UEC)以及基於 SRv6 的來源路由技術,以打造更可預測的網路結構。

多平面拓撲

MRC 不再對每個網路介面使用單一 800Gb/s 連結,而是將介面拆分為多條較小的連結(例如八條 100Gb/s 連結),分別連接至獨立的平行網路,亦即「平面」。

此架構變更使 OpenAI 能以僅兩層交換機連接超過 100,000 顆 GPU,而傳統的 800Gb/s 網路則需三至四層交換機。層級的減少降低了功耗,減少了易於故障的元件數量,亦降低了整體網路成本。

自適應封包噴灑

為了利用多平面網路的冗餘性,MRC 以封包噴灑取代單一路徑流。MRC 不再將一次傳輸指派給單一路徑,而是將單次傳輸的封包噴灑至所有不同平面中的數百條路徑。

  • 無序交付: 封包攜帶最終記憶體位址,使目的端能在封包到達時即寫入記憶體,無需考慮順序。
  • 負載平衡: MRC 監測路徑的擁塞情況,並動態將擁塞路徑切換為可用路徑,以均衡網路負載。
  • 故障復原: 若封包遺失,MRC 立即停止使用該路徑並重新傳送資料,之後透過探測封包判斷路徑是否已恢復。
  • 封包裁剪: 為了區分路徑故障與目的端擁塞,交換機可「裁剪」封包——移除有效負載但轉發標頭——以觸發明確的重傳請求,同時不將該路徑標記為失效。

使用 SRv6 來源路由簡化控制平面

MRC 消除像 BGP(邊界閘道協議)等動態路由協議的複雜性,這類協議在細微失效時往往難以診斷。

透過使用 IPv6 分段路由(SRv6),發送端將每個封包應走的完整路徑直接編碼於目的位址中,作為一系列交換機識別碼。交換機僅依照設定時的靜態路由表轉發,且此表不會變更。若路徑失效,發送端會自行偵測遺失並停止使用該路徑,從而不需要交換機重新計算路由。

生產效能與韌性

MRC 目前已部署於 OpenAI 最大的 NVIDIA GB200 超級電腦,包括位於德州阿比林的 Oracle Cloud Infrastructure(OCI)站點,以及 Microsoft 的 Fairwater 超級電腦。

OpenAI 報告了以下生產成果:

  • 連結抖動零影響: 在第 0 層與第 1 層交換機之間每分鐘多次的連結抖動,對同步預訓練工作未產生可測量的影響。
  • 無縫硬體維護: 第 1 層交換機可在服務中重新開機或修復連結,無需與訓練團隊協調,因為 MRC 會自動繞過受影響的硬體。
  • 優雅降級: 若 GPU 介面失去其八個埠中的一個,訓練工作仍可持續。MRC 重新計算路徑以避免失效的平面,並通知同儕停止使用該平面接收流量,導致的效能下降遠低於實際容量的損失。

主要技術優勢摘要

功能 對 AI 訓練的影響
多平面設計 僅以 2 層交換機連接超過 10 萬顆 GPU,降低功耗與成本。
封包噴灑 消除核心擁塞,降低不同流之間的吞吐量變異。
SRv6 來源路由 以靜態控制平面取代複雜的動態路由,於微秒級繞過故障。

Sources