论文部分内容阅读
随着多核处理器技术的发展,计算机已经从单核逐渐过渡到多核,未来的计算机将具有越来越多的计算资源。如何采用一种高效和灵活的方式管理和利用众多的计算资源以及如何充分发挥多核体系结构的性能等问题都有待深入研究,系统虚拟化技术的发展为这些问题的解决提供了有效的方法。基于多核的多虚拟机计算资源调度系统XenMVM(Xen Multiple Virtual Machines)有效的解决了上述问题。XenMVM能够根据虚拟执行环境中的用户行为与工作负载动态调整虚拟机的计算资源,系统将所有物理资源构成一个资源池,由资源调度器根据请求队列中的资源请求按照不同的调度策略进行统一调度。在单计算系统环境下,为了消除或减缓系统在资源动态调整过程中出现的抖动现象,系统采用了预测与延迟减方法(Forecasting and Time-delayed Subtraction Scheme),该方法能够根据虚拟执行环境中资源需求的历史纪录与调整偏差动态预测后续的资源需求,从而降低抖动现象造成的性能损耗,实验发现在抖动现象较为突出的应用场景中,该方法能够将性能损耗从9%降低到0.3%左右;同时,为了提高系统的整体性能,降低系统平均周转时间,系统采用了基于Domain的静态优先级调度策略,相比于传统的先来先服务调度策略,该方法能够保证在物理资源充足的情况下,高优先级或对资源需求紧迫的虚拟机能够及时获得所需资源。针对多核体系结构的特点,系统采用了底层拓扑结构感知的资源调度方法,当将多个虚拟CPU调度到不同的物理CPU上时,虚拟执行环境中的任务执行性能差异达4.51%~32.52%,实验发现这与多核的共享Cache结构相关,通过研究基于底层系统结构的调度策略能够提高系统的执行性能。另外,系统还采用了调整调度时间片的方法来降低核间通信等待所造成的性能损耗,测试结果表明,对于全通信的并行程序,该方法能够有效的提高程序的执行性能。