论文部分内容阅读
在云计算和大数据时代,虚拟化在越来越多的应用领域受到了热烈的欢迎与期待,虚拟化技术在近几年也获得了长足的进步和发展。虚拟化应用从大方向上可以分为两类:服务器虚拟化和桌面应用虚拟化。其中服务器虚拟化涉及到大量物理硬件的虚拟化,如:CPU、内存、网卡、磁盘等;而桌面应用虚拟化主要涉及到GPU的虚拟化。磁盘虚拟化、网卡虚拟化和GPU虚拟化均属于I/O虚拟化,虚拟I/O作为虚拟机系统的重要组成部分之一,对虚拟机系统的整体性能有着不可忽略的影响。目前虚拟化技术主要针对CPU、内存子系统,而较少关注I/O虚拟化。本文以Xen虚拟机为载体,研究虚拟机系统中的I/O虚拟化,具体包括虚拟多通道磁盘I/O带宽分配及其公平性、多通道GPU的虚拟化方法。主要研究内容如下:1)提出了一种虚拟磁盘I/O多通道方法(VMCD),并设计了Credit分配、全局监控策略和虚拟多通道公平调度算法来提高磁盘I/O性能。当多个客户虚拟机(Dom U)运行在同一个物理设备上时,磁盘I/O分配的公平性以及聚合带宽的利用率仍是虚拟化环境下的一大挑战。现有的研究方法存在以下不足:(1)请求从多个队列汇集到一起时缺乏公平调度机制;(2)部分方法依赖于底层拥有更好性能的存储系统,如SSD;(3)吞吐量和延迟需求没有同时被考虑。VMCD建立在普通的存储系统之上,通过为多个Dom Us创建独立的虚拟通道(V-Channel)和I/O请求队列来降低其相互之间的干扰。该方法实现于Xen的虚拟磁盘,并且在Linux操作系统下对其进行了评估,实验结果表明VMCD对带宽分配的公平性、稳定性以及带宽利用率均有显著的提高,同Xen中本身的调度算法(CFQ、Deadline和Anticipatory)相比,可以提高大约70%的公平性。2)在Xen基础上提出了一种多通道GPU虚拟化体系结构(VMCG),设计了相应的虚拟多通道GPU调度算法。GPU虚拟化作为系统中另一种I/O虚拟化技术,其目前的发展远落后于其他I/O的虚拟化,是当前桌面应用虚拟化中的一大瓶颈。现有的GPU虚拟化解决方案均无法同时满足较好的性能、较好的单个物理GPU的共享能力和较全面的GPU功能等方面的要求。VMCG将原生显卡驱动运行在Dom U中,使得Dom Us能够直接访问一些性能临界资源,为其他无法直接访问GPU的I/O在Dom0中提供一个功能完善的虚拟GPU(v GPU)。通过虚拟多通道GPU调度算法,多个Dom Us能够更加公平的共享物理GPU。实验结果表明,VMCG提高GPU渲染性能将近10%、资源分配公平性也有明显的提高。