论文部分内容阅读
目前,虚拟化技术正在高速发展,该技术已在服务器整合、集群计算、配置多操作系统以及内核开发等很多领域得到广泛应用,并且虚拟化技术已经向个人计算机方向发展。而个人计算机的虚拟化与服务器的虚拟化相比,硬件资源没有服务器资源丰富。如何在相对有限的物理资源里充分发挥虚拟化技术的功用,给用户以全新的体验将是目前非常关注的问题。而虚拟机的合理调度是解决这个问题的重要一环。调度算法是虚拟化技术中分配处理器资源的重要方法,对虚拟机的磁盘读写速度、处理器等性能有很大影响。因此,调度算法的研究具有重要理论价值和应用价值。
稳定性和性能是业界在虚拟机系统设计方面一直关注的两大问题。稳定性是基础,而性能是目标,即在保证系统稳定性的基础上提高虚拟机系统的性能。本论文以Xen虚拟化系统为背景,从虚拟机的稳定性和性能两方面出发,研究虚拟机调度算法对虚拟机以及整个虚拟机系统的影响。木论文的主要创新性工作如下:
1)针对Xen客户操作系统在多虚拟CPU环境下存在不稳定性的问题,本论文基于Xen的Credit算法提出了一种松弛虚拟CPU协同调度算法,通过对虚拟机各虚拟CPU之间进行合理的协同调度,保证虚拟机各虚拟CPU之间的时钟中断数量偏差控制在该客户操作系统所允许的范围之内,同时利用同步队列中虚拟CPU优化选择调度队列的方法以及Credit算法的虚拟CPU动态迁移技术,使各个物理CPU的负载更为均衡。该算法大大减少了CPU空闲时间碎片。从实验结果得出,本论文提出的虚拟CPU协同调度算法不仅保证了系统的稳定性,而且使系统性能提升了5%以上。
2)在Xen虚拟化环境下,为了提高VMM的稳定性与安全性,硬件设备驱动已经从VMM迁移到特权服务操作系统中,特权服务操作系统为客户操作系统提供模拟I/O操作的服务。针对特权服务操作系统在Xen虚拟化系统中的特殊地位,为了进一步提高虚拟机的性能,本论文提出了一种基于Service OS处理能力的自适应调度算法。该算法将特权服务操作系统的I/O处理能力作为虚拟机参数调整的一个重要参数,同时也兼顾了I/O密集型虚拟机和CPU密集型虚拟机对资源的需求。实验结果表明该方法能够及时根据当前的I/O请求数量和特权服务操作系统的处理能力合理调整虚拟机的权重参数,从而使客户操作系统CPU平均处理性能和硬件设备的平均访问性能比Credit算法分别提高9.05%和13.3%。
3)Xen的Credit调度算法是非抢占式调度算法,虚拟CPU每次调度时都不会被抢占,并且该算法没有对空闲虚拟机进行优化处理。针对Credit调度算法在虚拟CPU空闲时的时间片浪费问题,本论文提出了虚拟CPU空闲调度算法。当调度模块接收到的虚拟机虚拟CPU空闲通知后,动态调整该虚拟CPU的credit值,并将空闲的CPU时间分配给调度队列中其他的虚拟CPU使用。同时,根据该虚拟机的虚拟CPU的平均空闲率,重新调整该虚拟机的权重,从而实现了反馈控制与虚拟机调度的动态集成,实验结果表明,在运行三个客户操作系统的环境下,该调度方法使系统的整体性能比Credit优化调度算法提高了10.3%。
4)综合考虑Xen虚拟化系统的稳定性和性能两方面问题,本论文提出了高性能稳定虚拟机调度模型。该模型将创新工作1)中提出的松弛虚拟CPU协同调度算法、2)中的基于Service OS处理能力的自适应调度算法,以及3)中的虚拟CPU空闲调度算法三种算法进行整合和优化。实验结果表明,该调度模型不仪可以很好地保证虚拟机的稳定性,而且使虚拟机性能得到了进一步改善和提高。
研究和实践表明,Xen虚拟机调度模型和算法的改进可以很好的解决虚拟机的稳定性和性能优化问题,从而进一步提高系统资源的使用效率。可见,虚拟机调度算法直接影响着整个虚拟机系统的性能和稳定性,致力于了虚拟机调度方法的研究是一项非常有意义的工作。