中文引用格式: 戴華昇,易見雨,淡唯,等. UniRDMA:面向混合虛擬環境的統一虛擬RDMA[J]. 電子技術應用,2026,52(7):82-90.
英文引用格式: Dai Huasheng,Yi Jianyu,Dan Wei,et al. UniRDMA : unified virtual RDMA for hybrid virtual environments[J]. Application of Electronic Technique,2026,52(7):82-90.
引言
RDMA(Remote Direct Memory Access,遠程直接內存訪問)技術是一種通過網絡進行的,允許數據直接從一臺機器的程序內存傳輸到另一臺機器的程序內存的零拷貝數據傳輸方式。借助商業硬件的支持[1-3],這一傳輸操作無需CPU或操作系統的參與。這項技術使得機器之間能夠進行低延遲和高性能的數據交換,并廣泛應用于各種高性能分布式系統[4-6]、深度學習框架[7-8]和大數據系統[9-10]。
如今的分布式環境(如數據中心),通常以虛擬機或容器的形式進行虛擬化。由于這兩種形式各有優點,當前的趨勢是將虛擬機和容器并行運行[11]。RDMA要么像HyV[12]和MasQ[13]那樣為虛擬機虛擬化,要么像FreeFlow[14]那樣為容器虛擬化,或者通過硬件虛擬化的直通方法專門分配給虛擬機或容器[15]。
對于混合虛擬化環境,RDMA的虛擬化應考慮以下四方面:
(1)統一性:無論RDMA資源是由虛擬機還是容器使用,都應該由一個統一的RDMA虛擬化框架來管理。
(2)高性能:虛擬RDMA的性能應該接近硬件虛擬化或裸機RDMA的性能,無論是在吞吐量、延遲還是CPU負載方面。
(3)兼容性:RDMA虛擬化框架應具有清晰、穩定的特性,適用于不同的環境,并且對虛擬化棧中的其他軟件(如RDMA內核驅動程序)有最小依賴。
(4)高可管理性:應提供基本的云環境管理能力,如資源共享、性能隔離、虛擬網絡管理和可移植性。
然而,現有的RDMA虛擬化技術無法解決混合虛擬化棧的問題,在這種棧中,虛擬機、容器以及其他形式的虛擬化(例如嵌套在虛擬機中的容器[16])共存于同一數據中心,甚至同一臺機器上。FreeFlow[14]是為容器設計的,但由于其RDMA操作未繞過路由器和操作系統內核,因此無法實現最佳性能。HyV[12]和MasQ[13]是為虛擬機設計的,它們的虛擬化層位于內核空間,這增加了操作系統內核被攻擊的風險。其虛擬化層依賴于硬件特定的RDMA內核驅動程序,而這些驅動程序的接口穩定性較差。對于SR-IOV[15]等直通解決方案,一個RDMA資源被專門分配給特定的虛擬機或容器。這種靜態的資源分配導致利用率低下。此外,還需要根據虛擬化RDMA網絡的策略配置物理交換機或路由器,進一步增加了管理的復雜性。
為滿足上述四項需求,本文提出了一種適用于數據中心混合虛擬化環境的統一RDMA虛擬化框架,即uniRDMA。該框架由多個vRNIC(虛擬RDMA網絡接口控制器)、每臺服務器上的uniRDMA核心以及一個集中管理節點組成。每個vRNIC包含一個前端和一個后端。前端是一個代理,在客戶空間中表現為一個類似NIC設備的組件,與后端進行通信。后端實現了具有基本RDMA屬性,如QP(隊列對)和MR(內存區域)的虛擬設備模型。后端可以通過標準庫接口[17]與不同的RDMA內核驅動程序進行交互。為實現最佳性能,存儲RDMA元數據的內存會同時映射到前端和后端。uniRDMA核心旨在管理主機的虛擬和物理RDMA資源,包括實例化vRNIC后端、管理虛擬RDMA網絡配置和策略。此外,uniRDMA核心還通過Verbs庫[17]與物理RNIC進行交互。管理節點負責維護和協調各個服務器的控制策略,例如ACL(網絡訪問控制列表)和QoS(服務質量)。
本文實現了uniRDMA系統,并對其吞吐量、延遲和可擴展性進行了評估。結果表明,uniRDMA在混合虛擬化環境中的性能接近SR-IOV和裸機RDMA。在簡單網絡操作評估(吞吐量和延遲)中,與SR-IOV(硬件虛擬化)相比,uniRDMA在虛擬機中的性能下降不到4%,相較于裸機RDMA,在容器中的性能下降約10%。此外,uniRDMA具有高可擴展性,并能夠適應混合虛擬化環境中的實際RDMA應用。在使用實際應用程序進行評估時,uniRDMA表現出與SR-IOV和裸機RDMA相近的性能。
本文詳細內容請下載:
http://www.tom3567.com/resource/share/2000007145
作者信息:
戴華昇1,2,易見雨1,2,淡唯1,顏峻3,蔣金虎1,2,張為華1,2
(1.復旦大學 計算與智能創新學院,上海 200438;
2.復旦大學 大數據研究院,上海 200438;
3.網絡空間部隊信息工程大學,河南 鄭州 450002)

