论文部分内容阅读
随着虚拟化技术不断成熟,处理器性能不断提高,这使得多个操作系统同时运行在单个计算机,甚至单个处理器核上成为可能。虚拟化技术已经广泛应用于服务整合和高性能计算领域。在虚拟化环境中,虚拟机监视器(Virtual Machine Monitor,简称VMM)接管了传统操作系统的大部分功能,运行在处理器最高特权级。VMM能够创建多个隔离的虚拟系统,即虚拟机(Virtual Machine,简称VM),运行在虚拟机中的操作系统称为客户操作系统(Guest OS)。其中VMM在虚拟化平台的资源管理中发挥重要作用,它根据调度策略将虚拟机的虚拟CPU动态映射到物理CPU。计算性能是衡量计算机系统优劣的一个重要指标。由于虚拟化技术目前还不成熟,虚拟化计算平台的性能与传统计算平台相比存在较大的差异,主要体现在系统性能上。虚拟化平台需要高效调度多个专用的虚拟机“同时”运行在同一物理主机上。VMM中的虚拟机调度算法是影响虚拟化平台计算性能的关键因素。因此,本文研究的重点是如何通过改进虚拟机调度算法来实现虚拟化中计算性能优化。具体研究内容是在深入分析Xen虚拟化中Credit调度算法基础上,提出了共享CPU的虚拟机调度算法。CPU在传统环境中为一个操作系统独享,而在虚拟化环境中可能被多个运行客户操作系统的虚拟机共享。共享CPU的虚拟机表示多个虚拟机同时运行在一个处理器或一个处理器核上,是虚拟化中的一种常见现象。工业界广泛使用的Xen虚拟化系统默认使用Credit调度器,随着共享CPU的虚拟机增加,每个虚拟机经历的CPU访问延迟随之延长,这导致I/O受限型应用经历更长的I/O处理延迟,即在共享CPU的虚拟机系统中I/O受限型应用性能很低。为了提高共享CPU虚拟机系统中I/O受限型应用性能,本文引入了一个新虚拟机类型,称为延迟敏感型虚拟机,该虚拟机高效运行I/O受限型应用的同时,保持和其它共享CPU虚拟机对资源的公平共享;提出了vCredit调度器,用更小的微时间片调度延迟敏感型虚拟机,而用Credit默认时间片调度非延迟敏感型虚拟机,能以更高的频率调度每个延迟敏感型虚拟机,从而延迟敏感型虚拟机能更及时处理I/O事件,同时不破坏所有共享虚拟机的CPU共享公平性;在Xen VMM中实现了vCredit原型。实验表明,vCredit调度器继承了Credit调度器在对称多处理器系统中负载均衡的特性,保留了其公平性的优点,同时大大减少网络数据包往返延迟和UDP数据报抖动率,达到更好的应用性能。vCredit将Intel的MPI基准测试程序的执行时间减少一半或更多。