資料來源:火山引擎-開發者社區
近日,火山引擎基于部分云服務器實例規格邀測發布 vRDMA 特性,提供云上 VPC 內大規模 RDMA 加速能力,可兼容傳統 HPC 應用、AI 應用以及傳統 TCP/IP 應用,降低大眾化場景的適配門檻,讓更多的應用可以體驗到更好的上云性能。
傳統的 TCP/IP 傳輸,在傳輸數據時需要經過多層協議的封裝和解封,且需要通過內核進行處理,涉及多次數據復制和上下文切換,存在較多的局限性,無法滿足對網絡性能要求極為嚴苛的場景,如高性能計算、模型推理、機器學習、大數據傳輸等領域。
RDMA 技術的出現以及被廣泛應用,得益于其相較于傳統的 TCP 網絡通信協議的顯著優勢。RDMA 打破了傳統的分層架構,允許應用程序直接訪問遠程計算機的內存,無需經過操作系統內核和協議棧的多次數據拷貝和處理,實現了內存到內存的直接數據傳輸,大大減少了數據處理的中間環節,延遲可降低至微秒級。
火山引擎過去已在高性能計算 GPU 型實例上提供 RDMA 通信能力,對 RDMA 使用場景也進行了諸多產品支持,詳情可見:
- 在機器學習平臺上通過 RDMA 網絡加速訓練:https://www.volcengine.com/docs/6459/96563
- 在 VKE 集群中使用 RDMA 資源:https://www.volcengine.com/docs/6460/1125782
但是,RDMA 依賴于網絡的無損特性、運維成本與使用成本較高,且傳統的網絡隔離機制將 RDMA 通信限制在單一集群內,導致應用范圍受限。因此,出于對成本效益及適配多樣化場景的考慮,如何“使 RDMA 協議運行在云上 VPC 內,同時具備無限接近物理網絡的性能表現”成為火山引擎的演進方向,vRDMA 應運而生。
什么是 vRDMA
vRDMA 是火山引擎自研的云上彈性 RDMA 網絡,將 RDMA 技術應用到了 VPC 網絡中。與傳統需配備單獨硬件網卡的 RDMA 不同,vRDMA 依附于 VPC 內的彈性網卡 ENI。用戶僅需為實例掛載開啟了 vRDMA 的彈性網卡,便可在不改變原有業務組網的情況下激活 RDMA 通信能力,且無需額外付費。
vRDMA 底層搭配全棧自研的擁塞控制 CC(Congestion Control)算法,可以容忍 VPC 網絡中的延遲、丟包等問題,在有損的網絡環境中依然有良好的性能表現。同時可以復用 VPC 網絡的隔離性進行安全通信,在享有傳統 RDMA 網絡高吞吐、低延遲特性的同時,突破集群限制,支持更高的彈性擴展,實現秒級的大規模 RDMA 組網。
當前,vRDMA 已在部分實例規格上啟動邀測。用戶使用支持的公共鏡像或自行安裝火山引擎提供的 vRDMA 驅動即可使用。ECS 實例可通過開啟了 vRDMA 的彈性網卡同時進行 RDMA 與 TCP/IP 協議通信,二者共享實例網絡帶寬。
技術優勢
- 高性能:vRDMA 將 RDMA 技術應用到 VPC 網絡中,使彈性網卡具有 RDMA 特性(低 CPU 負載、低網絡延遲)。您可以在云網絡環境中體驗到 vRDMA 帶來的出色性能,獲取與物理 RDMA 一致的性能體驗。
- 共享 VPC 網絡:vRDMA 功能完全復用 VPC 網絡,可以在原來的業務組網架構下直接啟用 RDMA 功能,無需再區分 VPC 彈性網卡與 RDMA 網卡,使用更加靈活便捷。
- 兼容性:支持標準的 Verbs 以及大部分 Infiniband 通信語義,支持業內主流通信庫及中間件,無需對原有的應用程序進行大規模的修改,降低技術升級和遷移成本。
- 彈性擴展:不同于傳統的 RDMA 需要單獨的硬件網卡,vRDMA 依附于彈性網卡,您可以隨時創建支持 vRDMA 屬性的彈性網卡并綁定到實例,輕松實現彈性擴展,滿足不同場景下對網絡功能的動態需求。
- 隔離性:vRDMA 能夠與傳統 TCP/IP 共享實例帶寬。通過對交換機共享緩存的合理配置以及隊列配置,實現了 vRDMA 和 TCP/IP 在交換機上的 buffer 和流量隔離。通過 vQos 和多級 Meter 能力,支持 vRDMA 和 TCP/IP 出入向的流量細粒度隔離。
- 大規模組網:傳統 RDMA 基于無損網絡,規模部署成本高且困難。vRDMA 僅依賴有損的以太網絡,同時結合自研的擁塞控制 CC 算法、網卡上的 TX window 和 Adaptive retransmission 的特性,在大規模、跨集群、長距離通信場景下能夠提供高性能的網絡服務。
性能表現
得益于自研高性能擁塞控制算法、自研高性能 vSwitch 等軟硬件一體化技術棧,火山引擎 ECS 實例的 vRDMA 帶寬最高可達 320Gbps,極限時延可低至 5us,每秒消息數最高可達 50M。
平均時延和長尾時延性能是衡量云網絡的重要指標之一,直接影響了網絡通信的實時性和響應性,對于分布式文件系統、大模型推理、HPC 超算等業務場景尤為重要。vRDMA 的平均傳輸延遲僅為基于 Kernel TCP/IP 的1/5,平均傳輸時延可降低 80%,長尾傳輸時延可降低 99%。
單連接吞吐是指在網絡通信過程中,單個連接在單位時間內傳輸的數據量。對于分布式文件系統、大模型訓練等大象流業務場景尤為重要。vRDMA 單 QP 的帶寬對比基于 Kernel TCP/IP 單連接,帶寬可提升至 300%。
最佳實踐
vRDMA 能夠大幅降低大規模集群網絡互聯帶來的網絡通信延遲,大幅提升分布式計算的性能和性價比,可以在多領域多業務場景中得到應用:
- 分布式存儲:受 GPU 計算集群的軟硬件故障等客觀因素影響,大模型訓練中斷后基于 checkpoint 的恢復,依賴高性能的分布式存儲服務。計算節點與存儲服務之間可以通過 vRDMA 實現高性能通信,同時 VPC 網絡也可以為模型算法、用戶數據、訓練數據等提供安全隔離的能力。在分布式文件系統存算通信場景下,vRDMA 對比 Kernel TCP/IP 全透讀場景讀帶寬可提升 35%,全命中場景讀帶寬可提升 60%。
- 大模型推理:大模型 PD 分離推理架構中,由于 Prefilling 階段與 Decoding 階段分別屬于計算密集型與訪存密集型,一般可選用不同的機型。PD 異構集群之間使用 vRDMA 通信可以加速 KV Cache 傳輸,充分利用不同 GPU 的特點,實現高效、快速的模型推理,提升推理系統整體的吞吐并降低延遲。在 LLM 大模型推理場景,Second Token 以及 TPOT 長尾時延,vRDMA 對比 Kernel TCP/IP 可下降 50%。
- 高性能計算:越來越多的HPC類業務逐步從自建數據中心遷移到公有云,如工業仿真場景,在依賴 RDMA 協議進行高帶寬、低延時通信的同時,可以借助 vRDMA 提升部署的靈活性并降低資源使用成本。在傳統 HPC 高性能計算場景,LS-DYNA 和 Star-CCM 的 2 節點線性度,vRDMA 對比 Kernel TCP/IP 可提升 30%,并且可支持更大節點數的并行計算能力。
結語
火山引擎 vRDMA 相關技術的論文已經被 ACM SIGCOMM 2025 主會接收,SIGCOMM 是 ACM 組織在通信網絡領域的旗艦型會議,位列網絡通信領域會議之首,對論文的質量和數量要求極高,要求具有基礎性貢獻、領導性影響和堅實系統背景,通常錄用率低于 20%。此外,火山引擎自研擁塞控制算法論文已經被 CCF A 類會議 ATC 2025 主會接受,ATC 是計算機系統領域的頂級會議,ATC 2025 會議錄用率低于 16%。更多關于火山引擎 vRDMA、自研擁塞控制算法的技術細節我們將會持續披露。
未來,火山引擎會將 vRDMA 建設為云上高性能網絡通信的通用能力,逐步覆蓋到更多云服務器實例規格。同時持續完善 vRDMA 生態建設,結合火山引擎自研傳輸層優化技術、自研高性能集合通信庫,不斷探索未來 RDMA on VPC 演進路線,讓 RDMA 網絡從支撐小眾的 AI 與 HPC 類應用,走向支持通用類計算場景,持續提升火山引擎的網絡技術競爭力。