论文部分内容阅读
虚拟化技术最早起源与IBM大型机,随着互联网及IT业的不断发展,产生了不同的虚拟化技术,如服务器虚拟化、网络虚拟化、微处理器虚拟化、文件虚拟化、存储虚拟化等技术。近年来,虚拟机技术在服务器整合、分布式系统安全等领域运用的越来越多。然而,虚拟机的独立性和相互隔离特性使得同一物理机器上虚拟机之间的通信与数据传输性能大打折扣。在现有的虚拟机技术中,域间通信是通过标准的虚拟网络I/O来完成的,网络数据包的传输需要从发送端虚拟网卡发送到Dom0中的网络设备仿真模块,然后再从Dom0发送至接收端虚拟网卡。在此传输过程中数据包要经过多个域的处理,并且CPU也要进行多次特权级切换与运行模式切换,这是域间通信性能受到损失的主要原因。因此,本文针对Xen硬件虚拟机域间通信性能低下的问题提出了一个域间通信优化模型,通过共享内存的方式在两个通信的硬件虚拟机之间建立直接数据传输通道来进行数据传输。本文首先介绍了虚拟机技术的相关背景和研究现状,概述了部分必要的Xen关键技术、机制,详细分析了Xen硬件虚拟机网络I/O虚拟化模型和域间通信的工作过程,并从中总结出域间通信性能损失的原因。然后,结合硬件虚拟机域间通信性能损失的原因和其硬件虚拟化的特点,提出了基于共享内存进行数据传输的优化模型。优化模型的特点在于:数据传输不通过虚拟网络I/O,而是通过域间共享内存的方式进行双向数据传输,提高了数据传输的可靠性与效率;通过域间事件通道机制为数据传输提供管理控制服务,减少了额外开销;在硬件虚拟机中通过NDIS中间层驱动提供数据包过滤转发功能,实现数据包从协议栈缓冲区到域间共享内存的转发;通过Xenstore统一管理参与域间通信的硬件虚拟机的相关信息,实现域间数据传输通道的自动建立机制。最后,通过实验对比,从网络传输带宽、延迟以及域间通信过程中产生的Domain切换开销等方面验证域间通信优化模型较之原有通信模型在性能上的提升。