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

