论文部分内容阅读
近年来,平台虚拟化技术成为了国内外计算机领域的研究热点。服务器合并、网络安全、数据保护、高性能计算和可信计算等方面的应用对平台虚拟化技术的性能、安全可靠性和可伸缩性有了更高的要求。其中,设备虚拟化技术中所关注的一些关键问题包括性能、安全性和实现的难易程度等。首先,在研究当前设备虚拟化技术的基础上,本文提出并实现了一种基于设备模拟模型的显示设备加速方案。该方案使虚拟机可以直接访问其显示设备MMIO空间,同时结合内存虚拟化模块,进行显示设备MMIO空间访问状态追踪,生成显示设备MMIO空间修改位图(Dirty Bitmap),显示设备模拟模块根据这一修改位图进行虚拟机屏幕部分区域重绘。为了测试该优化方案,因此设计了一套专用测试系统,并进行了对比性的测试。测试结果表明,该方案有利于提高系统性能,缓解了系统I/O瓶颈,并增强了系统可伸缩性。第二,现有的设备虚拟化模型中,模拟模型和泛虚拟化模型均存在着许多不足,前者性能损失严重,后者需要修改客户操作系统。为了更进一步地满足应用领域对设备性能的需要,在研究X86平台上的硬件IOMMU特性的基础上,提出了一种基于Xen的通用I/O设备直接分配模型的设计实现方案。该方案将一个物理I/O设备分配给一个虚拟机,使其可以与设备进行直接的数据交换,包括虚拟机中的客户操作系统进行MMIO访问和被分配的设备进行DMA操作。设备直接分配模型无需修改客户操作系统,并且大大提高了系统性能及设备数据交换安全性。这是本文最重要的贡献之一。第三,将设备虚拟化模型应用于显示设备、网络设备和USB存储设备等实例中。在设计实现显示设备直接分配模型中,提出了处理设备自带BIOS的解决方案。然后,采用不同的测试方案,对上述三种设备虚拟化实现分别进行了对比性的测试。其性能评测结果表明,直接分配模型的性能十分接近于非虚拟化环境,远远超过设备模拟模型。设备直接分配模型,无需修改虚拟机内的客户操作系统或驱动,降低了软件复杂度,性能大大优于传统的虚拟化模型,利用硬件IOMMU保障系统安全性,成为目前的发展趋势。最后,本文对设备虚拟化技术发展方向进行了展望,提出了一个基于设备自我虚拟化技术的设备虚拟化模型架构。拥有自我虚拟化功能的设备,提供多套独立的控制接口,每一套接口可被分配给一个虚拟机并由其直接控制。