论文部分内容阅读
在计算机技术飞速发展的今天,随着分布式计算方式的兴起和云计算技术的普遍使用,作为支撑这些平台基础的虚拟化技术因其节约硬件成本,能够提升系统安全性,便于管理维护等特性受到了越来越多的关注。在众多的虚拟化产品中,开源项目Xen是一个非常具有代表性的虚拟化技术产品,是半虚拟化技术的一种具体实现。Xen是一个高性能且开放源代码的虚拟机监视器,它提供了一个安全的资源管理环境和一种新的虚拟机资源管理方式,可以使多个操作系统共享传统的硬件资源。目前,Xen虚拟化技术在虚拟桌面和云计算领域已经取得了广泛的认可。近几年,它又开始被应用于有严格时间限制的实时嵌入式系统,跟普通应用的虚拟机系统相比,嵌入式系统最重要的特点之一就是通常有严格的响应时间限制。但是Xen目前的调度机制是着力于追求虚拟机之间的公平性,而忽略了客户操作系统中任务的实时性要求。所以如果要将虚拟化技术应用于实时嵌入式系统,就需要修改虚拟化平台来使其更好的支持虚拟机中运行与硬件设备交互较多的实时任务(I/O任务等)的处理。而只有通过中断,一个计算机系统才能够响应外部事件,并与硬件设备进行交互,所以本文的目标就是研究基于Xen的虚拟机快速中断响应技术。本课题的研究主要进行了三方面的工作。首先通过查阅大量资料,学习并研究了Xen虚拟化平台的设备驱动模型以及中断处理过程,选择了我们的研究所要基于的虚拟设备驱动模型。然后研究并分析了大量已有的国内外研究成果,从多个方面分析了 Xen目前采用的Credit虚拟机调度算法在支持多核虚拟机实时响应性能上的问题。最后针对这些问题,从虚拟机中断响应流程中的多个阶段进行了改进。提出了虚拟机实时优先级的概念,系统管理员可以实时动态改变各虚拟机的优先级,并基于虚拟机的实时优先级进行了调度方面的优化,形成了基于credit调度算法的新的调度器credit3,并将新的调度器实现且将其添加到了 Xen虚拟化平台中进行了性能测试实验。实验结果表明,我们的改进策略在保证系统吞吐量的情况下显著提升了 Xen平台上虚拟机的实时性能。