《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > UniRDMA:面向混合虚拟环境的统一虚拟RDMA
UniRDMA:面向混合虚拟环境的统一虚拟RDMA
电子技术应用
戴华昇1,2,易见雨1,2,淡唯1,颜峻3,蒋金虎1,2,张为华1,2
1.复旦大学 计算与智能创新学院;2.复旦大学 大数据研究院;3.网络空间部队信息工程大学
摘要: RDMA网络在分布式应用的高性能通信中得到了广泛的应用。随着虚拟化成为数据中心的实际层,RDMA网络也需要实现虚拟化。在数据中心中,虚拟机、容器甚至嵌套在虚拟机中的容器已成为基本的资源分配实体。然而对于虚拟机和容器,RDMA的虚拟化方式各不相同,且两种资源使用者之间缺乏协调机制。为解决该问题,提出了uniRDMA(统一RDMA虚拟化),一种同时适用于虚拟机和容器的统一RDMA虚拟化框架。通过管理入口,RDMA资源可以灵活地分配给虚拟机和容器。借助uniRDMA,服务器不再需要在托管虚拟机或容器的虚拟化形式之间做出选择。经测试,uniRDMA可以部署在混合虚拟化环境中,并在实际应用中实现与SR-IOV和裸机RDMA相当的性能。
中图分类号:TP315 文献标志码:A DOI: 10.16157/j.issn.0258-7998.257311
中文引用格式: 戴华昇,易见雨,淡唯,等. 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.
UniRDMA : unified virtual RDMA for hybrid virtual environments
Dai Huasheng1,2,Yi Jianyu1,2,Dan Wei1,Yan Jun3,Jiang Jinhu1,2,Zhang Weihua1,2
1.College of Computer Science and Artificial Intelligence, Fudan University;2.Institute of Bigdata, Fudan University;3.Information Engineering University
Abstract: RDMA network is gaining popularity for high performance communication of distributed applications. As virtualiza tion has become the de-facto layer of datacenters, RDMA network also needs to be virtualized. It is common for the datacenter to have virtual machines (VMs), containers and sometimes container-in-virtual-machine as its basic resource provisioning entity. However, RDMA is virtualized in different ways for VMs or containers. There is no coordination between the two resource users. To solve this problem, this paper proposes uniRDMA (unified virtual RDMA), which is a unified RDMA virtualization framework for both VMs and containers. Through a single point of management, RDMA resources could be flexibly allocated to VMs and containers. With uniRDMA, the server machine does not have to choose which virtualization form it is hosting, VMs or containers. In this evaluation, uniRDMA can be deployed in hybrid virtualization environments and achieve similar performance to those of SR-IOV and bare-metal RDMA for real applications.
Key words : RDMA;virtualization;virtual machine;container

引言

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.chinaaet.com/resource/share/2000007145


作者信息:

戴华昇1,2,易见雨1,2,淡唯1,颜峻3,蒋金虎1,2,张为华1,2

(1.复旦大学 计算与智能创新学院,上海 200438;

2.复旦大学 大数据研究院,上海 200438;

3.网络空间部队信息工程大学,河南 郑州 450002)

2.jpg

此内容为AET网站原创,未经授权禁止转载。