Nehalem-EP促使虚拟化“进步”

特别策划

Core i7(Nehalem架构,代号Bloomfield)在2008年推出后,面向服务器平台的Nehalem-EP架构(代号Gainestown)的Xeon 5500系列处理器也于2009年3月31日正式发布,它在虚拟化方面有什么进步呢?

Nehalem-EP的虚拟化新特性

Nehalem-EP平台支持超线程技术,每个核心都能同时执行两个线程,一共8个逻辑核心(即4个物理核心),可大大提高服务器的虚拟化性能。在Nehalem-EP平台上,英特尔进一步对虚拟化技术进行改进,加入了EPT(Extended Page Tables,扩展页表)和VPID(Virtual Processor IDs,虚拟处理器标志)两项技术。

●EPT:加速从虚拟机地址到服务器物理地址的转换

在x86架构中,内存页(Page Tables)可用来保护内存位址,使多个程序在内存中存取时互不干扰。然而内存页在虚拟化时,得经过VMM中SPT(Shadow Page Table)的转换,会造成性能损失。因此,AMD/英特尔都提出了各自的内存页虚拟化机制,AMD称为NPT(Nested Page Tables),而英特尔则称为EPT(Extended Page Tables)。

NPT和EPT的原理相同:在进行虚拟化运算时,由于物理内存被多个虚拟机共享,所以虚拟机会访问虚拟地址而不会直接访问物理地址。在物理地址和虚拟地址的转换过程中(虚拟机退出时都要对内存页进行修改),如果性能不佳,肯定会影响虚拟系统的性能。EPT可加速从虚拟机地址到服务器物理地址的转换过程,节省传统软件虚拟处理方式的系统开销。据英特尔宣称,EPT在此方面的改进所带来的虚拟化延迟可比Penryn(Xeon 5400)降低33%。

●VPID:通过减少虚拟机地址转换的开销来提升虚拟化性能,并提高迁移速度

每个处理器中都有一个TLB(Translation Look-aside Buffer,页表缓存),其主要作用是用来存储逻辑地址到物理地址的转换表,负责将虚拟内存地址翻译成实际的物理内存地址。当CPU寻址时,不会直接在内存的物理地址里查找该地址,而是优先在TLB中进行寻址。

当处理器在虚拟客户端和主机环境之间切换时,英特尔过去的处理器都会不断刷新TLB,以确保进程只访问被允许访问的内存。而VPID会追踪TLB中某个转换进程并查找是哪个虚拟机,这样当虚拟机进入或退出时,TLB即使不刷新也能够保证安全性。如果一个进程试图访问不属于自己的地址转换,则会在TLB发生命中失败而不是非法访问。VPID通过此方式减少虚拟机地址转换的开销来提升虚拟化性能,并提高迁移速度。

Nehalem-EP对虚拟化的意义

以英特尔VT和AMD SVM安全虚拟机为代表的芯片级虚拟化解决方案的出现,虚拟化从软件发展到硬件,让虚拟化应用的兼容性更佳,大大减少了软件虚拟化应用的性能开销,从而使虚拟软件能够按通用标准进行编写,性能更强大。对于那些已经在运用虚拟化软件工具的用户来说,不用增加任何额外成本,就可以借助内置在英特尔处理器或芯片组中的虚拟化技术,来提升主流市场虚拟化软件工具的性能及实际的应用性能。

从硬件性能来看,随着英特尔以Nehalem-EP平台为代表的新一代硬件辅助虚拟化平台的推出,让传统的纯软件虚拟化应用变得更高效。并且Nehalem-EP平台(含相关配套主板芯片组)是目前服务器中对硬件虚拟化技术支持最完备的系统,它是对处理器虚拟(VT-x或VT-i)、芯片组虚拟(VT-d)、I/O及网络设备虚拟(VT-c)等一系列虚拟化技术的集成,让英特尔VT性能有了进一步提高,可为客户的服务器虚拟化部署提供更好的保障。

从市场来看,Nehalem-EP平台为服务器厂商带来了新的机遇,例如应用了VT-d虚拟化技术的Nehalem-EP不仅可将在该平台上运行的虚拟机的性能提升一倍,也可大大减化相关软件的编写难度(如VMware计划在2009年发布一项名为VMDirectPath的新技术,这项技术可以利用Nehalem-EP平台中的新功能)。Nehalem-EP推出的重要意义在于,这是一种设计更简单、实施更高效、应用更可靠、覆盖更全面的虚拟化解决方案,它的出现将进一步降低x86服务器平台虚拟化的门坎,进一步提升x86服务器平台虚拟化的性能。

14-行业2-1-1.jpg
EPT解决方案原理图