CN115604255A - 支持混合虚拟环境的rdma虚拟化装置 - Google Patents

支持混合虚拟环境的rdma虚拟化装置 Download PDF

Info

Publication number
CN115604255A
CN115604255A CN202110776461.8A CN202110776461A CN115604255A CN 115604255 A CN115604255 A CN 115604255A CN 202110776461 A CN202110776461 A CN 202110776461A CN 115604255 A CN115604255 A CN 115604255A
Authority
CN
China
Prior art keywords
rdma
virtual
container
virtual machine
network card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110776461.8A
Other languages
English (en)
Inventor
张为华
蒋金虎
刘强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN202110776461.8A priority Critical patent/CN115604255A/zh
Publication of CN115604255A publication Critical patent/CN115604255A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种支持混合虚拟环境的RDMA虚拟化装置,其特征在于,包括:虚拟机;容器;物理RDMA网卡;以及虚拟层,与虚拟机接口、容器接口以及物理RDMA网卡分别相通信连接,虚拟层具有对物理RDMA网卡进行虚拟化得到的虚拟RDMA网卡、转换模块、路由规则存储模块、连接管理模块、资源映射模块,虚拟RDMA网卡与虚拟机以及容器一一对应,转换模块对来自虚拟机接口的RDMA命令信息进行转换,使其与容器格式一致,虚拟RDMA网卡收到来自于虚拟机以及容器发送的连接请求命令时,虚拟层创建对应RDMA资源,将该RDMA资源映射给虚拟机以及容器,连接管理模块基于预先配置的路由规则建立虚拟机与容器之间的RDMA连接,使得虚拟机以及容器之间能够通过物理RDMA网卡直接访问彼此的RDMA资源。

Description

