CN103077153A - 基于授权拷贝的虚拟机域间通信通道系统 - Google Patents

基于授权拷贝的虚拟机域间通信通道系统 Download PDF

Info

Publication number
CN103077153A
CN103077153A CN2013100426067A CN201310042606A CN103077153A CN 103077153 A CN103077153 A CN 103077153A CN 2013100426067 A CN2013100426067 A CN 2013100426067A CN 201310042606 A CN201310042606 A CN 201310042606A CN 103077153 A CN103077153 A CN 103077153A
Authority
CN
China
Prior art keywords
virtual machine
page
channel subsystem
inter
ring
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.)
Granted
Application number
CN2013100426067A
Other languages
English (en)
Other versions
CN103077153B (zh
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.)
Beihang University
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN201310042606.7A priority Critical patent/CN103077153B/zh
Publication of CN103077153A publication Critical patent/CN103077153A/zh
Application granted granted Critical
Publication of CN103077153B publication Critical patent/CN103077153B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种在多核虚拟化环境下的基于授权拷贝的客户虚拟机域间通信通道系统,它是由发送方向通道子系统、接收方向通道子系统和一个事件通道构成的。其中,单向I/O共享环是构成双向域间通信通道子系统的主要组件,它是通过Xen底层的虚拟机内存页共享机制建立起来的共享内存页面,由一个I/O环共享页和一个共享控制页构成的;事件通道用于发送端虚拟机在将完整的网络数据包发送请求描述符写入到I/O共享环后,向接收端虚拟机进行发送通告的。该系统通过在一对客户虚拟机域之间建立直接连接的域间通信通道,支持虚拟机进行双向网络通信,可支持Linux和Windows两种不同类型的虚拟机操作系统,同时也可支持PV和HVM两种类型的Xen客户虚拟机。

Description

基于授权拷贝的虚拟机域间通信通道系统
技术领域
本发明涉及计算机科学中的在多核硬件平台下的系统虚拟化领域,特别是Xen平台上虚拟机的域间通信技术。
背景技术
虚拟化技术是一种计算机系统抽象技术,通过物理平台上的虚拟机逻辑层管理计算资源,并向运行在其上的客户层提供虚拟的资源。客户机操作系统可以通过标准接口访问资源,但是接口的实现却并不直接与物理资源通信;而是由虚拟化层负责实际资源的管理,使有限数量的资源能够在多个客户机之间复用。直接运行在硬件平台上的虚拟化层软件通常被称作虚拟机监视器(Virtual MachineMonitor,VMM或hypervisor),它负责维护抽象,同时确保资源复用的正确性;客户层的主体是多个完整的计算机操作系统,称作客户机操作系统。虚拟机是真实机器和虚拟化软件(Virtualization Software)的结合。“虚拟”包括两个过程:从虚拟资源向实际资源的映射;把虚拟机的指令和系统调用所要求的功能通过实际的指令和系统调用实现。由此,虚拟机监视器可以促进资源的高效利用,同时维护客户机操作系统的隔离性,为软件系统设计提供了极大的灵活性和机动性。多核硬件平台技术的广泛使用为虚拟化技术的发展提供了机遇和挑战,具有代表性的是Intel的VT和AMD的SVM技术。正是基于上述原因,虚拟化技术越来越突出显著,应用范围愈加广泛。目前,虚拟化技术被应用在企业级系统、服务提供商、家庭桌面系统、移动设备和生产系统等方面。当前主流的虚拟化技术产品包括VMware ESXi以及Xen、KVM等,它们在服务器整合、资源优化、能量控制等方面具有很大贡献,并且逐步在云计算和高性能计算等领域得以应用,同时虚拟化技术还在虚拟集群领域有着广阔的利用前景。
域间通信是指同一物理平台之上的客户虚拟机在网络层面进行彼此之间的直接通信,这种通信方式相比Xen的前后端通信方式具有低延迟、高吞吐等特点,而且通信过程不需要特权域虚拟机的参与,从而缓解了特权域虚拟机的CPU计算资源压力,使其能够更稳定、有效的履行其管理和监控职责。域间通信通道指的是在两个客户虚拟机之间建立的用于完成彼此网络数据包传输的各种资源的统一抽象。
发明内容
本系统发明以实现客户虚拟机域之间高效的网络数据包传输为目标,通过对Xen平台底层功能机制的有效利用,设计了一种能够在一对客户虚拟机之间建立并有效运行的域间通信通道系统,它能够降低虚拟机彼此通信的网络延迟,提高整个物理平台的网络吞吐率。
该系统发明具体包括如下部分:
1.双向域间通信通道子系统
本系统发明的主体是建立在一对客户虚拟机之间的双向域间通信通道子系统,它由两个单向的子通道(发送方向和接收方向)和一个异步事件通道构成。其中,单向子通道指的是用于进行单向网络数据包传输的I/O共享环,用于在客户虚拟机之间传送网络数据包的基本描述信息;异步事件通道则是用于数据包描述性息发送后向接收方进行消息通告,其自身具有双向特征。
2.单向I/O共享环组件
单向I/O共享环是构成双向域间通信通道子系统的重要组件。它是通过Xen底层的虚拟机内存页共享机制建立起来的共享内存页面,是由一个I/O环共享页和一个控制共享页构成的。其中,I/O环共享页存储着由发送方写入的网络数据包描述符供接收方进行读取;共享控制页则是虚拟机之间建立起来的共享内存页,用于存储虚拟机双方共享的关键数据。两种共享的内存页面共同实现了一套完整、可靠的生产者消费者模型。
3.基于授权拷贝的网络数据包数据传输
网络数据包数据传输是域间通信通道系统的实际运作流程。在网络数据包的发送方虚拟机,它获取网络数据包的实际数据占用的内存页面的描述信息,将描述信息按照固定格式写入到I/O共享环中;然后,通过事件通道向接收端进行数据包的通告;接收端在收到通告后,启动接收流程,从I/O共享环中读取数据包描述符信息,构建授权拷贝操作结构数据,启动内存拷贝的超级调用,更新I/O共享环的对应指针。
在Xen虚拟化的域间通信技术领域,大部分采用共享内存方式的网络数据包传输方式,本系统发明的创新点在于:
(1)本系统发明采用了授权拷贝技术实现网络数据包数据的实际传输过程,支持双向通信;
(2)本系统发明支持PV和HVM两种类型的客户虚拟机;
(3)本系统发明既可以支持Linux系统,又可以应用在Windows系统上,基于与系统平台无关;
(4)本系统发明可支持域间通信通道的动态建立和撤销。
附图说明
图1双向域间通信通道系统构成图
图2单向I/O共享环组件原理示意图
图3基于授权拷贝技术的网络数据包数据传输流程原理示意图
具体实施方式
如图1所示,双向域间通信通道系统是建在两个客户虚拟机域之间的,对每个虚拟机而言,域间通信通道系统都是由发送方向通道子系统、接收方向通道子系统和事件通道构成的。其中,单向通道子系统依赖于一个单向的I/O共享环组件,该组件通过共享内存方式实现在发送和接收两端虚拟机之间的数据共享;事件通道是一种客户虚拟机之间的异步事件通道机制。每个虚拟机都需要申请自己的发送方向通道子系统的内存资源,再由接收端虚拟机通过内存共享映射到其虚拟地址空间中作为自己的接受方向通道子系统。事件通道则可以由任一方虚拟机申请建立,再由对端虚拟机进行连接,从而达到双向通信的能力。
网络数据包从发送端虚拟机经由发送方向通道子系统传输到接收端虚拟机的过程主要是通过单向的I/O共享环组件来实现的。单向I/O共享环组件的构成如图2所示,它是由1个I/O环共享页和1个控制共享页构成。控制共享页保存了发送和接收两端虚拟机的共享数据变量,而I/O环共享页则是由保存在共享控制页中的请求生产者、请求消费者、响应生产者和响应消费者四个指针变量进行控制管理。发送端虚拟机作为请求生产者,会在请求队列中写入网络数据包发送请求描述符,同时会更新双方虚拟机共享的请求指针;接收端虚拟机作为响应生产者,将处理网络数据包发送请求并移除这些请求,更新其私有的请求消费者指针,把请求对应的响应放在队列中,同时更新共享的响应生产者指针。发送端虚拟机既发送I/O请求,又作为响应消费者,更新其私有的响应消费者指针。
在I/O共享环组件的I/O环共享页面空间中,请求生产者和请求消费者指针之间的空间表示的是发送端已发送但接收端未接收处理的数据包I/O请求,请求消费者和响应生产者指针之间表示的是接收端已接收但未完成请求响应的数据包I/O请求,响应生产者和响应消费者指针之间表示的是接收端已完成接收但发送端未完成响应处理的数据包I/O响应。
通过域间通信通道系统进行完整的网络数据包发送和接收的流程如图3所示,图中以Linux系统中的skb_buff网络数据包表示形式为例说明。网络数据包经由域间通信通道系统进行传输的第一步就是将发送端的网络数据包数据实际占用的物理内存页面授权给接收端虚拟机能够进行拷贝;然后再将该数据包的完整信息描述符写入到I/O共享环中,图例中的数据包描述符包括了数据包数据实际占用的3个内存页面,其完整描述符占用了3个I/O共享环描述项,同时更新I/O共享环中的控制共享页中的相应指针变量的值;在完成数据包描述符的写入后,通过事件通道触发接收端虚拟机的数据包接收流程;在接收端接到事件通道通告后,就会将对应的数据包发送请求描述符从I/O共享环中读出,生成对应的数据包内核表示数据结构;根据数据包发送请求描述符中每一项的描述,接收端虚拟机申请对应数量的内核态内存页,同时构建授权拷贝操作的数据结构内容;最后,接收端把构建好的授权拷贝的数据结构作为参数传递给内存拷贝超级调用,陷入到超级调用操作中由Xen完成数据包数据的拷贝。在完成上述传输过程过后,接收端虚拟机便可以通过上层网络协议栈所提供的对应接口,向上层网络协议栈递交接收到的网络数据包。

Claims (3)

1.一种客户虚拟机域间通信通道系统,由发送方向通道子系统、接收方向通道子系统和一个事件通道构成,通过在一对客户虚拟机域之间建立直接连接的域间通信通道,支持虚拟机直接的双向网络通信。
2.如权利要求1所述的系统,其特征在于:
发送方向通道子系统和接收方向通道子系统共同提供对双向域间通信功能的支持,每个通道子系统都是基于单向I/O共享环组件,其中发送方向通道子系统的资源由发送端虚拟机申请建立,同时又被接收端虚拟机通过授权映射进行共享,作为接收端虚拟机的接收方向通道子系统的资源;
单向I/O共享环组件通过内存授权映射实现发送和接收两端虚拟机之间的共享访问,由一个I/O环共享页和一个控制共享页构成,其中,I/O环共享页存储着由发送方写入的网络数据包发送请求描述符供接收方进行读取;共享控制页是虚拟机之间建立起来的共享内存页,用于存储虚拟机双方共享的关键数据;
事件通道是建立在发送和接收两端虚拟机之间的双向异步消息通信通道,用于发送端虚拟机在将完整的网络数据包发送请求描述符写入到I/O共享环后向接收端虚拟机进行消息通告;
接收端通过读取所述请求描述符的信息,发起授权拷贝超级调用,完成网络包内存页面数据的拷贝,从而实现虚拟机之间的网络通信。
3.如权利要求1所述的系统,其特征在于,该系统独立于具体操作系统类型。
CN201310042606.7A 2013-02-01 2013-02-01 基于授权拷贝的虚拟机域间通信通道系统 Expired - Fee Related CN103077153B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310042606.7A CN103077153B (zh) 2013-02-01 2013-02-01 基于授权拷贝的虚拟机域间通信通道系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310042606.7A CN103077153B (zh) 2013-02-01 2013-02-01 基于授权拷贝的虚拟机域间通信通道系统

Publications (2)

Publication Number Publication Date
CN103077153A true CN103077153A (zh) 2013-05-01
CN103077153B CN103077153B (zh) 2016-03-02

Family

ID=48153684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310042606.7A Expired - Fee Related CN103077153B (zh) 2013-02-01 2013-02-01 基于授权拷贝的虚拟机域间通信通道系统

Country Status (1)

