论文部分内容阅读
随着计算机硬件水平的快速发展,虚拟化技术再次成为计算机领域的研究热点。虚拟化技术能够最大化地发挥硬件性能,为企业快速部署云计算平台,提高运营效率,节约经济成本、避免空间浪费。虚拟化软件位于操作系统和底层硬件之间的中间层,它将下层的硬件资源抽象成另一种形式的虚拟硬件资源,如虚拟CPU、虚拟内存等,提供给上层的客户机操作系统使用。虚拟机最早是为大型机系统提供虚拟化服务的,随着硬件厂商对虚拟化的硬件支持和单机系统性能的提高,虚拟机技术已经从原来的服务器专用转向了普通用户群。对于普通用户来说,早期的“计算”是以“计算机”为中心,而现在的“计算”是以“用户’为中心。技术人员越来越多的关注让计算机提供何种服务来满足用户各种各样的需求。虚拟机上运行的任务类型也呈多样化趋势,其中计算任务类型主要有CPU密集型任务和GPU密集型任务。本文以Xen为研究平台,首先描述了当前国内外在Xen调度算法领域的研究现状并深入分析了Xen三大核心子系统的运行原理。接着本文通过三组有针对性的实验和GPU密集型任务编程模型的分析,得出结论:GPU密集型任务的CPU资源敏感度高于CPU密集型任务的CPU资源敏感度。在此基础上分析了Xen中默认Credit调度算法的不足,提出了基于计算任务类型的Xen优化调度策略,此策略VMM通过实时监控客户域的CPU和GPU资源利用率来计算客户域的实时调度优先级,Xen的调度程序根据实时调度优先级重新分配物理CPU资源。当物理CPU资源发生争用时,本策略会提高GPU密集型任务所在客户域的实时调度优先级,提升GPU密集型任务的性能。同时本文根据CSSVM架构,设计了负载可调的CPU密集型任务场景和GPU密集型任务场景。这两个场景在后续的实验过程中起到了很大的作用,有效地解决了虚拟机环境中性能测试程序实用性较差的问题。最后本文搭建了虚拟化实验平台,做了三组有针对性的对比实验。这三组实验的实验结果验证了该优化策略的正确性和可操作性。基于任务类型的Xen优化调度策略在CPU资源发生争用的情况下,有效地提升了GPU密集型任务的性能,优化了用户体验。