MCPLive > 杂志文章 > Xen 4.0虚拟化基础架构的新特性

Xen 4.0虚拟化基础架构的新特性

2010-08-16Superymk《微型计算机》2010年7月下

Xen 4.0的新特性

作为一个历史悠久的开源虚拟机,Xen于2010年4月7日发布了4.0版。相对于从2005年开始的Xen 3.x版本,Xen 4.0拥有了诸多新特性,主要包括了对可扩展性、性能、可靠性和可用性的提升,下面我们将逐一进行介绍。

可扩展性:规格显著提升

在Xen 3.x时代,对宿主机大支持CPU数量为64;而Xen 4.0提供了更强大的可扩展性,Xen 4.0支持安装1TB内存以及128颗物理CPU的宿主机,同时对虚拟机也可支持到128个虚CPU(VCPU)。CPU支持数量的大幅提升,无疑大大强化了Xen 4.0对高性能平台及应用的支持。


提供了对128颗CPU的支持并且可以虚拟128颗CPU

性能:内外双管齐下

对于虚拟系统而言,所谓性能既包括虚拟机的运行性能和使用率,又包括虚拟化软件对宿主机造成的性能影响。Xen 4.0性能上的提升主要有两个方面,一是对高带宽消耗的硬件进行了性能上的优化,二是通过结构优化带来的性能提升。

1.硬件性能优化

普通PCI设备:通过优化对Intel VT-d和AMD IOMMU(I/O内存管理单元,也称为I/O虚拟化)技术的使用,提升虚拟机对PCI设备的访问效率。

显卡:Xen 4.0支持虚拟机对宿主机显卡的独占式访问,从而大大提升了在虚拟机中图形图像的处理速度。曾经玩过虚拟机的朋友应该知道,过去无论所装显卡能力有多强,在虚拟机中玩3D游戏总是出现图像跳帧甚至根本无法运行,这主要是因为虚拟机需要引入额外的内存读写或建立共享内存而大大降低了显卡在虚拟机中的性能。而在Xen 4.0中,用户可以将计算机上额外的显卡设备指定给某个虚拟机独占使用,从而获得与宿主机一样的图像体验。

网卡:Xen 4.0对网卡性能的提升主要在于引入了多队列机制和对SR-IOV(单点I/O虚拟化)网卡的支持。后者是近刚刚兴起的一种I/O设备虚拟化技术,这种技术要求I/O设备有专门的硬件实现。Intel VT-d技术为了保证高性能使用设备,采用了将某个PCI设备完全指定给某个虚拟机的做法。这就造成一旦某个虚拟机拥有了某个设备,则在这个虚拟机被完全关闭之前,其它虚拟机甚至宿主机都不能访问该设备,这显然违背了虚拟化技术中“共享”的原则。


 SR-IOV设备分配示意图

而SR-IOV则在保证高性能使用设备的基础上添加了“共享”的功能。以SR-IOV网卡而言,可以将这种网卡视作若干个虚拟网卡(当前一般为8个,多64个)和一个交换机的组合。各个虚拟网卡之间完全隔离,这就使得每个虚拟机可以拥有一块独占的虚拟网卡,而宿主机可以对所有虚拟网卡进行管理。

USB设备:引入对USB设备的并行虚拟化,从而提高了虚拟机访问USB设备的吞吐率。之前的方案是通过模拟为USB 1.1设备来实现的,相比之下后者访问速度较慢且仅支持部分USB设备。

2.结构性能优化

TMEM技术( Transcendent Memory,超内存技术):提高了半虚拟化(Paravirtualization)中虚拟机内存的使用率。这样做可以避免某个空闲(Idle)状态的虚拟机占据大量不需要的物理内存,从而避免了可能造成的其它虚拟机上内存短缺现象。

内存页共享:Xen 4.0支持虚拟机间的内存页面共享,这样可以加快虚拟机间的通信。目前采用的实现方式是写时复制(Copy-On-Write)机制,这只是一个初步的尝试,后续还会进行改进。

注:读取共享数据时直接读取而不需要同步;当修改数据时会先把当前数据Copy一份副本,然后在这个副本上进行修改,完成后再用修改后的副本替换掉原来的数据。这种方法叫做Copy On Write。

本文导航

分享到:

用户评论

用户名:

密码: