CN109857517B - 一种虚拟化系统及其数据交换方法 - Google Patents

一种虚拟化系统及其数据交换方法 Download PDF

Info

Publication number
CN109857517B
CN109857517B CN201910006957.XA CN201910006957A CN109857517B CN 109857517 B CN109857517 B CN 109857517B CN 201910006957 A CN201910006957 A CN 201910006957A CN 109857517 B CN109857517 B CN 109857517B
Authority
CN
China
Prior art keywords
memory
virtual machine
qemu
address
vswitch
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.)
Active
Application number
CN201910006957.XA
Other languages
English (en)
Other versions
CN109857517A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201910006957.XA priority Critical patent/CN109857517B/zh
Publication of CN109857517A publication Critical patent/CN109857517A/zh
Application granted granted Critical
Publication of CN109857517B publication Critical patent/CN109857517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种虚拟化系统及其数据传输方法。所述系统,包括多个Qemu进程和一个vSwitch进程;其中,所述vSwitch进程管理主机数据包缓冲区,所述主机数据包缓冲区由所述vSwitch进程和全部所述多个Qemu进程共享;所述Qemu进程管理由该Qemu进程独享的虚拟机内存,并且所述Qemu进程具有用于从所述主机数据包缓冲区中将数据拷贝至所述虚拟机内存的拷贝线程;在所述虚拟化系统中还设置有被所述vSwitch进程和至少一个所述Qemu进程所共享的地址内存区,用于为所述拷贝线程提供所述虚拟机内存的可用地址。

Description

