论文部分内容阅读
近几年,随着虚拟化技术的不断发展,尤其是CPU产商对虚拟化技术提供了越来越多的硬件支持,为嵌入式虚拟化技术的发展奠定了坚实的基础?嵌入式虚拟化技术主要应用在移动通信和工业控制上?以工业控制为例,各种工业控制设备上运行的操作系统都有很强的实时性需求?过去的一个大的系统多由多个实时控制子系统组合完成,每个子系统都运行在独立的硬件平台之上?在该领域引入嵌入式虚拟化技术,可以将过去的多个实时控制子系统有效整合并运行在同一个多核计算芯片上,在不降低性能?不影响实时反应时间的同时,减少了设备的开销与维护成本;多个子系统可以并行独立而不互相干涉的,继而又保证了各个子系统运行的稳定性?可靠性?安全性?同时,一个普通的商用操作系统,如Windows XP或者Linux也可以同时运行在该芯片上,从而可以提供一个友好的人机界面?多系统并行运行是虚拟化的特性之一;多个专用的虚拟机“同时”运行在同一个物理机器上,因此虚拟机平台需要在一段固定的时间周期内,将这个时间段的各个CPU时间片合理有效的分配给各个虚拟机,而这个分配时间片的算法即为虚拟机调度算法?目前比较流行的虚拟机平台有VMWare,Virtual PC,KVM,Xen等;但这些平台在虚拟机调度算法上都不能很好的支持实时虚拟机?其中本文的研究平台Xen的Credit调度算法秉承公平效率的分享CPU时间片的原则进行虚拟机调度,并将不同的虚拟机根据Credit值分成三个优先级:under,over,idle,允许虚拟机处在三个状态:boost,running,block?该调度算法能够保证各个虚拟机公平得分享CPU,但对实时虚拟机的实时性的保证有所欠缺?本文在深入研究分析Credit调度算法的基础上,提出了改进后的非对称实时调度算法?在全虚拟化环境下,该调度算法具有实时客户虚拟机友好性?事件驱动机制与多实时客户虚拟机动态负载平衡特性?有效降低Xen平台上实时客户虚拟机事件响应延迟,提高实时性?同时在多个物理CPU上动态平衡实时客户虚拟机负载,消除实时客户虚拟机之间因重复抢占带来的实时性抖动?通过实验验证,最终为Xen虚拟机平台提供有效的实时虚拟机支持特性?