Country Link
CN (1) CN103077153B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015003312A1 (en) * 2013-07-09 2015-01-15 Hua Zhong University Of Science Technology Data communication on a virtual machine
CN104657224A (zh) * 2013-11-21 2015-05-27 华为技术有限公司 一种进程间通信的方法和装置
CN105556473A (zh) * 2014-12-27 2016-05-04 华为技术有限公司 一种i/o任务处理的方法、设备和系统
CN113973088A (zh) * 2021-05-18 2022-01-25 上海赫千电子科技有限公司 一种智能主机的mcu通信服务系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070153715A1 (en) * 2005-12-30 2007-07-05 Covington Michael J Reliable reporting of location data
CN101667144A (zh) * 2009-09-29 2010-03-10 北京航空航天大学 一种基于共享内存的虚拟机通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070153715A1 (en) * 2005-12-30 2007-07-05 Covington Michael J Reliable reporting of location data
CN101667144A (zh) * 2009-09-29 2010-03-10 北京航空航天大学 一种基于共享内存的虚拟机通信方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CONG XU等: "Performance Evaluation of Parallel Programming in Virtual Machine Environment", 《2009 SIXTH IFIP INTERNATIONAL CONFERENCE ON NETWORK AND PARALLEL COMPUTING》 *
李世晗等: "无线传感器网络软件技术研究", 《计算机应用研究》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015003312A1 (en) * 2013-07-09 2015-01-15 Hua Zhong University Of Science Technology Data communication on a virtual machine
US9430034B2 (en) 2013-07-09 2016-08-30 Hua Zhong University Of Science Technology Data communication on a virtual machine
CN104657224A (zh) * 2013-11-21 2015-05-27 华为技术有限公司 一种进程间通信的方法和装置
CN104657224B (zh) * 2013-11-21 2017-12-15 华为技术有限公司 一种进程间通信的方法和装置
CN105556473A (zh) * 2014-12-27 2016-05-04 华为技术有限公司 一种i/o任务处理的方法、设备和系统
CN113973088A (zh) * 2021-05-18 2022-01-25 上海赫千电子科技有限公司 一种智能主机的mcu通信服务系统

Also Published As

Publication number Publication date
CN103077153B (zh) 2016-03-02

Similar Documents

Publication Publication Date Title
CN109314726B (zh) 操作系统容器之间通讯的系统和方法
US10936535B2 (en) Providing remote, reliant and high performance PCI express device in cloud computing environments
US11429442B2 (en) Parallel and distributed computing using multiple virtual machines
US20180088804A1 (en) Virtualizing non-volatile storage at a peripheral device
US9459897B2 (en) System and method for providing data analysis service in cloud environment
CN113614722A (zh) 网络功能虚拟化基础设施中的进程到进程安全数据移动
CN104199718A (zh) 一种基于numa高性能网络缓存资源亲和度的虚拟处理器的调度方法
US20140359613A1 (en) Physical/virtual device failover with a shared backend
CN103984591B (zh) 计算机虚拟化系统的PCI设备INTx中断投递方法
US9798482B1 (en) Efficient and secure memory allocation in virtualized computer systems
CN102968331A (zh) 一种虚拟机管理系统及其文件访问方法
CN103077153A (zh) 基于授权拷贝的虚拟机域间通信通道系统
CN114662088A (zh) 用于提供对内核和用户空间存储器区域的访问的技术
US9588921B2 (en) System on a chip comprising an I/O steering engine
CN107003904A (zh) 一种内存管理方法、设备和系统
Sarddar et al. Central controller framework for mobile cloud computing
EP3671472B1 (en) Data access method and device
US20230185593A1 (en) Virtual device translation for nested virtual machines
US11983555B2 (en) Storage snapshots for nested virtual machines
US9535742B1 (en) Clustering for parallel processing
US11748135B2 (en) Utilizing virtual input/output memory management units (IOMMU) for tracking encryption status of memory pages
US20220035649A1 (en) Event notification support for nested virtual machines
Wang et al. Efficient asynchronous communication between virtual machines in embedded systems
CN102999393B (zh) 一种数据传输的方法、装置及电子设备
Garrido et al. Aggregating and managing memory across computing nodes in cloud environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160302

Termination date: 20200201

CF01 Termination of patent right due to non-payment of annual fee