一种虚拟化系统及其数据交换方法
技术领域
本发明涉及计算机技术领域,尤其涉及物理机与虚拟机进行通信的技术领域。
背景技术
计算机技术领域中的虚拟化技术通过在一台物理机(Host)上运行多台虚拟机(VM),虚拟机之间彼此独立,共享物理机的资源,打破实体结构间的不可切割的障碍,进而可以实现将网络功能虚拟化的效果。为了实现网络传输,虚拟机需要与物理网卡配合来实现数据包的收发以与外界通信。起初,人们利用全虚拟化(full virtualization)技术,在虚拟机的管理程序Qemu(VM运行在Qemu进程中)中使用软件环境来模拟物理机的各项设备,包括网卡。这种网络I/O方式需要引入多次内存拷贝,才能将数据包从物理网卡转移到虚拟机的用户内存。多次的内存拷贝会引入数据包通信的延迟,降低了数据包吞吐量,导致性能很差,不符合实际的生产需求。
以此为背景,为了满足实际生产环境的要求,业界先后提出了多种半虚拟化(halfvirtualization)技术。其中最具代表性且最为广泛应用的一种虚拟化I/O架构为vhost-user,其由vSwitch(虚拟交换机进程)共享VM的内存,以减少在内存拷贝数据时在用户态与内核态之间的切换次数。然而,基于该架构的数据交换方式也引入了新的安全问题,其共享内存的机制使得vSwitch可以直接读写VM全部内存且没有任何限制,若是vSwitch存在漏洞而被黑客破解控制,例如修改virtqueue(虚拟队列进程)中的数据包描述符并配合一些精心设计的数据包来读取或覆写VM内存,这将带来非常严重的安全问题,尤其是针对诸如云计算应用等对虚拟化网络的安全性具有极高要求的应用。
为此,人们提出一种利用vIOMMU解决上述安全问题的方法,其由Qemu检查物理地址转换请求的合法性来解决上述安全问题,然而这也大幅增加了在前后端之间的通信量,在最坏情况下会使得系统性能降低到原来的10%。另一方面,在vIOMMU中VM的内存依然可被vSwitch读写,因而仍然存在VM被非法访问和控制的风险。
目前绝大多数全虚拟化I/O架构都不能兼顾性能、安全性、兼容性这几方面。在工业生产环境中最为广泛应用的半虚拟化I/O架构vhost-user在兼容性和性能方面虽然已经达到了较好的效果,也有稳定长期的社区支持,但是其在安全性上仍然存在缺陷。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种虚拟化系统,包括多个Qemu进程和一个vSwitch进程;其中,
所述vSwitch进程管理主机数据包缓冲区,所述主机数据包缓冲区由所述vSwitch进程和全部所述多个Qemu进程共享;
所述Qemu进程管理由该Qemu进程独享的虚拟机内存,并且所述Qemu进程具有用于从所述主机数据包缓冲区中将数据拷贝至所述虚拟机内存的拷贝线程;
在所述虚拟化系统中还设置有被所述vSwitch进程和至少一个所述Qemu进程所共享的地址内存区,用于为所述拷贝线程提供所述虚拟机内存的可用地址。
优选地,根据所述虚拟化系统,其中所述多个Qemu进程和所述一个vSwitch进程运行在DPDK框架下。
优选地,根据所述虚拟化系统,其中所述地址内存区所采用的数据结构为环表。
优选地,根据所述虚拟化系统,其中所述拷贝线程每一次批处理的数据包数目被设置为所述virtqueue的表项数目与所述地址内存区的表项数目中的最小值。
优选地,根据所述虚拟化系统,其中所述虚拟机内存中具有存储有虚拟机内存中可用地址的virtqueue环表;所述Qemu进程中的所述拷贝线程用于从所述virtqueue环表中获取可用于存储所述数据包的虚拟机内存中的地址。
优选地,根据所述虚拟化系统,其采用Linux内核中的SCHED_FIFO调度针对所述多个Qemu进程的拷贝线程。
基于上述任意一种虚拟化系统的数据传输方法,包括:
1)由vSwitch进程确定存储在其主机数据包缓冲区中的数据包的目的虚拟机;
2)由与所述目的虚拟机对应的Qemu进程的拷贝线程从所述主机数据包缓冲区中将数据拷贝至所述虚拟机内存。
优选地,根据所述方法,其中步骤2)包括:
2-1)vSwitch进程在地址内存区中写入所述数据包在所述主机数据包缓冲区中的地址;
2-2)所述拷贝线程通过轮询监听所述地址内存区中的内容,从所述地址内存区中读取所述数据包在所述主机数据包缓冲区中的地址;
2-3)由所述拷贝线程从所述主机数据包缓冲区中的所述地址中读取数据包并将其拷贝至所述虚拟机内存。
优选地,根据所述方法,其中步骤2-3)包括:
由所述拷贝线程从所述虚拟机内存的virtqueue环表中获取可用于存储所述数据包的虚拟机内存中的地址,以将所述数据包拷贝至所述虚拟机内存的相应地址。
一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序在被执行时用于实现上述任意一项所述的方法。
与现有技术相比,本发明的实施例具有以下优点:
通过调整虚拟化系统中共享内存的方式,保证了VM内存和物理机内存之间的隔离性,使得一个vSwitch进程不再能够在没有任何限制的情况下访问和修改各个VM内存。在本发明实施例所提供的虚拟化系统中,拷贝数据包的功能由运行在各个Qemu进程上的拷贝线程实现,攻击者必须在突破vSwitch进程后继续突破处于QEMU/KVM虚拟化层上的Qemu进程才能够访问与该Qemu进程对应的VM内存。另外QEMU是虚拟化层中的hypervisor,其攻击难度也比vSwitch这一用户态进程高。因而,相比于传统vhost-user架构仅突破vSwitch进程就可以访问全部各个VM内存,基于该实施例的方案,攻击者除去突破vSwitch进程以外还必须把所有的QEMU进程攻破才能达到相同破坏效果,因而该实施例改善了虚拟化系统的安全性能并且明显提高了攻击该虚拟化系统的难度。
另外,在本发明的实施例中,没有对virtio标准和VM进行修改。virtio标准最基本的要素都集中在前端驱动、数据包在内核的内存管理、virtqueue通信模式等。本发明实施例中的所有修改都集中在后端驱动,例如针对vSwitch的后端驱动和QEMU中新增的线程,其完全可以兼容目前的virtio标准。由于没有对虚拟机和前端驱动做出修改,使得使用虚拟机的用户不会感知到这种调整。
在数据交换方面,本发明的实施例在内存拷贝数据时在用户态与内核态之间的切换次数也与现有的vhost-user架构完全一致,对vSwitch进程和VM内存而言,数据的通路几乎没有发生任何改变。因而,本发明的实施例仍然可以获得与vhost-user架构类似的数据交换效率。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1是现有的vhost-user虚拟化系统示意图;
图2是根据本发明的一个实施例对现有vhost-user虚拟化系统的改进方案示意图。
具体实施方式
为了解决背景技术中所提到的缺陷,发明人对现有的vhost-user技术进行了研究。图1为基于vhost-user的虚拟化系统的框图。如图1所示,在该架构中,每个Qemu进程上运行有一个VM,该VM的内存由Qemu进程分配管理,并与vSwitch进程共享。基于这样的架构,vSwitch进程可以通过与任意一个虚拟机对应的vhost端口和virtqueue来读写相应的VM内存。一旦黑客控制了该vSwitch进程,则获得了与其共享内存的全部虚拟机的访问权和修改权,这样的安全隐患尤其不利于需要大规模部署多租户的商业云计算平台来保护其用户数据。
基于图1示出的vhost-user的虚拟化系统,若需要将一个由物理网卡接收的数据包提供至相应的虚拟机VM1,其数据流向,包括:①数据包通过直接内存存取(DirectMemory Access,DMA)被送入vSwitch进程的主机数据包缓存区中。②vSwitch进程通过查找流表,确定该数据包的目的虚拟机为VM1。③vSwitch进程通过其vhost端口访问位于VM1内存中的virtqueue以确定VM1内存的数据包缓存区中的一个可用的地址,并由vhost端口以拷贝的方式将该数据包写入所述地址。④vSwitch进程更新VM1内存中的virtqueue。⑤VM1的virtio驱动收到来自vSwitch进程的evenfd通知,根据该通知从VM1内存的相应位置处获取该数据包。
可以看到,vSwitch进程的每个vhost端口具有访问任何一个VM内存的权限,且不会受到任何限制。
针对这一点,本发明提供了一种对现有vhost-user虚拟化系统的改进方案。图2示出了根据本发明的一个实施例的虚拟化系统,其与vhost-user相类似,同样在Qemu进程和vSwitch进程之间共享内存,区别在于:在该实施例中,由运行在vSwitch进程上的主机数据包缓冲区来作为在Qemu进程和vSwitch进程之间的共享内存,相对地,运行在Qemu进程中的VM内存被该Qemu进程独享,vSwitch进程不具备访问该VM内存的权限。
参考图2,该虚拟化系统包括:多个Qemu进程(图2中示出两个Qemu进程,Qemu进程1和Qemu进程2)和一个vSwitch进程;其中,所述vSwitch进程管理主机数据包缓冲区,该主机数据包缓冲区由该vSwitch进程分配和管理并与其它Qemu进程共享;每个Qemu进程上管理由该Qemu进程独享的VM内存,并且在每个Qemu进程中还设置有一个PD线程,该PD线程承担了原vhost端口的功能,即用于从所述主机数据包缓冲区中将数据拷贝至VM内存的数据包缓冲区中。由此,通过改变原有vhost-user虚拟化系统中Qemu进程和vSwitch进程之间共享内存的方式,使得vSwitch进程不再具有直接访问全部VM内存的权限。在此情况下,黑客控制该vSwitch进程后无法获得针对全部VM内存的访问权和修改权,其必须在控制该vSwitch进程的同时突破各个Qemu进程,以得到对相应VM内存的访问权和修改权。并且,由于该实施例中保留了在Qemu进程和vSwitch进程之间的共享内存,因而该实施例也具有现有vhost-user虚拟化系统的优点,即可以减少在内存拷贝数据时在用户态与内核态之间的切换次数,以及支持virtio这一实施标准,在工业界有着良好的生态与兼容性。
如图2所示,在该虚拟化系统中还设置有运行在vSwitch进程上且被该vSwitch进程和单个Qemu进程所共享的共享环表。共享环表是网络数据包处理中常用结构,可以结合cache预取获得更高性能。从图中可以看到,该共享环表具有与virtqueue相类似的数据结构,这使得从vSwitch进程的角度上看,其依旧能够通过vhost端口来访问一个被共享的环表结构,对该vSwitch进程而言,数据的通路没有发生任何改变。类似地,Qemu进程中的PD线程通过读取该共享环表中的内容来获取数据包在所述主机数据包缓冲区中的地址,结合VM内存中的virtqueue指向的VM数据包缓冲区地址,可以完成数据包的内存拷贝。这使得从VM内存的角度上看,其依旧由virtqueue接收涉及VM内存的数据包缓存区中可用地址的请求,对该VM内存而言,数据的通路也没有发生任何改变。因而,该实施例所作出的调整对于Qemu进程和VM内存而言是透明的。
在本发明的一些实施例中,可以选择Qemu进程中的任意一个现有线程来代替该PD线程来实现从所述主机数据包缓冲区中将数据拷贝至VM内存的数据包缓冲区中的操作,例如I/O thread。根据本发明的又一些实施例,可以从现有的共享内存中划分出相应的区域以作为该主机数据包缓冲区、共享环表。根据本发明的又一些实施例,还可以将图2中的共享环表替换为任意恰当的数据结构,例如其他结构的数据队列,或者借助其他进程间通信方式传达主机数据包地址的目的。
下面结合图2介绍采用上述实施例中的虚拟化系统,将一个由物理网卡接收的数据包提供至相应的虚拟机VM1的方法,包括:
步骤1.通过DMA将数据包送入vSwitch进程的主机数据包缓存区中。
步骤2.vSwitch进程查找流表确定该数据包的目的虚拟机。
步骤3.vSwitch进程在目的VM对应的共享环表中写入该数据包在vSwitch进程的主机数据包缓冲区中的地址。
步骤4.Qemu进程的PD线程针对共享环表执行轮询监听,在发现该共享环表不为空时获知有需要拷贝的数据包,此时通过读取共享环表的内容来读取该数据包在主机数据包缓冲区中的地址,并且读取VM1内存中的virtqueue以获取可用于存储所述数据包的虚拟机内存中的地址。PD线程根据这两个地址,将数据包从vSwitch进程的主机数据包缓冲区中拷贝到VM1内存中的数据包缓冲区中。
可以理解,在本发明的一些实施例中,可以采用其他方式来代替该轮询监听操作,例如每隔一段时间读取一次共享环表以判断是否需要拷贝数据包;以及由vSwitch定期通过进程间通信通知Qemu拷贝等。
步骤5.由Qemu进程更新VM1内存中的virtqueue。
步骤6.VM1的virtio驱动收到来自vSwitch进程的evenfd通知,根据该通知从VM1内存的相应位置处获取该数据包。
此外,基于本发明图2所提供的实施例,共享内存(尤其是运行在vSwitch进程上的主机数据包缓冲区)可能存在同时被多个进程读写的情况。对此,发明人提出在本发明的一些实施例中可以通过对该共享内存的管理来解决共享内存的多读多写的问题。例如,使用DPDK(Intel的数据平面开发组件)的多进程模型,让Qemu和vSwitch以多进程模型的方式运行在DPDK框架下,使得这一组DPDK程序可以协同地进行数据包处理。由分配共享内存的vSwitch负责对共享环表和主机数据包缓冲区的分配和初始化,Qemu进程通过读取配置文件来初始化。借助DPDK的多进程模型可以保证两者读写的共享内存的一致性,且不会存在多读多写的冲突。
针对图2所示出的虚拟化系统,其控制信道与现有的vhost-user架构类似,同样可以基于socket通信。区别在于,基于图2示出的实施例,其控制信道无需传递VM内存布局等信息,它主要负责传递共享内存中数据包buffer的布局以及共享环表的信息。这种通信机制不属于virtio标准,因而其不涉及协议的更改。该实施例兼容地保留了控制信道,仍然由它控制数据通路的开闭。基于该实施例的修改,vSwitch进程和Qemu进程不再对VM内存进行共享映射,因而无需对这些消息进行通信。
对于该虚拟化系统的数据通路,考虑到在图2所提供的虚拟化系统中vswitch的后端驱动只需要往共享环表里放数据包地址即可,拷贝工作留由QEMU中的PD线程完成,因而VM中virtqueue的网络处理速度要低于vswitch往共享环表里放数据包地址的速度。假设,在一个批次中处理32个数据包,PD线程从共享环表取了32个数据包依次往VM内存中拷贝,可能出现拷贝到一半时virtqueue已经没有可用项的情况,这样只能等待VM处理完一个数据包,virtqueue中多了一个可用项,PD线程再去拷贝一个数据包,这种情况下花费了大量的时间来等待VM处理,浪费了CPU资源。因而,对于vswitch和VM的处理能力不能很好匹配的情况,可以根据它们之间处理能力的差异来设置共享环表的表项数目和virtqueue的表项数目,或者可以将QEMU中的PD线程每一次批处理的数据包数目设置为VM中virtqueue的表项数目与vswitch共享环表的表项数目中的最小值,以提高PD线程的处理效率。
由于不同的PD线程位于不同的QEMU进程内,对于需要同时运行多个虚拟机的应用而言,可能需要在例如一台云服务器上布置大量的PD线程,需要消耗大量的CPU资源,因此需要设计一种合适的调度策略,让大量的PD线程可以公平地运行在同一个核上。若是基于传统的时间片的方式,无论当前进程执行到何处,只要时间片用完,都会被抢占。对于图2所提供的虚拟化系统而言,其共享内存的多读多写会使得线程之间存在临界区问题,当一个线程进入了临界区还没有退出就被抢占,抢占到CPU的另一个线程由于进入不了临界区,将什么都做不了,而白白浪费掉CPU时间片,下一个抢占到的线程也是如此,直到在临界区的线程再次获得时间片退出临界区,其它线程才能进入临界区。对此,根据本发明的一个实施例,基于Linux内核中的非抢占式调度策略“SCHED_FIFO”进行调度,以在不修改内核情况下解决上述问题。该调度策略是一种实时的调度策略:除非一个线程主动放弃CPU资源,否则不会被其他线程抢占。最简单的办法是设置同一个核上的每一个PD线程具有相同的优先级。每一个PD线程在运行一个批处理后调用Linux的函数“sched_yield”从而主动放弃CPU资源给下一个PD线程,并去等待队列的队尾排队。这个函数结合FIFO策略实现了一个相当公平的调度策略,它保证了PD线程能够根据批处理任务而非时间片来被调度,实现了CPU资源的合理利用。
需要说明的是,上述实施例中介绍的各个步骤并非都是必须的,本领域技术人员可以根据实际需要进行适当的取舍、替换、修改等。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管上文参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种虚拟化系统,包括多个Qemu进程和一个vSwitch进程;其中,
所述vSwitch进程管理主机数据包缓冲区,所述主机数据包缓冲区由所述vSwitch进程和全部所述多个Qemu进程共享;
所述Qemu进程管理由该Qemu进程独享的虚拟机内存,并且所述Qemu进程具有用于从所述主机数据包缓冲区中将数据拷贝至所述虚拟机内存的拷贝线程;
在所述虚拟化系统中还设置有被所述vSwitch进程和至少一个所述Qemu进程所共享的地址内存区,用于为所述拷贝线程提供所述虚拟机内存的可用地址。
2.根据权利要求1所述的虚拟化系统,其中所述多个Qemu进程和所述一个vSwitch进程运行在DPDK框架下。
3.根据权利要求1所述的虚拟化系统,其中所述地址内存区所采用的数据结构为环表。
4.根据权利要求3所述的虚拟化系统,其中所述拷贝线程每一次批处理的数据包数目被设置为virtqueue的表项数目与所述地址内存区的表项数目中的最小值。
5.根据权利要求1所述的虚拟化系统,其中所述虚拟机内存中具有存储有虚拟机内存中可用地址的virtqueue环表;所述Qemu进程中的所述拷贝线程用于从所述virtqueue环表中获取可用于存储所述数据包的虚拟机内存中的地址。
6.根据权利要求1所述的虚拟化系统,其采用Linux内核中的SCHED_FIFO调度针对所述多个Qemu进程的拷贝线程。
7.基于权利要求1~6中任意一种虚拟化系统的数据传输方法,包括:
1)由vSwitch进程确定存储在其主机数据包缓冲区中的数据包的目的虚拟机;
2)由与所述目的虚拟机对应的Qemu进程的拷贝线程从所述主机数据包缓冲区中将数据拷贝至所述虚拟机内存。
8.根据权利要求7所述的数据传输方法,其中步骤2)包括:
2-1)vSwitch进程在地址内存区中写入所述数据包在所述主机数据包缓冲区中的地址;
2-2)所述拷贝线程通过轮询监听所述地址内存区中的内容,从所述地址内存区中读取所述数据包在所述主机数据包缓冲区中的地址;
2-3)由所述拷贝线程从所述主机数据包缓冲区中的所述地址中读取数据包并将其拷贝至所述虚拟机内存。
9.根据权利要求8所述的数据传输方法,其中步骤2-3)包括:
由所述拷贝线程从所述虚拟机内存的virtqueue环表中获取可用于存储所述数据包的虚拟机内存中的地址,以将所述数据包拷贝至所述虚拟机内存的相应地址。
10.一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序在被执行时用于实现如权利要求7~9中任意一项所述的方法。
CN201910006957.XA 2019-01-04 2019-01-04 一种虚拟化系统及其数据交换方法 Active CN109857517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910006957.XA CN109857517B (zh) 2019-01-04 2019-01-04 一种虚拟化系统及其数据交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910006957.XA CN109857517B (zh) 2019-01-04 2019-01-04 一种虚拟化系统及其数据交换方法

