论文部分内容阅读
虚拟化技术作为云计算的基础,由于其能提供良好的隔离性,已被广泛应用于数据中心进行服务器资源的整合。但是,虚拟化层的引入所带来的语义缝隙问题使得虚拟机监视器难以感知上层虚拟机应用类型,妨碍了虚拟机监视器根据上层应用的需求进行有效地硬件资源分配,从而无法为对实时性要求较高的应用提供良好保障,导致任务截止期限频繁错过。而位于虚拟机监控器中的CPU调度器是问题的关键,直接影响了虚拟机的性能。 基于多核动态划分的虚拟机实时调度系统,在保证实时虚拟机实时性能的前提下,减少了给非实时虚拟机带来的性能影响。通过用户命令监控接口对虚拟机类型进行设置,有效地将不同类型的虚拟机区分开来,解决了由双层调度模型所引起的语义缝隙问题。采用多核动态划分机制,根据实时任务可调度性,计算实时虚拟机满足实时性所需的CPU资源,然后根据NUMA特性对CPU资源进行动态划分,实现了两种不同类型虚拟机在物理资源上的隔离,减少了对彼此的影响,也减少了用户管理开销。采用基于时间片轮转的额度调度算法对非实时虚拟机调度,兼顾了系统的吞吐率与调度的公平性;采用基于动态优先级的全局最早截止时间优先算法调度实时虚拟机,在保证实时性的同时提升了CPU资源的利用率,并采用Cache命中优化策略,对调度时的负载均衡与Cache命中开销进行平衡,提高了系统性能。 测试结果表明,基于多核动态划分的虚拟机实时调度系统能够大量减少实时应用截止时间的错过,相比于Xen虚拟机管理器中的SEDF调度算法,在重负载与超载情况下,实时性能分别提高13.8%与77.6%,调度延迟分别降低了28%与87.1%,并且性能稳定。同时,保证了非实时虚拟机与实时虚拟机的性能隔离,减少了对非实时虚拟机的性能影响。