论文部分内容阅读
近年来,迅猛发展的计算机硬件技术和相对滞后的软件计算模式,使虚拟化技术成为近来研究热点之一。经过多年发展,CPU与内存虚拟化技术日趋成熟,I/O虚拟化虽然快速发展但却相对滞后,严重影响了虚拟机整体性能。如何改进I/O虚拟化技术,提高I/O设备虚拟化性能及其利用率,一直是当前虚拟化技术研究重点之一。当今国际上有三种主流的I/O虚拟化技术,分别是完全模拟模型,半虚拟化模型和直通模型,这些I/O虚拟化技术在不同程度上实现了I/O设备虚拟化功能,并通过硬件级支持不断提高I/O设备虚拟化的性能,但在性能方面仍然存在一定差距。本文在深入研究当今主流的I/O虚拟化技术现状的基础上,针对这些挑战提出了一系列系统的解决方案。本文提供一套更全面更高效的I/O虚拟化方案。具体研究工作如下:1.从CPU开销入手,将网卡硬件中的中断延迟技术引入网络虚拟化中,在保证网络吞吐量不降低的同时,大大降低CPU开销。提出了一种可以根据网络繁忙程度自动调整、可在模式之间自动切换的I/O虚拟化机制,并在Xen虚拟机中实现了这一机制。这种机制在单个虚拟机情况下,CPU开销下降8%;在九个虚拟机情况下,CPU开销下降50%,而网络吞吐量完全没有下降。在此机制基础上抽象出双层网络结构——物理层与虚拟层,利用双层网络结构的中断延迟数值,实施了进一步优化。2.针对SR-IOV在可扩展性和依赖特殊硬件支持这两方面的不足,提出了一种通用的基于SR-IOV的I/O虚拟化架构并在多种虚拟机上实现。在该I/O虚拟化架构中,SR-IOV设备驱动具有很高的移植性,它的实现与底层的VMM无关,并提出了三种优化方法来减少虚拟化开销,设计了大量试验来评测该架构的性能,结果表明该架构能够达到物理线路数据传输速率(9.48Gbps),在同时运行60虚拟机时,每个虚拟机只需增加额外的1.76%CPU开销,并保证吞吐量没有降低,我们认为该虚拟化架构从吞吐量、可扩展性和较低CPU开销各个方面都优于I/O半虚拟化。3.在网络环境下为瘦客户端设计了一种分布式动态二进制翻译器框架DistriBit。在该分布式框架中,根据服务器和瘦客户端的功能和计算能力大小分配不同任务,功能强大的服务器负责代码翻译和优化任务,资源有限的客户端负责代码执行任务;为DistriBit中瘦客户端设计了一种代码缓存管理策略,针对瘦客户端缓存大小和代码执行情况,在服务器端为定制相适应的缓存管理策略,借助于该缓存管理策略,瘦客户端可以进行复杂高效率的代码管理。