Publications (2)

Publication Number Publication Date
CN109857517A CN109857517A (zh) 2019-06-07
CN109857517B true CN109857517B (zh) 2020-12-29

Family

ID=66893854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910006957.XA Active CN109857517B (zh) 2019-01-04 2019-01-04 一种虚拟化系统及其数据交换方法

Country Status (1)

Country Link
CN (1) CN109857517B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822266A (zh) * 2021-01-05 2021-05-18 成都安思科技有限公司 一种基于内存共享的虚拟机内外通信方法
CN112817730B (zh) * 2021-02-24 2022-08-16 上海交通大学 深度神经网络服务批处理调度方法、系统及gpu
CN113630341B (zh) * 2021-08-03 2023-06-06 武汉绿色网络信息服务有限责任公司 数据信息处理的方法和服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678778B1 (en) * 2014-05-07 2017-06-13 Google Inc. Virtual cluster as a service (VCIaaS)
CN107402802A (zh) * 2017-07-27 2017-11-28 郑州云海信息技术有限公司 一种基于虚拟机的视频监控存储系统
US9983894B2 (en) * 2013-09-25 2018-05-29 Facebook, Inc. Method and system for providing secure system execution on hardware supporting secure application execution
CN108243118A (zh) * 2016-12-27 2018-07-03 华为技术有限公司 转发报文的方法和物理主机

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9983894B2 (en) * 2013-09-25 2018-05-29 Facebook, Inc. Method and system for providing secure system execution on hardware supporting secure application execution
US9678778B1 (en) * 2014-05-07 2017-06-13 Google Inc. Virtual cluster as a service (VCIaaS)
CN108243118A (zh) * 2016-12-27 2018-07-03 华为技术有限公司 转发报文的方法和物理主机
CN107402802A (zh) * 2017-07-27 2017-11-28 郑州云海信息技术有限公司 一种基于虚拟机的视频监控存储系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于KVM共享内存的虚拟可信管道的建立方法;赵阳,刘明芳,林曦君;《计算机安全》;20130331(第03期);全文 *

