RDMA
3 秒看懂
RDMA(遠端直接記憶體訪問)是一種讓一臺機器直接讀寫另一臺機器記憶體的網路技術,全程不勞煩遠端 CPU 和作業系統。它把“記憶體到記憶體”的搬運效率拉滿,延遲壓到微秒級、頻寬跑滿線速,因此被 AI 訓練叢集、高效能運算和分散式儲存當作標配。
3 分鐘產業解釋
在傳統 TCP/IP 通訊裡,資料必須反覆在核心與使用者空間之間複製,還要經過多次上下文切換,CPU 被大量無意義的搬運工作消耗,延遲居高不下。
RDMA 的設計哲學是把通訊動作一分為二:低頻建連走核心,高頻收發走使用者態。應用一旦註冊好記憶體區域並建立佇列,後續直接由網絡卡(支援 RDMA 的 NIC,一般叫 RNIC)用硬體 DMA 從使用者快取把資料打包發出;遠端網絡卡收到後也由硬體直接把有效載荷寫入目標使用者快取,完全跳過遠端 CPU 和 OS 協議棧。整條通路“零複製 + 核心旁路 + 遠端直接記憶體訪問”三位一體。
產業背景上,AI/ML 大型模型訓練是 RDMA 最大的需求放大器。千卡、萬卡叢集在引數同步(如梯度 AllReduce)時,通訊哪怕慢幾毫秒都會讓昂貴的 GPU 空轉。RDMA 的可預測微秒級延遲和極高吞吐,使得分散式訓練的加速比能夠逼近理想線性。隨著資料中心從 CPU 中心轉向 DPU/IPU 加速架構,RDMA 更是成為分散式記憶體池化、存算分離的底層支柱。
從技術棧看,RDMA 不是單一協議,而是一類“語義”的具體實現:InfiniBand(從物理層到傳輸層自成一體,極致效能)和 RoCE(RDMA over Converged Ethernet,利用增強乙太網路承載 RDMA,相容現有資料中心網路)是兩大主流。無論哪種,都在把網路從“外圍 IO”轉變為“近記憶體通路”,重新定義伺服器的邊界。
15 分鐘專家深入
RDMA 正在重塑資料中心通訊的範式,其影響遠超簡單的低延遲,它改變了分散式系統的記憶體建模與一致性設計。深入理解需要抓住三個層次:
1. 程式設計模型與記憶體語義
RDMA 的 Verbs API 提供兩種傳輸語義:通道語義(Send/Receive)和記憶體語義(RDMA Read/Write/Atomic)。通道語義需要接收端預先 Post Receive Buffer,類似傳統的兩端協商;而記憶體語義允許傳送端在僅持有遠端虛擬地址和金鑰的情況下,直接、單邊地對遠端記憶體進行讀寫或原子操作,遠端 CPU 完全不知情。這為分散式共享記憶體、RPC 返回路徑最佳化、NVMe-oF 儲存解除安裝等提供了極致效率。
但基線 RDMA 採用 弱記憶體模型(指記憶體操作的可見性可能亂序),程式必須自行處理亂序和可見性問題。近年來,學術界已提出並形式化了 RDMA^\text{TSO} 語義,試圖在總儲存定序(TSO)CPU 上精確描述 RDMA 的同步行為,為可驗證的正確實現奠定基礎。
2. 佇列與硬體流水線
所有 RDMA 操作圍繞佇列對(Queue Pair, QP)展開,每個 QP 包含傳送佇列和接收佇列。完成佇列(CQ)是獨立的物件,一個 QP 可以關聯一個或多個 CQ。上層軟體發起 Work Request(WR)投遞到 QP,RNIC 通過 PCIe 匯流排拉取資料,按照傳輸層協議封裝,注入網路。遠端 RNIC 根據連線上下文找到目標記憶體的翻譯表(重對映虛擬地址到物理頁),DMA 寫入,然後產生完成通知(CQE)告知接收方。
這種完全非同步的流水線保證了資料面無核心開銷,且能與 GPU 通過 GPUDirect RDMA 直接互訪視訊記憶體,進一步消除 CPU 中轉。
3. 擁塞控制與無損網路
RDMA 對丟包極度敏感(一旦丟包觸發重傳,相關 QP 的狀態機回退會放大延遲)。為此,承載 RDMA 的網路必須是無損或近似無損的。InfiniBand 天然提供基於信用(Credit)的鏈路流控;RoCE 則依賴 PFC(優先順序流控)和 ECN 等 DCB 特性。大規模部署時,如何平衡 PFC 死鎖避免、ECN 標記閾值與端到端擁塞控制演算法(如 DCQCN)是一項複雜的系統工程。
技術原理(最深,講機制 + 關鍵引數)
RDMA 最核心的機制可以抽象為“控制平面託管,資料平面解除安裝”,其一次典型的 Send/Receive 操作完整流程如下(以非同步模型為例):
[傳送端應用] [接收端應用]
| ^
| (1) 控制通路: 在核心態建立 MR、 | (7) 資料通路: 輪詢 CQ 得到完成通知,
| QP、CQ 等資源,註冊記憶體區 | 資料已在目標使用者快取就緒
v |
[傳送端使用者快取] <- 已註冊 |
| |
| (2) 資料通路-發起: 應用構造 WR |
| (含源地址、長度、目標) 投遞到 QP|
v |
[傳送端 RNIC] |
| (3) 硬體 DMA 從使用者快取取資料 |
| 打包為 RDMA 傳輸層報文 |
| (4) 網路注入 (InfiniBand / RoCE) |
| v
| [接收端 RNIC]
| | (5) 解包,驗證金鑰,
| | 查詢記憶體翻譯表
| v
| [接收端已註冊記憶體區] (6) 硬體 DMA 直接寫入,不通知 CPU
關鍵引數與效能邊界(綜合文獻定性描述,未列出具體數值時來自一般共識):
- 延遲:通常能穩定在 1~3 微秒 附近(單邊操作),相比於傳統 TCP 的 20~50 微秒下降一個數量級。該指標高度依賴於網絡卡 ASIC 流水線深度和物理層序列器/解串器速率。
- 頻寬:主流 RNIC 已支援 200 Gb/s(每埠),多埠、鏈路聚合可線性擴充套件,實測線速利用率可達 95% 以上。RDMA 的零複製避免了記憶體頻寬擠佔 CPU cache,因此即使在全線速下,伺服器剩餘 CPU 算力幾乎不受影響。
- 訊息速率:在小包 (e.g. 8~64 B) 場景下,可達到 數千萬次 IOPS,相比核心 TCP 協議棧有百倍提升,這得益於硬體直接把 Work Request 轉換為線纜位元流。
- CPU 佔用:通訊期間資料面 CPU 佔用接近 0 (僅用於初始化與完成通知處理),在 AllReduce 類集合通訊中,可將 CPU 完全釋放給應用計算。
安全方面需注意:RDMA 的遠端直接寫入意味著 RNIC 需要有遠端記憶體憑證。安全機制依賴 記憶體註冊 和 金鑰 (R_Key) 的保護,無論 InfiniBand 還是 RoCE,都會對每個訪問請求進行金鑰校驗。但大規模多租戶環境下,金鑰管理與隔離是實踐中的脆弱點,需要通過 I/O 虛擬化 (SR‑IOV) 或軟體層記憶體保護域嚴格限定。
技術演進史
RDMA 的概念誕生於高效能運算對頻寬和延遲的無止境追求:
- 2000 年代初:InfiniBand 架構 (IBA) 問世,從鏈路層到傳輸層全新設計,原生支援 RDMA。最初用於 HPC Top500 叢集,後逐步滲透到資料庫一體機。
- 2010 年前後:乙太網路生態不甘落後,推出 RoCE v1,將 InfiniBand 傳輸層封裝在乙太網路鏈路層,但僅限同一 VLAN(無 IP 路由)。隨後 RoCE v2 使用 UDP/IP 封裝,實現三層路由,使 RDMA 可執行在融合乙太網路上。同期 iWARP 試圖在 TCP 之上實現 RDMA 語義,但因重傳邏輯複雜而發展緩慢。
- 2015‑2020:隨著 NVMe‑oF 和分散式記憶體快取興起,RDMA 成為資料中心存量升級的關鍵技術,Mellanox(後被 NVIDIA 收購)的 InfiniBand 與 RoCE 網絡卡雙線作戰,推動 100G → 200G → 400G 速率躍遷。
- 2020‑2025:AI 大型模型訓練促成了 RDMA over Converged Ethernet (RoCE) 的大規模驗證,與 InfiniBand 一起構成“兩條腿走路”格局。學術界開始關注 RDMA 弱記憶體模型的軟體安全性,出現形式化驗證的 RDMA 同步原語庫,標誌著從“能用”走向“可靠”。
技術路線對比(量化表)
對比物件:InfiniBand vs RoCE v2 vs 傳統 TCP/IP 網路。評價維度以定性 + 趨勢符號展示(“▲” 最優,“▽” 次之,“▼” 較差),具體數值因硬體代際而異,此處採用行業通用評等。
| 指標 | InfiniBand | RoCE v2 | 傳統 TCP/IP |
|---|---|---|---|
| 網路基礎 | 專用 IB 交換器和線纜 | 標準資料中心乙太網路交換器 (需 DCB) | 通用乙太網路,無特殊硬體需求 |
| 延遲 (定性) | ▲▲▲ 極低 (微秒級,鏈路層流控) | ▲▲ 低 (微秒級,需 PFC 配合) | ▼ 高 (數十微秒,核心協議棧開銷) |
| 頻寬利用率 | ▲▲▲ 接近線速,無擁塞丟包 | ▲▲ 高,但需精心調優無損網路 | ▼ 中等,CPU 成為瓶頸 |
| CPU 解除安裝 | 全解除安裝 (資料面零 CPU) | 全解除安裝 (資料面零 CPU) | 無,CPU 需處理協議棧 |
| 路由與擴充套件 | 支援 (IB 子網管理器) | 支援 (UDP/IP 路由) | 生態最成熟,大規模路由 |
| 相容性 | 需專用網絡卡和交換器,成本高 | 需具 RoCE 功能的乙太網路網絡卡 | 所有伺服器標配 |
| 擁塞控制 | 顯式信用流控 + 自適應路由 | PFC + ECN + DCQCN,配置複雜 | TCP 流控,但延遲不可控 |
| 生態成熟度 | HPC 和 AI 訓練叢集的黃金標準 | 雲端資料中心與通用企業快速追趕 | 存量最大,無需改造 |
注:iWARP 作為另一種 RDMA 實現,因重傳效率與 CPU 開銷偏高,當前在主流 AI 資料中心部署較少,故不列入主對比。
上下游
上游 — 核心硬體與 IP
- RDMA 網絡卡晶片:高速 SerDes、RDMA 協議解析引擎、PCIe 控制器和記憶體翻譯單元(MTT)集成於單晶片。相關工藝節點跟隨乙太網路 PHY 演進。
- 高速交換器:InfiniBand 交換器具備極低埠延遲和集中管理;RoCE 則依賴主流晶片廠商的資料中心交換器 ASIC,需要支援 PFC、ECN 等增強功能。
- 光纖/銅纜互聯:有源光纜 (AOC) 與直連銅纜 (DAC) 為 RDMA 提供物理通道,400G/800G 收發器是速率升級的基石。
下游 — 消耗場景
- AI 訓練/推論叢集:免 RDMA 不訓大型模型。GPU 間 AllReduce、All‑to‑All 訊息、梯度同步等都強依賴 RDMA。
- 高效能儲存:NVMe‑oF 前端,將遠端 NVMe 盤虛擬為本地裝置,利用 RDMA 降低讀寫延遲。
- 記憶體池化:CXL 等新技術在系統內做快取一致,RDMA 則負責跨節點記憶體池訪問,實現記憶體分離式架構。
- 金融極值交易與即時分析:微秒級行情推送、分散式事務提交。
關鍵指標
在評估 RDMA 方案時,工程團隊與產業研究人員通常會比較以下維度:
- 單邊延遲與尾延遲:P99 或 P999 延遲是否因重傳而暴漲。需要無損網路保證尾延遲不翹。
- 訊息速率(Million Messages Per Second, MMPS):小包場景下硬體能否裝滿 PCIe 頻寬。
- 每瓦特有效頻寬:在功率約束下(如 OCP 機架供電),RDMA 結合高能效網絡卡能推動算力密度提升。
- 規模化穩定性:千卡/萬卡叢集執行時,QP 連線數爆炸(N 個節點需 O(N²) 連線),RDMA 軟體棧的 QP 快取和連線資源管理決定系統是否可擴充套件。
- CPU 節省量:用“每傳輸 1Gbps 所佔用的 CPU 核數”衡量,RDMA 此值趨於零;傳統 TCP 可達 1~2 核/Gbps。
供需與市場資料
從產業調研和供應鏈交叉驗證看(未涉具體份額數字)[行業觀察/未充分揭露]:
- 需求側:隨著大型模型引數邁向萬億級,訓練叢集從千卡邁向萬卡,內部網路(backend fabric)對 400G RDMA 埠的採購量年增率增長極快。據主要雲端廠商基礎設施揭露,AI 後端網路已實現 100% 採用 RDMA(InfiniBand 或 RoCE)。
- 供給側:新一代 800G RDMA NIC 的樣品已進入超大規模資料中心測試,採用更高密度 SerDes 和先進封裝,預計量產後將進一步降低每位元成本。
- 市場結構:InfiniBand 因其成熟度和“開箱即用”的無損網路,在頭部 AI 訓練叢集中仍牢牢佔據份額;RoCE 憑藉乙太網路統一管理、易於與公有雲端虛擬化深度結合的優勢,在後發推論叢集和通用 HPC 中快速滲透。整體市場保持雙位數年複合增長。
代表公司與資本對映
相關產業陣營在智慧財產權、晶片及系統層面競爭,以下均為公開資訊的業界格局描述(不構成投資建議):
- InfiniBand 生態的主導晶片/網絡卡廠商:在 HPC 和頂級 AI 叢集中佔據無可爭議的地位,其網絡卡與交換器形成高度最佳化的垂直整合。該廠商通過持續收編技術團隊和加速路線圖打造護城河。
- RoCE 網絡卡與交換器晶片創新者:高效能乙太網路 NIC 廠商通過引入可程式設計資料面引擎、DPU 整合,將 RDMA 作為必選項,提供近似 InfiniBand 的延遲體驗,同時相容大規模雲端租戶網路。乙太網路交換器晶片巨頭則不斷最佳化 PFC/ECN 行為,降低 RoCE 部署門檻。
- 雲端服務商自研網絡卡:部分頭部雲端廠商已開始設計自研智慧網絡卡,內建 RDMA 邏輯和輕量擁塞控制,以便在自有資料中心中消除第三方依賴並最佳化成本。
- 軟體/開源生態企業:提供 RDMA 程式設計庫(如 libfabric、UCX)、可驗證非同步模型工具的公司,正從安全性與易用性角度推動 RDMA 落地。
投資邏輯
- AI 資本支出的“賣鏟人”:無論誰做大型模型,都要為每塊 GPU 搭配高速互連。RDMA 網絡卡和交換器與 GPU 的比率大致保持穩定,AI 資本支出持續增大直接拉動 RDMA 出貨。
- 速率升級紅利:網路架構從 200G 向 400G/800G 迭代,每一代速率躍升都帶來市場空間的量價齊升,網絡卡與交換器物料價值提升。
- 生態鎖定下的護城河:InfiniBand 因其獨特協議棧和高昂遷移成本,形成強烈的供應鏈慣性;RoCE 陣營則依賴乙太網路龐大的存量基礎設施,加速替代傳統 TCP。
- 關注無損網路解決方案提供商:RDMA 效能的兌現很大程度取決於擁塞控制演算法、智慧交換器軟體和運維工具,能夠提供端到端調優方案的廠商擁有溢價。
- 風險點:RoCE 的大規模無丟包運維仍是工程挑戰,如果出現大面積 PFC 風暴引發的效能災難,可能促使部分客戶迴流到 InfiniBand 或轉向新互連技術。
常見誤讀糾偏(≥2)
誤讀 1:“RDMA 就是一種具體協議。”
糾偏:RDMA 是一種語義/能力,不是單一協議。InfiniBand、RoCE、iWARP 都實現了 RDMA 語義,後兩者甚至可以在同一塊網絡卡通過不同韌體模式切換。投資者看到“某公司支援 RDMA”需細問是哪種實現、是否有無損網路配套。
誤讀 2:“RDMA 完全不用 CPU,所以節省成本。”
糾偏:只在資料通路上 CPU 不參與複製;控制通路仍需 CPU 發起連線、註冊記憶體、處理完成事件。大規模叢集中,連線管理的 CPU 開銷、記憶體註冊/銷燬的耗時反而可能成為啟動延遲瓶頸,需要軟體架構精心最佳化。另外,“全解除安裝”網絡卡 ASIC 內含嵌入式處理器,其成本並未消失,只是遷移到了網絡卡。
誤讀 3:“RoCE 和 InfiniBand 效能差不多,選便宜的就行。”
糾偏:在理想的無損乙太網路環境下,RoCE v2 延遲可以接近 InfiniBand,但大規模生產網路中,每增加一跳交換器,尾延遲、死鎖風險均顯著放大。InfiniBand 的自適應路由和集中式管理能對拓撲不敏感,而 RoCE 的 PFC 可能引發級聯 HOL 阻塞。部署規模越大,維護無損網路的人力成本越不能忽視,部分大型 AI 企業選擇 InfiniBand 其實是在買“運維穩定性”。
學習路徑
- 基礎回顧:理解傳統 TCP/IP 協議棧的上下文切換與複製開銷,以及現代作業系統旁路技術(DPDK、SPDK)的演進脈絡。
- 核心概念:閱讀 RDMA 權威論文和社群文件,掌握 MR、QP、CQ、PD 等物件,親手執行
perftest或ib_write_bw等工具感受延遲。 - 協議深入:研究 InfiniBand Transport Layer specification 及 RoCEv2 封包格式,分析為什麼 UDP 源埠用於等價多路徑(ECMP)分流。
- 實戰專案:在 Linux 上配置 Soft-RoCE(rxe 驅動)模擬環境,編寫一個單邊 RDMA Read/Write 程式,理解記憶體註冊與遠端金鑰管理。
- 前沿方向:研讀 RDMA 弱記憶體模型的形式化工作(如 RDMA
^\text{TSO}),學習基於 RDMA 的分散式事務與持久記憶體系統建置,以及 GPUDirect RDMA 的大型模型訓練通訊庫(如 NCCL)實現。
一句話總結
RDMA 通過完全解除安裝資料路徑到網絡卡硬體,實現了核心旁路、零複製與遠端直接記憶體訪問,將網路通訊變為“記憶體語義”的延伸,這是 AI 時代萬卡叢集資料流動的物理定律。
延伸閱讀與來源
- Ambal G, et al. A Verified High-Performance Composable Object Library for Remote Direct Memory Access (Extended Version). arXiv:2510.10531.
- Ambal G, et al. Specifying and Verifying RDMA Synchronisation. Preprint, 2025.
- SPOTO 網路課堂. 遠端直接記憶體訪問(RDMA)_超全學習筆記. 思博網路, 2026.
- CSDN 部落格. RDMA 技術深度解析:從原理到實踐. 2025.
- 華為鯤鵬昇騰開發者社群. RDMA:一項顛覆性的網路技術. 2025.
- 部落格園 stardsd. RDMA 和 RoCE 背景介紹. 2025.
- NVIDIA Networking 白皮書 (RoCE 與 InfiniBand 技術對比). [公開廠商資料].
- Linux Kernel RDMA 子系統文件 (rdma-core, libfabric).