论文部分内容阅读
在系统虚拟化环境中,虚拟机监控器的CPU调度器对底层CPU资源分配和虚拟机的性能起着决定性作用。但是,传统的虚拟机调度器,如Xen Credit调度器,使用固定的调度时间片来分配处理器时间,这会造成两个问题:1)CPU分配偏差。CPU分配偏差是指在一定的时间区间内,虚拟机实际获得的CPU时间与指定分配的CPU时间的偏差。2)不稳定的虚拟机调度延迟。虚拟机调度延迟指虚拟机从被唤醒到真正运行之间的时间间隔。本文首先通过实验分析得出现有虚拟机监控器中的两个不足。一个给定的时间片,对于CPU分配百分比较大的虚拟机合适,对于CPU分配百分比较小的虚拟机来说可能过大,造成较大的CPU分配偏差。同时由于调度器每次CPU时间分配使用相同大小的时间片,CPU分配百分比越小,虚拟机被调度的时间间隔就越大,调度延迟就越高。本文接着提出一种使用非统一调度时间片的调度方法,并在Xen虚拟机监控器上实现系统原型。该方法根据虚拟机的CPU分配百分比使用不同大小的调度时间片来减小CPU分配偏差,并且保证在一个可配置的时间周期内保证对每个虚拟机都至少调度一次来实现调度延迟的稳定性。最后实验结果表明,本文提出的调度算法有效地将CPU分配偏差控制在15%内并且提高了虚拟机调度延迟的稳定性,每个网络数据包处理延迟都不超过30ms。同时该调度器保证了CPU分配的公平性,而且只引入较小的系统额外开销。