论文部分内容阅读
虚拟化在云计算这一新兴基础设施建设中起着至关重要的作用。具有多种工作负载的虚拟机同时运行在云平台上的物理机上,虚拟机管理器的CPU调度通过异步方式调度虚拟机的各个虚拟CPU,保证了分配给每个虚拟机的CPU时间比例。这种按比例分配的方法简化了虚拟机管理器CPU调度算法的实现,并对常规工作负载提供近乎完美的公平性能,因而被广泛采用。然而,当虚拟机上运行的工作负载是并行应用程序时,由于虚拟化对同步操作的负面影响,上述方法会导致性能的急剧下降。因此,针对并行计算的虚拟机调度研究是当前的主要研究热点之一。 在Xen虚拟化环境中,实现了同步优化调度系统(简称CCHybrid),旨在保持非并行负载性能的前提下,减轻虚拟化对并行负载的负面影响性能。CCHybrid解决了虚拟化给同步应用带来的影响,提高同步负载的性能,同时保证虚拟机的公平性和非并行负载的性能不受影响。首先,针对Xen CPU调度器,提出了CCHybrid的总体架构设计方案,为Xen虚拟化环境平台提供了CPU资源分配的底层服务;其次,提出了一种基于群调度的CPU混合调度算法以适应虚拟机负载的多样性;最后,扩展Xen的Credit调度器,实现了这种CPU混合调度算法。系统采用基于权重比例的共享策略保证公平性,运用部分群调度策略解决虚拟化给同步带来的影响,通过动态调整群粒度的大小缓解群调度的CPU碎片问题,维持原有异步调度策略保证非并行负载性能。 测试结果表明在多个虚拟机情况下,相比于Xen的Credit调度算法,同步优化调度系统CCHybrid将并行负载的性能提升了15%到50%,且对非并行负载的性能影响不超过5%。