论文部分内容阅读
随着系统资源在规模上的不断扩展,计算机领域面临着如何充分利用硬件资源的重大问题。虚拟化技术作为一种新型计算模式成为解决此类问题的关键,虚拟机监控器(VMM)是实施虚拟化的基础。目前VMM采用了多种手段实现处理器虚拟化和虚拟机管理,其中Intel VT-x技术在硬件级别上提供了相当程度的支持。由于VT-x技术与其他多种处理器虚拟化方法共存,同时硬件平台和应用环境也存在较大差异,因此需要在采用VT-x技术的基础上兼顾到其它多种影响因素,以最大程度的发挥硬件潜能。本文在一种协作型VMM框架下,完成了基于VT-x平台的处理器虚拟化和虚拟机管理两大子系统的设计与实现,主要解决了以下四个方面问题:1、通过在在多处理器平台上采用基于主体的处理器划分方式,隔离了VMM和IO处理机(IOPM)对处理器的控制冲突,使处理器分配方式能够满足协作模型的特殊需求。2、设计了基于VT-x的处理器虚拟化方案,在处理器操作模式转换的基础上,完成虚拟处理器(VCPU)执行环境构造。VCPU行为限制,有效实现了处理器虚拟化。进一步提出一种用户可配置虚拟机控制结构的方案,以提升某些应用环境中的虚拟化性能。3、针对协作模型对VCPU调度的影响,在对各种VCPU调度算法比对筛选的基础上,提出了一种静态分配与动态调度相结合的调度策略,并依此设计了改进型的s-credit调度算法,能够较好的兼顾I/O密集型和计算密集型应用。4、依据协作模型的特点,设计出一种轻量级的虚拟机管理结构,体积小巧层次清晰,并建立了用户交互模型,能够为用户提供便利的虚拟机管理接口。本文在VMM原型系统中完成了上述工作,对I/O密集型和计算密集型应用在虚拟化系统中的效率进行了测试。进一步在对VCPU退出测试的基础上,将退出原因进行基于概率的分类统计,为性能优化提供了参考依据。实验结果表明,本文完成的相关工作可以满足协作型VMM对处理器的各种需求,在处理器虚拟化及虚拟机管理方面具备较高的效率。