论文部分内容阅读
云计算是互联网时代信息基础设施与应用服务模式的重要形态,是新一代信息技术集约化发展的必然趋势。虚拟化是云计算为代表的新型计算系统的核心支撑技术,即通过使用虚拟机监视器隐藏计算资源的实际物理特性(以虚拟资源的形式交付给用户,如虚拟CPU、虚拟内存、虚拟 I/O设备等),为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。高性能虚拟化及其适用性研究目标就是要提高虚拟机的性能、拓展虚拟机的应用领域(即虚拟机的适用性)。 提高虚拟机的性能和适用性最重要的手段之一就是给用户交付尽可能接近物理资源性能的虚拟资源(即资源抽象方法的研究),同时实现有效的可管理性和可用性。由于I/O设备虚拟化所导致的系统性能损耗占到33%~66%,本论文针对I/O设备导致的性能瓶颈,提出了基于事件的轮询、混合GPU影子页表等方法,大幅提高了SR-IOV网卡、GPU两类I/O设备的虚拟化性能,还显著提高了移动虚拟化的I/O性能。虚拟机的可管理性通常指虚拟机是否支持热迁移、灵活的包过滤等能力,虚拟机的可用性通常指提供不间断服务的能力。由于当前资源抽象方法的局限,导致高性能的虚拟机在可管理性和可用性方面存在挑战,而可管理性和可用性好的虚拟机则性能欠佳,因此限制了虚拟机的适用范围。本论文提出了混合驱动模型和混合SR-IOV方法,提高了虚拟机的可管理性;另外,虚拟机复制提供了一种应用透明的高可用方案,但是现有的方法受限于严重的性能损失而不能得到广泛应用,本论文提出了粗粒度锁步方法,提高了虚拟机的可用性;进而减小了虚拟机的应用局限,拓展了虚拟机的应用领域。 本论文对高性能I/O虚拟化的贡献主要有三个方面,1)针对SR-IOV等直通设备,我们提出了sEBP(A Smart Event-based Polling Driver Model),一个智能的基于事件的轮询驱动模型,完全去除了主要数据收发路径上的中断。sEBP利用客户机系统自身的事件,在恰当的时机下,让设备驱动程序及时介入处理I/O事件,从而避免了大量中断以及中断导致的系统处理开销。2)对于受控直通虚拟化,我们提出了gHyvi,一种新的混合影子页表(松散影子页表)。gHyvi结合同步影子页表和异步影子页表的优缺点,根据使用场景自动采用最优的同步方法。3)在移动端设备上,我们利用移动应用场景的特点,提出了VNative(Virtual Native)虚拟化方法:一种和传统的PC服务器虚拟化方法完全不同的、基于平台上下文切换的高效移动I/O虚拟化方法,极大地降低了虚拟化开销、提高性能、增加电池续航能力。 在虚拟机的可管理性上,论文提出了混合虚拟化 HYVI:结合硬件虚拟化的高性能和软件虚拟化的可管理性,从而实现最佳平衡。HYVI利用混合驱动模型,将软件虚拟化的网卡驱动程序和高性能的SR-IOV的网卡驱动程序联合起来,在平时运行时采用SR-IOV驱动程序实现高性能,在虚拟机迁移时切换到软件虚拟化的网卡驱动程序实现无缝迁移。在网络管理上,HYVI提出了混合SR-IOV虚拟化的方法:在服务虚拟机(或主机)上,采用软件虚拟化的方法对网络包进行灵活管理如基于IP Table的包过滤,但是利用SR-IOV对过滤后的数据包进行高效分发,从而平衡性能和可管理性。 在虚拟机的可用性上,论文提出粗粒度锁步虚拟机方法COLO(COLO:Coarse-grain Lock-stepping Virtual Machines for Non-stop Service),实现不间断服务。COLO实现按需虚拟机状态复制,既避免了虚拟机锁步情况下对多处理器客户机支持的过度同步开销问题,也解决了周期性的虚拟机状态复制中存在的网络延迟和过于频繁的虚拟机状态复制开销问题。