RoCEv2
1. 摘要:3 秒看懂 RoCEv2
RoCEv2(RDMA over Converged Ethernet version 2)是當前高效能運算(HPC)與人工智慧(AI)訓練叢集中事實上的預設通訊協議。其本質是通過在標準乙太網路/IP 網路上封裝 InfiniBand 傳輸層,將遠端直接記憶體訪問(RDMA)能力無損地引入現有資料中心生態。該協議允許伺服器網絡卡在硬體級別直接從遠端主機記憶體讀取或寫入資料,完全繞過本機作業系統核心,實現微秒級端到端延遲(典型值 1-3 微秒)與幾乎零 CPU 佔用的資料搬運。對終端使用者而言,RoCEv2 意味著可以用通用的乙太網路交換器與線纜建置 GPU 叢集,同時獲得與專用 InfiniBand 網路相當的通訊效能,從根本上解決了大規模分散式系統的“通訊牆”問題。
2. 產業背景:摩爾定律下的“通訊稅”與網路瓶頸
隨著單晶片算力按摩爾定律持續攀升,分散式計算成為突破單點效能極限的唯一齣路。然而,傳統 TCP/IP 協議棧在這一程序中日漸成為瓶頸。以 100Gbps 網路為例,標準 Linux 核心網路棧處理一個完整的資料包穿越需要經歷應用緩衝區、套接字緩衝區、核心協議棧、驅動佇列和網絡卡 FIFO 等諸多環節,並伴隨頻繁的使用者態與核心態切換。根據一線雲端廠商在 2023 年的公開技術分享,在 100Gbps 滿負荷流量的情況下,處理 TCP 協議棧可消耗約 30-50% 的 CPU 核心資源(Intel Xeon Scalable 平台測試值)。這筆“通訊稅”直接侵蝕了本該用於業務邏輯或梯度計算的算力,並導致有效端到端時延高達數十甚至上百微秒,對於要求毫秒級屏障同步的分散式 AI 訓練而言,成為致命短板。
與此同時,隨著 GPU 從幾卡擴充套件到千卡、萬卡級,通訊模型從早期的引數伺服器進化為全規約(All-Reduce)與 All-to-All 集合通訊。在這種模式下,每輪迭代中所有節點都要同時參與資料交換,任一節點的網路抖動都會造成全域性等待(長尾效應)。因此,網路不僅需要高頻寬,更需要可預測的超低延遲和無丟包的穩定傳輸。這直接催生了將 HPC 領域的 RDMA 技術搬上乙太網路的巨大需求,而 RoCEv2 正好填補了這一空白,並迅速在 2020-2024 年間成為 AI 基礎設施的標配網路(據 Crehan Research 的資料,2023 年 RDMA 乙太網路介面卡端口出貨量已超過 InfiniBand)。
3. RoCEv2 的核心定義與價值主張
RoCEv2 由 InfiniBand 貿易協會(IBTA)在 2014 年釋出的 Annex A17 中正式定義。它將 InfiniBand 的傳輸層(Transport Layer)封裝在 UDP/IP 資料包中,使用標準乙太網路鏈路層和 IP 網路層來進行路由。UDP 目的埠固定為 4791,以此標識 RoCEv2 流量。與第一代 RoCE(基於乙太網路鏈路層直接封裝 IB 傳輸層,無法跨子網)相比,v2 版本通過 IP 頭部實現了路由能力,從而能夠無縫執行在已有的三層資料中心網路之上,支援跨網段、跨機架甚至跨資料中心的 RDMA 通訊。
其核心價值可歸納為四點:
- 極致的效能:通過硬體解除安裝和核心旁路,實現 1-3 μs 的單向時延和接近線速的吞吐,CPU 佔用率近乎為零。
- 成熟的生態:繼承了乙太網路完善的交換晶片、光纖、線纜和運維體系,採購成本僅為同等頻寬 InfiniBand 的 1/2 至 2/3(產業調研,2024)。
- 開放的標準:協議公開、多廠商支援,使用者不會被鎖定在單一供應商的專有技術棧中。
- 平滑的演進:可在現有資料中心網路上逐步引入,無需“推倒重來”,只需更換支援 RoCEv2 的網絡卡(RNIC)或升級交換器即可逐步部署。
因此,RoCEv2 被廣泛視為 SaaS 化高效能運算和 AI 訓練叢集的理想網路底座,兼具效能與通用性。
4. 技術原理:協議封裝與 RDMA 操作語義
從報文封裝結構來看,RoCEv2 巧妙地利用了現有網路協議的分層模型:
+---------------------------+
| Ethernet Header | (標準 L2 幀頭,包含 MAC 地址、VLAN 標籤)
+---------------------------+
| IP Header | (標準 L3 包頭,實現子網間路由)
+---------------------------+
| UDP Header | (目的埠 4791,源埠動態分配)
+---------------------------+
| InfiniBand Transport Base | (IB 傳輸層頭部,承載 RDMA 操作碼)
+---------------------------+
| Payload | (應用資料,如梯度張量、儲存塊)
在 RDMA 傳輸語義上,RNIC 卡直接實現實體地址與虛擬地址的轉換,並提供以下核心操作:
- SEND / RECV:類似訊息傳遞,接收方必須預先準備好接收緩衝區。
- RDMA WRITE / READ:一方可直接向遠端記憶體寫入或讀取資料,遠端 CPU 完全無感知,是實現零複製的關鍵。
- ATOMIC:支援原子性的遠端記憶體比較與交換、抓取並加等操作,適用於分散式鎖和計數。
一次典型的 RDMA 寫入過程為:傳送方應用將資料緩衝區記憶體註冊(Memory Registration)後得到本地金鑰和遠端金鑰,然後將讀寫請求提交給 RNIC 的工作佇列(Queue Pair,QP)。網絡卡硬體直接經由 PCIe 匯流排讀取資料,在晶片內部完成 IB 傳輸層封裝、UDP/IP 封裝和乙太網路幀封裝後發出。接收方 RNIC 解析各層頭部後,根據 QP 上下文和記憶體金鑰,直接通過 PCIe 將資料寫入目標物理記憶體,然後生成完成佇列事件(Completion Queue,CQ)通知應用程式。整個資料通路不涉及一次記憶體複製,也不用陷入核心,這便是 RoCEv2 能夠達到極低延遲的微觀機制。
5. 無損網路關鍵技術:PFC 與 ECN
RDMA 協議原本設計在物理層無丟失的 InfiniBand 鏈路上執行,對丟包極度敏感。一旦發生丟包,傳送方需要依賴上層重傳機制(如 Go-Back-N),延遲將陡增至數十微秒甚至毫秒級別,極大破壞效能。因此,RoCEv2 必須運行於“無損乙太網路”之上,而這依賴兩個關鍵的網路流控技術:
優先順序流控(Priority Flow Control,PFC) (IEEE 802.1Qbb 標準):
PFC 允許對乙太網路鏈路上的不同流量類別(8 個優先順序佇列)獨立施加暫停幀。典型部署中,RoCEv2 流量被置為優先順序 3 或 5,並啟用 PFC。當交換器埠佇列緩衝區水位超過預設閾值(例如,填充至 128 KB),該交換器便向對端傳送暫停幀,要求其停止傳送該類流量一段極短時間(量化單位 pause quantum)。這種逐跳反壓機制杜絕了緩衝區溢位導致的丟包。然而,PFC 是一把雙刃劍,不合理的配置會引發頭部阻塞(Head-of-Line Blocking)甚至死鎖,因此精確的緩衝區管理和閾值調優至關重要。
顯式擁塞通知(Explicit Congestion Notification,ECN) (根據 RFC 3168 擴充套件):
ECN 在 IP 頭部中標記擁塞經歷位,使交換器在資料包通過時就能標記擁塞狀態,而不需要等到丟包。RoCEv2 使用 ECN 來支援基於速率的擁塞控制演算法(DCQCN)。當接收方發現 IP 頭部 ECN 標誌被置位,會生成顯式擁塞通知報文(Congestion Notification Packet,CNP)發回傳送方。傳送方 RNIC 收到 CNP 後,快速降低注入速率(類似 TCP 的乘性減),然後逐步恢復(加性增),從而在擁塞發生伊始就進行主動調節,避免觸發 PFC。這套 DCQCN 演算法最早由微軟與 Mellanox 聯合提出(SIGCOMM 2015),如今已成為幾乎所有 RoCEv2 網絡卡實現的事實標準,是保障萬卡叢集中不發生擁塞塌縮的核心演算法。
6. 硬體實現與智慧網絡卡架構
RoCEv2 的效能高度依賴 RNIC(RDMA 網絡卡)內的硬體加速引擎。典型的 RNIC 晶片(如 NVIDIA ConnectX 系列、Intel E810、Broadcom Thor)集成了:
- 傳輸層解除安裝引擎:硬體實現 InfiniBand 傳輸狀態機,處理資料包序號、確認、重傳(Go-Back-N)、DCQCN 速率調節等。
- 門鈴與佇列管理:管理數百萬個佇列對(QP)上下文,支援零中斷輪詢模式。
- 記憶體保護與地址翻譯:在硬體內部實現記憶體登錄檔,通過 IOMMU 或專有地址對映模組直接將 RDMA 操作指向實體地址,繞過系統 MMU。
- PFC 死鎖預防與恢復:邏輯實現看門狗和自恢復機制,防止因 PFC 報文丟失導致的永久暫停。
以 NVIDIA ConnectX-7(2023 年釋出)為例,其單晶片支援雙向 400Gbps 吞吐,RDMA 訊息速率可達 215 百萬次/秒,並集成了硬體可靠傳輸(Hardware Reliable Transport)和 PCIe 5.0 x32 介面以上。這類網絡卡通常工作在輪詢模式(Poll Mode),而不是中斷模式,以最大化吞吐與低延遲。配合資料平面開發套件(DPDK)或直接與 GPU 通訊的 GPU Direct RDMA 技術,資料可以在 GPU 視訊記憶體和網絡卡之間直接搬移,徹底解放 GPU 伺服器內的 CPU 和系統記憶體,使萬億引數規模的大型模型訓練成為可能。
7. 對比視角:RoCEv2 vs InfiniBand vs iWARP
要客觀理解 RoCEv2 的定位,必須將其與另外兩種主流 RDMA 傳輸技術進行橫向對比。
InfiniBand (IB) 作為 RDMA 的原始載體,IB 使用完全不同的鏈路層、網路層與物理層,需要專用的交換器、線纜和主機通道介面卡(HCA)。其優勢在於:
- 天然無損、極低延遲(端到端 ~1 μs),且通過集中式管理可實現完美的擁塞控制和路由。
- 應用廣泛且生態成熟,尤其在高效能 Top500 排行榜中佔比極高。 劣勢則在於:
- 成本高昂,同等埠速率價格是乙太網路的 2-3 倍。
- 封閉的技術棧,運維團隊需額外掌握 IB 子網管理器等專有技能,無法複用常規網路裝置。
- 供應商高度集中於 NVIDIA/Mellanox,存在供應鏈風險。
iWARP iWARP 在 TCP/IP 層之上實現 RDMA,可以在標準 TCP 解除安裝引擎(TCP Offload Engine)上執行。優點是完全相容現有 IP 網路,能穿越路由和 NAT,且不依賴 PFC。但在過去,iWARP 因 TCP 的保序性和重傳機制,時延和 CPU 開銷均遜於 RoCEv2,且在 100Gbps 以上速率中推廣有限。近年來,隨著 TCP 解除安裝技術的改進,iWARP 在高吞吐場景中仍有一席之地,但生態遠不如 RoCEv2 繁榮。
RoCEv2 它最大程度地保留了乙太網路的通用性和成本優勢,同時提供了接近 IB 的極致效能。其代價在於必須部署 PFC/ECN 等無損技術,並對網路設計與運維提出更高的要求。但從產業採納度看,主流公有雲端廠商(如微軟 Azure、阿里雲端、AWS 2024 年也已提供 RoCEv2 高效能例項)、所有 GPU 叢集建置者幾乎全部選擇 RoCEv2 或將其作為與 IB 並行的關鍵路徑。技術選擇已從“要不要用”進入到“如何用得更穩”的階段。
8. 網路拓撲與部署考量
在實際部署中,RoCEv2 網路通常採用脊葉(Spine-Leaf)架構,以扁平化、高頻寬、低收斂比為設計原則。典型的 AI 訓練叢集(如 4000 卡 H100 叢集)會建置 8 個以上的 RoCEv2 域(Rail 最佳化),每個 GPU 配有 8 個 400Gbps RNIC 埠,連線到各自的葉子交換器。所有葉子再與脊交換器全交叉互聯,形成非阻塞交換結構。為了支援 RoCEv2 的無損特性,交換器必須支援:
- PFC 按佇列優先順序傳送暫停幀,並具備死鎖檢測與恢復機制。
- ECN 標記及加權隨機早期檢測(WRED)功能,以配合 DCQCN。
- 大緩衝區(通常深達數十 MB)以及合理的動態共享快取策略,以吸收微突發引起的瞬時擁塞。
- 硬體多跳 QoS,確保 RoCEv2 流的優先佇列不與其他流量相互干擾。
此外,網路作業系統需要提供精細化的佇列排程、ARP/ND 廣播防護和快速故障切換。運維方面,自動化配置與校驗工具不可或缺,任何一條鏈路 PFC 配置的不一致都可能引發整個 Pod 的效能崩塌。產業實踐中,往往通過 RoCEv2 驗證套件(如 NVIDIA 的 NCCL 測試、RDMA Core 的 perftest)在投產前進行全鏈路壓力測試與收斂檢測,確保萬無一失。
9. 應用實踐:人工智慧與分散式深度學習
AI 大型模型訓練是當前 RoCEv2 最大的驅動場景。千億引數級別的 Transformer 模型訓練通常採用 3D 並行(資料並行、張量並行、流水線並行)與專家混合(MoE)等複雜策略,每次迭代都會產生 All-Reduce 和 All-to-All 等集合通訊操作。以 NCCL(NVIDIA 集合通訊庫)為例,它原生支援 RoCEv2 並可以通過 IB Verbs 介面充分發揮網絡卡的 RDMA 能力。在 2023 年 NVIDIA 公佈的一個 10,000 卡 H100 叢集配置中,RoCEv2 網路承載了超過 90% 的梯度同步流量,All-Reduce 環演算法下總頻寬利用率達到 95% 以上,併成功運行了混合精度訓練。這一實踐證明,RoCEv2 已能在萬卡級別嚴格同步訓練中替代 InfiniBand。
在推論方面,大規模推論服務(如多節點張量並行推論)同樣依賴低延遲的 RDMA 傳輸來交換中間啟用,RoCEv2 的去核心化特性可以顯著降低推論請求的首 token 時延和單步推論時間,助力實現互動式 AI 應用的低延遲體驗。
10. 應用實踐:高效能運算與分散式儲存
除 AI 外,RoCEv2 在高效能運算和儲存解耦領域也有廣泛滲透。在氣候模擬、計算流體力學、基因測序等傳統 HPC 應用中使用 MPI 庫時,MPI 的 Point-to-Point 或 All-to-All 通訊可透明地跑在 RoCEv2 上。主流的 MPI 實現(如 Open MPI、Intel MPI)都通過 UCX(Unified Communication X)架構提供了對 RoCEv2 的一流支援,使既有的 HPC 任務無需程式碼改動即可遷移到 RoCEv2 叢集,獲得接近 IB 的效能。
在分散式儲存中,NVMe over Fabrics(NVMe-oF)的 RDMA 傳輸(通過 RoCEv2)可讓計算節點直接以塊裝置形式訪問遠端 NVMe 固態硬碟,繞過遠端 CPU,實現數百萬 IOPS 和微秒級訪問延遲。這極大促進了儲存與計算的分離,使得雲端原生資料庫和彈性分析系統都可享用 RDMA 帶來的高效能。
11. 標準演進與多廠商互操作性
RoCEv2 的成功離不開 IEEE 和 IETF 等標準組織的持續推動。IBTA 於 2014 年釋出 RoCEv2 規範後,IEEE 相繼完成了:
- 802.1Qbb(PFC,2010)
- 802.1Qaz(增強傳輸選擇,ETS,2011)
- 802.1Qau(反向擁塞通知,QCN,後演變為 DCQCN 的基礎) 儘管 DCQCN 本身並非正式國際標準,但其作為業界共同遵守的事實規範,被各大網絡卡廠商(NVIDIA、Intel、Marvell 等)和交換器晶片廠商(Broadcom、Cisco、華為等)廣泛實現。為保證多廠商裝置的互通,IBTA 組織了定期的 Plugfest 測試,並於 2023 年釋出了 RoCEv2 互通性測試規範 2.0。中國資訊通訊研究院也牽頭推進了“無損網路”行業標準,如《高效能運算 乙太網路網路 總體技術要求》,明確了對 RoCEv2 無損引數的一致性要求,進一步提升了國產化裝置(如華為 CloudEngine 交換器、寒武紀思元加速卡結合 RoCEv2)的生態相容性。
12. 產業生態與主要廠商
RoCEv2 的產業生態已經形成從晶片、網絡卡、交換器到軟體的完整鏈條:
- 晶片與網絡卡:NVIDIA/Mellanox(ConnectX-6 Dx, ConnectX-7, BlueField DPU)佔據絕對主導地位,其次是 Intel(E810 系列 100G/200G)、Broadcom(NetXtreme-E 系列)和 Marvell(QLogic FastLinQ)。此外,國內廠商如華為(鯤鵬 920 整合 RoCE)、雲端合智網、星融元等也在推出自研 RNIC 或 SmartNIC。
- 交換器晶片與裝置:Broadcom(Tomahawk 4/5 系列)提供業界最深的 PFC 緩衝區和 ECN 實現,是多數白盒交換器的心臟;Cisco Silicon One 和華為 CloudEngine 交換器也針對 RoCEv2 做了深度最佳化。Arista、新華三、銳捷等品牌交換器均提供了成熟的 RoCEv2 配置模板和監控工具。
- 軟體與架構:NVIDIA 的 NCCL、UCX、libfabric 是軟體生態的核心,對接 PyTorch、TensorFlow、JAX 等主流 AI 架構。管理編排方面,Kubernetes 上的 Multus 和 RDMA 裝置外掛使得容器化環境也能高效使用 RoCEv2。
- 雲端服務:微軟 Azure 在 2019 年率先大規模部署 RoCEv2 用於其加速網路,阿里雲端、華為雲端、AWS 等都推出了支援 RoCEv2 的 HPC 例項(如 AWS 的 Amazon EC2 UltraClusters)。
13. 面臨的挑戰與已知侷限
儘管 RoCEv2 取得了巨大成功,其在工程實踐中仍面臨若干顯著挑戰:
- PFC 風暴與死鎖:不當的 PFC 配置或網路故障會導致暫停幀蔓延,形成死鎖甚至全網路流量停滯。雖然現代交換器具備檢測與恢復機制,但完全避免仍需依賴嚴密的網路拓撲設計和自動化運維。
- 規模擴充套件性:當叢集規模超過 10,000 節點時,DCQCN 的響應速度可能不足,需要更精細的擁塞控制方案。部分超大規模部署已開始試驗結合帶內網路遙測(INT)的主動式擁塞控制。
- 運維複雜性:無損網路要求所有鏈路的 PFC、ECN、緩衝區閾值等引數嚴格一致,任何微小的配置錯誤都可能在特定流量模式下引發災難性效能下降,這對運維團隊的技能提出了更高要求。
- 與傳統 TCP 流量共存:RoCEv2 流量對丟包零容忍,而傳統 TCP 擁塞控制本身依賴丟包。儘管可通過乙太網路排程策略進行隔離,但在混合流量場景下保證 RoCEv2 流的無損依然是個難題。
- 供應商鎖定風險:雖然有開放標準,但高效能 RNIC 市場高度集中於 NVIDIA,且部分特性(如 GPU Direct RDMA)需要軟硬體的深度繫結,這引起業界對生態封閉性的擔憂,推動了對開放 RDMA 生態(如 OpenUCX)和跨廠商互通性的強烈需求。
14. 未來展望:邁向 800G 及超大規模算力網路
面向 2025 及以後,RoCEv2 正逐步向 800Gbps 乙太網路演進,並開始與各種新興技術融合:
- 800G 與 Ultra Ethernet:2024 年,800G 光模組開始規模出貨。RoCEv2 將自然承載 800G 乙太網路的物理層。與此同時,超乙太網路聯盟(Ultra Ethernet Consortium,UEC)正在推動下一代 RDMA 傳輸協議以應對百萬級節點,但其目標仍然是乙太網路相容,RoCEv2 的經驗和生態將是其不可或缺的基礎。
- 與 CXL 的結合:計算快速鏈路(CXL)提供記憶體共享和快取一致性,未來有望將 RoCEv2 的網路與 CXL 的記憶體域打通,實現跨節點的低延遲記憶體訪問,進一步模糊網路與匯流排的邊界。
- 可程式設計 SmartNIC/DPU 的高階解除安裝:通過將集合通訊操作(如 All-Reduce)整體解除安裝至 DPU,可顯著降低 GPU 通訊開銷,RoCEv2 將作為底層的可靠傳輸機制繼續發揮關鍵作用。
- 智慧化運維:利用 AIOps 對 RoCEv2 網路進行流級遙測和自動調優,實現自愈式無損網路,降低運維複雜度,加速其在更廣泛行業(如自動駕駛、醫療影像)中的落地。
15. 總結
RoCEv2 成功架起了高效能 RDMA 與通用乙太網路之間的橋樑,通過硬體解除安裝、核心旁路、零複製等機制,將資料中心的網路延遲降低至微秒級別,CPU 利用率幾乎完全釋放。它依賴 PFC、ECN 和 DCQCN 等建置的無損乙太網路方案,為大規模分散式訓練和 HPC 提供了媲美專用 InfiniBand 的效能,同時兼具乙太網路的成本優勢、多廠商支援和運維便利性。如今,從公有雲端的超大規模叢集到企業私有 AI 工廠,RoCEv2 已經成為高效能網路的事實標準。在向 800G、百萬節點、CXL 融合的未來演進中,RoCEv2 及其衍生技術仍將是連線算力、釋放 AI 潛能的關鍵紐帶。