Also Published As

Publication number Publication date
CN109857517A (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
EP3706394B1 (en) Writes to multiple memory destinations
US10176007B2 (en) Guest code emulation by virtual machine function
US8112611B2 (en) Allocating resources to partitions in a partitionable computer
US9286472B2 (en) Efficient packet handling, redirection, and inspection using offload processors
US8893267B1 (en) System and method for partitioning resources in a system-on-chip (SoC)
US20140201303A1 (en) Network Overlay System and Method Using Offload Processors
US20080189432A1 (en) Method and system for vm migration in an infiniband network
US20050235068A1 (en) Computer system sharing an I/O device between logical partitions
Rixner Network Virtualization: Breaking the Performance Barrier: Shared I/O in virtualization platforms has come a long way, but performance concerns remain.
CN109857517B (zh) 一种虚拟化系统及其数据交换方法
US10852990B2 (en) Hybrid framework of NVMe-based storage system in cloud computing environment
EP4002119A1 (en) System, apparatus, and method for streaming input/output data
US20200210359A1 (en) Dynamic interrupt provisioning
US11693777B2 (en) Network interface device supporting multiple interface instances to a common bus
EP4053706A1 (en) Cross address-space bridging
CN110058946B (zh) 设备虚拟化方法、装置、设备及存储介质
US10331591B2 (en) Logical-to-physical block mapping inside the disk controller: accessing data objects without operating system intervention
US10255203B2 (en) Technologies for zero-copy inter-virtual-machine data movement
US10713081B2 (en) Secure and efficient memory sharing for guests
CN109901909B (zh) 用于虚拟化系统的方法及虚拟化系统
US11698737B2 (en) Low-latency shared memory channel across address spaces without system call overhead in a computing system
US11567884B2 (en) Efficient management of bus bandwidth for multiple drivers
US20200201691A1 (en) Enhanced message control banks
US20210149821A1 (en) Address translation technologies
Miller et al. Lower level architecture of the Sombrero single address space distributed operating system

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
GR01 Patent grant
GR01 Patent grant