支持混合虚拟环境的RDMA虚拟化装置
技术领域
本发明属于计算机网络技术领域,具体涉及一种支持混合虚拟环境的RDMA虚拟化装置。
背景技术
随着软件应用规模的扩张和计算机底层硬件的发展,云计算越来越流行。云计算的虚拟化基础是容器和虚拟机,两者各自的优势不同,容器具有低损耗、快启动的轻量级特点,虚拟机具有强隔离的优势。目前,两者混合的虚拟环境在云计算中越来越普遍。在同一集群中,对于虚拟机和容器的混合虚拟化环境,需要集中的虚拟化管理平台,以增加资源的利用率,降低管理维护的复杂性,适用动态变化的业务需求。
传统的TCP网络,难以满足云计算环境中的数据传输需求。RDMA(Remote DirectMemory Access,远程直接数据存取)网络作为一种高性能的新型网络,广泛应用于各数据中心的云计算环境中,为深度学习、大数据系统、分布式存储等数据密集型应用提供服务。RDMA网络通过绕过操作系统,零拷贝,硬件协议栈等技术,具备了高吞吐量,低延迟,低CPU负载的特点。
在混合的虚拟化环境中,虚拟机和容器中的应用利用RDMA的高性能,需要一个统一的RDMA虚拟化框架。然而,由于RDMA网络与TCP的差异,已有的TCP网络虚拟化技术难以适应于RDMA。同时,已有的RDMA虚拟化方案也无法兼容虚拟机和容器,因此,统一的RDMA虚拟化框架对于混合虚拟环境十分重要。
目前,已有的网络虚拟化大多是传统网络的虚拟化,王磊、詹剑锋等人针对传统的网络进行了高性能的虚拟化(参见《多内核操作系统实现方法和实现装置及系统》,CN104077266B),吴韬、王颢等人实现了一种在虚拟化环境中管理资源的系统,对于包括计算,存储和网络的资源进行管理,该系统通过InfiniBand(无限带宽技术)连接的文件、桥接、存储和管理监视器为虚拟化系统提供高速的网络服务,该系统虽然在虚拟环境中运用了RDMA技术,但与RDMA虚拟化无关(参见《一种基于多操作系统的多内核处理装置》,CN104951374A),目前仍然缺乏与RDMA虚拟化相关,尤其是混合虚拟环境下的通用RDMA虚拟化框架。
发明内容
为解决上述问题,提供一种高性能的、支持混合虚拟环境的RDMA虚拟化装置,本发明采用了如下技术方案:
本发明提供了一种支持混合虚拟环境的RDMA虚拟化装置,其特征在于,包括:至少一个虚拟机,具有虚拟机接口;至少一个容器,具有容器接口;物理RDMA网卡;以及虚拟层(即主机虚拟层),与虚拟机接口、容器接口以及物理RDMA网卡分别相通信连接,其中,虚拟层具有对物理RDMA网卡进行虚拟化得到的多个虚拟RDMA网卡、转换模块、路由规则存储模块、连接管理模块、资源映射模块、控制模块,虚拟RDMA网卡与虚拟机以及容器一一对应,转换模块用于对来自虚拟机接口的RDMA命令信息进行转换,使该RDMA命令信息的命令格式与容器接口的命令格式相一致,RDMA命令信息至少包括连接请求命令,路由规则存储模块存储有预先配置的路由规则,当虚拟RDMA网卡接收到来自于虚拟机以及容器发送的连接请求命令时,虚拟层就创建对应的RDMA资源,并通过资源映射模块将该RDMA资源映射给虚拟机以及容器,连接管理模块基于预先配置的路由规则建立虚拟机与容器之间的RDMA连接,使得虚拟机以及容器之间能够通过物理RDMA网卡直接访问彼此的RDMA资源。
根据本发明提供的支持混合虚拟环境的RDMA虚拟化装置,还可以具有这样的技术特征,其中,连接管理模块具有获取单元、判断单元以及连接创建单元,获取单元,从路由规则存储模块中获取预先配置的路由规则,判断单元,根据预设的路由规则,判断是否允许建立虚拟机与容器之间的RDMA连接,连接创建单元,用于在判断单元判断为是时,基于预设的路由规则建立虚拟机与容器之间的RDMA连接,使得虚拟机以及容器之间能够通过物理RDMA网卡直接访问彼此的RDMA资源。
根据本发明提供的支持混合虚拟环境的RDMA虚拟化装置,还可以具有这样的技术特征,其中,连接管理模块还具有资源销毁单元,RDMA命令信息还包括资源销毁命令,当虚拟RDMA网卡接收到来自于虚拟机以及容器发送的资源销毁命令时,资源销毁单元就销毁对应的RDMA资源,并关闭对应的物理RDMA网卡设备。
发明作用与效果
根据本发明提供的支持混合虚拟环境的RDMA虚拟化装置,由于具有转换模块,统一管理的虚拟层,具有统一接口的虚拟RDMA网卡,因此为混合的虚拟化环境中的虚拟机和容器提供了统一的RDMA虚拟化框架,这种框架与传统网络虚拟化方法不同,能够使得这些虚拟机和容器能利用RDMA的高性能。
同时,本发明中的RDMA虚拟化的过程中,资源映射模块将资源和数据映射到用户应用空间,因此,在传输数据时可以绕过虚拟层,物理RDMA网卡可以直接访问虚拟机以及容器中RDMA资源中的内容,避免了转发到虚拟层的延迟,实现了零拷贝,虚拟机以及容器的RDMA性能与原生RDMA的性能接近,也不同于现有的RDMA虚拟化方法。
附图说明
图1是本发明实施例的RDMA虚拟化装置的结构框图;
图2是本发明实施例的RDMA虚拟化装置的连接示意图;
图3是本发明实施例的虚拟RDMA连接管理示意图;
图4是本发明实施例的RDMA资源映射示意图;以及
图5是本发明实施例的RDMA工作流程图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明的支持混合虚拟环境的RDMA虚拟化装置作具体阐述。
<实施例>
本实施例的支持混合虚拟环境的RDMA虚拟化装置为具备RDMA物理网卡的服务器集群,服务器操作系统为Linux,虚拟层通过Unix套接字监听请求。
图1是本发明实施例的RDMA虚拟化装置的结构框图,图2是本发明实施例RDMA虚拟化装置的连接示意图。
如图1及图2所示,支持混合虚拟环境的RDMA虚拟化装置1包括虚拟机11、容器12、虚拟层13、物理RDMA网卡14。
虚拟机11以及容器12均运行有应用,均具有接口,用于通过接口发出连接请求命令以及资源销毁命令,以及连接建立后用于传输数据。
虚拟层13用于统一集中管理虚拟机11以及容器12的RDMA使用。
如图1所示,虚拟层13具有转换模块21、虚拟RDMA网卡22、连接管理模块23、资源映射模块24、控制模块25、路由规则存储模块26。
转换模块21与虚拟机11一一对应,用于将虚拟机11发出的命令信息格式转换为与容器的格式一致。
虚拟RDMA网卡22与虚拟机11以及容器12一一对应,具有统一接口,用于接收连接请求命令以及资源销毁命令。
连接管理模块23,用于为虚拟机11以及容器12创建请求的RDMA连接。
资源映射模块24,用于将资源和数据映射到虚拟机11以及容器12的应用空间。
控制模块25,用于处理接收到的连接请求命令以及资源销毁命令。
路由规则存储模块26,存储有预先配置好的路由规则。
本实施例中,预先配置的路由规则为虚拟机11到容器12经由虚拟层1。
在主机启动虚拟层1,然后启动虚拟机11以及容器12,由虚拟层1给虚拟机11以及容器12配置虚拟RDMA网卡14。
以上的初始化工作完成后,虚拟机11以及容器12可以发送连接请求命令,该命令会被转发到主机虚拟层13,其中,虚拟机11发出的连接请求命令会通过转换模块,将该命令的格式转换为与容器的格式一致。
此时,虚拟层13中的控制模块25统一地打开与虚拟RDMA网卡14对应的物理RDMA网卡14,同时,控制模块25为虚拟机11以及容器12创建对应的RDMA资源,并通过资源管理模块24将该RDMA资源映射到虚拟机11以及容器12的应用中。
图3是本发明实施例虚拟RDMA连接管理示意图。
如图3所示,虚拟层13收到连接请求命令后,连接管理模块23查询路由规则存储模块26中配置的路由规则,判断是否允许相应的RDMA连接建立,并将命令执行结果返回给虚拟机11、容器12以及容器31中的应用。
图3中,虚拟机11与容器12连接到同一个虚拟层13,也连接到同一块物理RDMA网卡14,连接管理模块23中的获取单元获取路由规则存储模块26中存储的路由规则,判断单元根据该路由规则判定其为恶意RDMA连接,因此连接管理模块23拒绝此次连接请求,并将结果返回给虚拟机11以及容器12中的应用。容器12与容器31分别连接到不同的虚拟层,也连接到不同的物理RDMA网卡,但判断单元根据路由规则,允许建立连接,因此连接管理模块23建立相应的RDMA连接,并将结果返回给容器12以及容器中31的应用。
虚拟机11以及容器12中的应用可以发送资源销毁命令,该命令同样被转发给虚拟层13,虚拟层13接收到该命令后,控制模块25就销毁对应的RDMA资源,并关闭对应的物理RDMA网卡14。
图4是本发明实施例的RDMA资源映射示意图。
如图4所示,本实施例的RDMA连接建立以后,虚拟机11以及容器12的应用在RDMA数据路径中,使用RDMA资源收发数据时,物理RDMA网卡14可以直接接收并执行来自虚拟机11以及容器12的工作请求。
图5是本发明实施例的RDMA工作流程图。
如图5所示,混合虚拟环境的RDMA虚拟化装置1工作过程包括如下步骤:
步骤1,在虚拟机以及容器中,连接请求命令被转发到虚拟层,控制模块统一地打开与虚拟RDMA网卡对应的物理RDMA网卡,并将结果返回给虚拟机以及容器中的应用;
步骤2,虚拟层在接收该命令创建RDMA资源时,资源映射模块将该RDMA资源映射到虚拟机以及容器的应用中;
步骤3,虚拟层在接收该命令时,连接管理模块会查询路由规则存储模块中存储的路由规则,如果规则允许,将基于物理RDMA网卡创建连接,并将结果返回给虚拟机以及容器中的应用;
步骤4,连接建立后,虚拟机以及容器中应用的数据传输操作在本地直接执行;
步骤5,传输完成后,虚拟机以及容器中的应用发送资源销毁命令,虚拟层接收到该命令后,控制模块销毁由物理RDMA网卡创建的资源,并关闭对应的物理RDMA网卡设备,并将结果返回给虚拟机以及容器中的应用。
实施例作用与效果
根据本实施例提供的支持混合虚拟环境的RDMA虚拟化装置,由于具有转换模块,统一管理的虚拟层,具有统一接口的虚拟RDMA网卡,因此为混合的虚拟化环境中的虚拟机和容器提供了统一的RDMA虚拟化框架,这种框架与传统网络虚拟化方法不同,能够使得这些虚拟机和容器能利用RDMA的高性能。
同时,本实施例的RDMA虚拟化的过程中,资源映射模块将资源和数据映射到用户应用空间,因此,在传输数据时可以绕过虚拟层,物理RDMA网卡可以直接访问虚拟机以及容器中RDMA资源中的内容,避免了转发到虚拟层的延迟,实现了零拷贝,虚拟机以及容器的RDMA性能与原生RDMA的性能接近,也不同于现有的RDMA虚拟化方法。
上述实施例仅用于举例说明本发明的具体实施方式,而本发明不限于上述实施例的描述范围。
在上述实施例中,建立的是一个虚拟机与一个容器之间的RDMA连接,在本发明的其他方案中,建立RDMA连接的也可以是虚拟机与虚拟机之间,容器与容器之间。
在上述实施例中,支持混合虚拟环境的RDMA虚拟化装置中仅使用了一块物理RDMA网卡,在本发明的其他方案中,也可以使用多块物理RDMA网卡。

