论文部分内容阅读
近年来,虚拟化技术受到越来越多的关注。虚拟化技术作为最热门的IT技术之一,因其在降低软硬件资源消耗和提高计算资源的利用率方面的优势而受到青睐。在众多虚拟化技术中,Xen是近年来最受研究者们关注的虚拟化技术之一,是一个基于x86架构、发展最快、性能最稳定、占用资源最少的虚拟化技术,被认为是未来最有前途的虚拟化解决方案之一。Xen是一个开源的虚拟机项目,其性能接近单机操作系统的性能。Xen需要在一段固定的时间内将各个CPU时间片合理高效地分配给在其上运行的各个操作系统,从而达到多任务的目的。这个分配CPU时间片的算法就是通常说的调度算法。在虚拟机中,虚拟处理器(Virtual CPU,简称VCPU)调度算法是指由虚拟机根据一定的策略决定当前哪一个VCPU在物理处理器上执行的算法。VCPU调度算法的好坏对处理器虚拟化性能影响较大,所以好的调度算法能够很大程度上提高Xen的性能,VCPU调度是近年来虚拟化技术研究的一个重点。Xen中两个最常用的调度算法是Credit和SEDF (Simple Earliest Deadline First),这两个调度算法都有其各自的缺陷:Credit注重公平性而忽略了实时性;SEDF考虑实时性但不支持全局负载平衡,目前这些都是值得研究而且难以解决的挑战。为了将Xen更好的应用于嵌入式实时系统,本文对其支持的两种调度算法Credit^口SEDF进行实时性能的研究。首先分析了Xen虚拟机中默认使用的Credit调度算法的基本实现,通过学习Xen源码(Xen4.1.4版本)分析了其算法原理,提出并且证明了一种有效配置VCPU参数的方法使得Credit的实时性能得到提升,在此基础上,通过证明得到Credit调度算法的基本性质并最终得出其在最坏情况下为VCPU分配的资源函数曲线SBF;对于Xen调度器中另一种调度算法SEDF,本文在对其基本实现的分析基础上,同样给出了其资源界限函数SBF及证明。