vRDMA主要組成部分

vRDMA為虛擬機提供一個整體半虛擬機RDMA解決方案。主要包括以下主要部分

Libvrdma & Libibverbs

Libvrdma和libibverbs是虛擬機使用的RDMA用戶態(tài)庫文件,可供應(yīng)用程序直接調(diào)用。libibverbs是libvrdma的軟連接,用戶程序通過libibverbs訪問libvrdma。

虛擬機內(nèi)核vRDMA驅(qū)動

基于ib verb實現(xiàn)的虛擬機RDMA驅(qū)動。虛擬機應(yīng)用程序RMDA請求通過該驅(qū)動轉(zhuǎn)化為與ib verb兼容的調(diào)用請求。

ESXi/ESX RDMA協(xié)議棧

位于VMkernel,基于OFED驅(qū)動。負責物理RDMA設(shè)備管理,并為vMotion和FT提供RDMA設(shè)備訪問支持。

vRDMA VMCI

vRDMAVMCI負責虛擬機RDMA請求接受和處理,并負責與RDMA協(xié)議棧通信。

vRDMA數(shù)據(jù)通信過程

vRDMA數(shù)據(jù)通信過程主要分兩大類:一種同一臺ESX/ESXI主機的虛擬機通信;另外一種是不同ESX/ESXi主機的虛擬機通信。vRDMAVMCI通過LID與QP號確認通信雙方是否位于同一臺ESX/ESXi主機。如果是,所有數(shù)據(jù)交互都直接通過vRDMA VMCI在內(nèi)存里面完成;如果不是,vRDMA VMCI需要將請求先轉(zhuǎn)發(fā)給ESX/ESXi RDMA協(xié)議棧。vRDMAVMCI提供緩存功能,部分后續(xù)通信數(shù)據(jù)可以直接由vRDMAVMCI從緩存取得并返回為虛擬機。

vRDMA性能和功能特性

根據(jù)測試,虛擬機vRDMA的half-roundtrip延遲在5微妙左右,低于SoftRoCE而高于PCI-Passthrough方式。

vRDMA其他軟件功能特性有:

· 同一臺ESX/ESXi主機的虛擬機可以在沒有物理RDMA設(shè)備情況下進行RDMA通信。

· 支持虛擬機快照和虛擬機在線遷移。

· Subnet Management(SM)

參考

· Toward a Paravirtual vRDMA Device for VMware ESXiGuests

應(yīng)用于

· VMware vSphere

分享到

huanghui

相關(guān)推薦