Claims (3)

1.一种支持混合虚拟环境的RDMA虚拟化装置,其特征在于,包括:
至少一个虚拟机,具有虚拟机接口;
至少一个容器,具有容器接口;
物理RDMA网卡;以及,
虚拟层,与所述虚拟机接口、容器接口以及所述物理RDMA网卡分别相通信连接,
其中,所述虚拟层具有对所述物理RDMA网卡进行虚拟化得到的多个虚拟RDMA网卡、转换模块、路由规则存储模块、连接管理模块、资源映射模块,
所述虚拟RDMA网卡与所述虚拟机以及所述容器一一对应,
所述转换模块用于对来自所述虚拟机接口的RDMA命令信息进行转换,使该RDMA命令信息的命令格式与所述容器接口的命令格式相一致,所述RDMA命令信息至少包括连接请求命令,
所述路由规则存储模块存储有预先配置的路由规则,
当所述虚拟RDMA网卡接收到来自于所述虚拟机以及所述容器发送的所述连接请求命令时,所述虚拟层就创建对应的RDMA资源,并通过所述资源映射模块将该RDMA资源映射给所述虚拟机以及所述容器,
所述连接管理模块基于所述路由规则建立所述虚拟机与所述容器之间的RDMA连接,使得所述虚拟机以及所述容器之间能够通过所述物理RDMA网卡直接访问彼此的所述RDMA资源。
2.根据权利要求1所述的支持混合虚拟环境的RDMA虚拟化装置,其特征在于,还包括:
其中,所述连接管理模块具有获取单元、判断单元以及连接创建单元,
获取单元,从所述路由规则存储模块中获取预先配置的路由规则,
判断单元,根据所述的路由规则,判断是否允许建立所述虚拟机与所述容器之间的RDMA连接,
连接创建单元,用于在所述判断单元判断为是时,基于所述路由规则建立所述虚拟机与所述容器之间的RDMA连接,使得所述虚拟机以及所述容器之间能够通过所述物理RDMA网卡直接访问彼此的所述RDMA资源。
3.根据权利要求1所述的支持混合虚拟环境的RDMA虚拟化装置,其特征在于,还包括:
其中,所述连接管理模块还具有资源销毁单元,
所述RDMA命令信息还包括资源销毁命令,
当所述虚拟RDMA网卡接收到来自于所述虚拟机以及所述容器发送的所述资源销毁命令时,所述资源销毁单元就销毁对应的RDMA资源,并关闭对应的所述物理RDMA网卡设备。
CN202110776461.8A 2021-07-09 2021-07-09 支持混合虚拟环境的rdma虚拟化装置 Pending CN115604255A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110776461.8A CN115604255A (zh) 2021-07-09 2021-07-09 支持混合虚拟环境的rdma虚拟化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110776461.8A CN115604255A (zh) 2021-07-09 2021-07-09 支持混合虚拟环境的rdma虚拟化装置

