论文部分内容阅读
虚拟化技术起源于大型机。早在上世纪60年代,IBM公司就发明了一种操作系统虚拟机技术,它在已有的计算机层次上新增虚拟中间层,截获上层软件对底层接口的调用,并对该调用重新作出解释和处理,从而实现新的、不同于已有软件或硬件提供的功能。近年来,由于虚拟机在服务器整合以及增强分布式系统的安全等方面的应用,虚拟机已开始向PC和工作站领域迅速普及。采用虚拟机技术,可以屏蔽硬件平台的动态性和异构性,支持硬件资源的共享和服用,并为每个用户提供属于个人的独立、隔离的计算环境;可以实现整合服务器,节省资金提高资源利用率;可以实现故障隔离,提高系统安全性。虚拟化技术一个重要的应用就是服务器整合,最大限度地提高硬件资源的利用率,降低能源开销,减少企业运行成本。服务器整合通常通过在一台服务器上运行多层服务来实现。而不同层次的服务通常运行在不同的虚拟机中,此时这些虚拟机之间的通信就非常频繁。本文研究了Xen虚拟机之间的通信性能,找出了其性能瓶颈,并实现了IDCO优化模型对其进行改进。目前,Xen中不同的Guest之间进行通信时,首先要将请求发送到Guest之中的前端,它再转发到Domain0上的back-end,这就会发生一次Domain切换,然后经过Domain0中的Driver Model进行处理,这不仅延长了通信路径,而且增加了Domain切换次数和TLB缺失,造成了极大的性能开销。为解决这种性能瓶颈,本论文在研究相关工作的基础上,结合自己的研究,设计并实现了一种新的Domain间通信模型IDCO模型,该模型采用Hypercall来建立连接,通过共享内存实现高速的数据传输,绕过原有机制,缩短通信路径,不仅提高了通信带宽,降低了通信延迟,还极大降低了Domain切换次数,显著提高了通信性能。最后,为衡量上述Domain间通信模型,论文还设计试验方案,从带宽,延迟,CPU利用率以及Domain切换次数等多个方面给出了新的通信模型和原有通信方法之间的性能对比。结果表明,IDCO优化模型显著改善了同一台物理机器上不同虚拟机之间的通信性能。