Publications (1)

Publication Number Publication Date
CN115604255A true CN115604255A (zh) 2023-01-13

Family

ID=84840770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110776461.8A Pending CN115604255A (zh) 2021-07-09 2021-07-09 支持混合虚拟环境的rdma虚拟化装置

Country Status (1)

Country Link
CN (1) CN115604255A (zh)

Similar Documents

Publication Publication Date Title
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US11934341B2 (en) Virtual RDMA switching for containerized
US20210399996A1 (en) Virtual computing services deployment network
US8208396B2 (en) Discovery and capability exchange management in a virtualized computing platform utilizing a SR-IOV adapter
US20200356401A1 (en) Method for Accessing Remote Acceleration Device by Virtual Machine, and System
CN111966446B (zh) 一种容器环境下rdma虚拟化方法
EP3022888B1 (en) Network element and method of running applications in a cloud computing system
WO2021185083A1 (zh) Vnf实例化方法及装置
US6965911B1 (en) Efficiently exporting local device access onto a system area network using a direct-call interface
CN103716221A (zh) 一种在未来网络ndn下的广域网中虚拟机在线迁移方法
CN111290829A (zh) 访问控制模组、虚拟机监视器及访问控制方法
CN115576654B (zh) 一种请求处理方法、装置、设备及存储介质
CN115604255A (zh) 支持混合虚拟环境的rdma虚拟化装置
CN113254160B (zh) 一种io资源请求方法和装置
CN107704618B (zh) 一种基于aufs文件系统的热迁徙方法和系统
KR102121713B1 (ko) 컨테이너 기반의 클라우드 서비스 제공 방법
CN103810019A (zh) 一种支持进程粒度网络计算的虚拟计算环境系统
KR102616104B1 (ko) 클라우드 서비스 제공 시스템
CN118118348A (zh) 一种虚拟化网络功能vnf的实例化方法及装置
CN115391067A (zh) 一种基于影子进程实现安卓应用分布式能力的方法及系统
CN111181827A (zh) 一种arm处理器下uart总线接口网络化的方法
CN117033336A (zh) 一种安全高效使用网络文件存储方法及系统
CN112118123A (zh) 一种基于堆叠的网关管理方法及系统
CN114218732A (zh) 一种基于rdp协议的bim设计云平台架构

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination