AMD硬件辅助虚拟化技术深度剖析

特别策划

AMD-V特点扫描

无论从成本还是从节能方面来考虑,虚拟化都是服务器发展的方向,让多个操作系统和应用程序在同一台服务器上同时运行,可简化部署,获得更具弹性的架构、更佳的计算资源利用率、更透明访问所有软件,从技术特点上来看,AMD-V技术同样可轻松达到这样的目标。

首先,相比采用前端总线的平台,AMD64(AMD的64位平台的简称)是一个更理想的虚拟化平台,其直连架构可避开前端总线的瓶颈,从而实现处理核心的更有效利用和内存访问,而其HyperTransport技术更可实现带宽最大化和延时最小化。这样,AMD-V虚拟化平台通过直连架构,可提供更大的内存带宽和可扩展性,使核心之间实现更快速的数据共享。由于它的内存响应时延仅为传统架构的一半,从而支持每台服务器能够部署更多的虚拟机及让每台虚拟机能够处理更多的事务。

其次,AMD-V系统具备Extended Migration(增强迁移)能力,这种硬件特性能够帮助虚拟软件实现虚拟机在所有AMD皓龙处理器及其应用平台之间实时迁移,以获得更好的安全性及容灾性能,并提供更具弹性的切换功能,保护企业用户的投资及虚拟化数据中心的效能。

再次,AMD-V系统具备多种先进的虚拟化特性,能较好地满足服务器平台用户在此方面的需求。例如它具备的Tagged TLB(标记TLB,Translation Look-aside Buffer/地址转换后备缓冲器,CPU中用于存储最近使用的从虚拟机到物理内存翻译记录的一个表)硬件特性,能够促进虚拟机之间的高效切换,这样在多个虚拟机同时运行时,在内存地址中切换时,让Hypervisor能更确切地知道TLB与虚拟机之间的对应关系,获取更好的响应性能。

最后,DEV(Device Exclusion Vector,设备排斥向量)是AMD虚拟技术的专有功能,该硬件特性能够高效地隔离虚拟机,它允许Hypervisor创建保护域,使得设备在未经授权的情况下不能访问内存页面,以提高虚拟化的安全性。

22-行业2-1-1.jpg
AMD硬件平台也支持虚拟化功能

快速虚拟化索引技术解析

快速虚拟化索引技术(Rapid Virtualization Indexing,简称RVI,以前被称为Nested Paging,即嵌套分页)是AMD-V中一项值得关注的技术,它可通过Nested Page Table和Tagged TLB来提升虚拟化性能,这里对它重点介绍一下。

从主要技术特点来看,该技术支持基于硬件的虚拟机内存管理,有助于提高虚拟应用的性能,而其增强的电源管理功能可以智能化地管理功耗,避免在低利用周期浪费能源。

从技术细节来看,快速虚拟化索引技术利用“on-die”硅芯片资源,与虚拟化技术相结合,能大大减少管理程序的循环周期和性能损耗,能提升虚拟机客户端操作系统内存管理的有效性。大家知道,即使是最强的处理器,若虚拟化厂商在其Hypervisor(虚拟化层)上不提供支持的话,它还是无用武之地。作为整个虚拟化体系的重要一环,虚拟化层位于虚拟化的最底层,是虚拟架构的支撑,它直接运行在硬件上,Hypervisor可以把单个服务器划分为多个,并包含VMM(Virtual Machine Monitor,虚拟机监视器)。而RVI的作用就是在硬件中完成比软件管理速度更快的内存查询,同时减少Hypervisor对虚拟机的干预,并缩短Hypervisor的切换时间,使虚拟机之间进行切换的时间缩短25%左右。

这让具备RVI的系统在多个虚拟机之间的切换速度更快,从而在一台服务器上能部署更多的虚拟机,并能提供接近非虚拟化环境性能的全功能虚拟化性能。使RVI系统在MMU密集基准(MMU-intensive benchmarks)上能提供高达42%的性能提升,和在MMU密集微基准上(MMU-intensive microbenchmarks)高达500%的性能提升。

据AMD的测试表明,在微软平台上,在半虚拟化的环境可以提高性能14%,而把RVI功能打开以后,可以提升50%。如果在Linux环境里,在半虚拟化环境里,性能提升1倍,结合RVI会提升2倍多。而通过VMmark的测试显示,有了部分虚拟化和快速虚拟化索引(RVI)技术的四核巴塞罗那处理器,在虚拟化应用环境中的Oracle 10G可以获得高达249%的性能提升。可见RVI打开和关闭以后对虚拟化的性能提升影响非常明显。

目前AMD的快速虚拟化索引技术已获得业界的广泛支持,如VMware公司已在其ESX中支持了AMD-V RVI技术,微软也在Hyper-V里加入了对AMD-V虚拟化技术和快速虚拟索引技术(RVI)的优化支持,IBM、SUN、戴尔、惠普等服务器厂商都采纳了AMD的这种虚拟化方案。

22-行业2-1-2.jpg
快速虚拟化索引可提升虚拟化性能

热迁移功能日益完善

在AMD-V的主要特性中,其增强的迁移特性值得关注。众所周知,Hypervisor使用CPU作为转移器件,当用户在采用不同CPU的服务器上进行虚拟机迁移时,很可能会出现系统宕机的情况,而通过AMD-V Extended Migration(增强迁移技术),虚拟机能在使用不同时代的AMD处理器的服务器上迁移,不会出现宕机的情况。

从技术特点上来看,AMD-V能提供Virtual Machine Migration(可迁移的虚拟机)等增强虚拟化解决方案,通过在处理器和内存控制器中添加一个新模型和新功能来增强虚拟化体验,能够帮助虚拟化软件实现虚拟机在所有采用AMD皓龙处理器的服务器之间实时迁移。可为虚拟化软件提供完整的支持,消除不同时代处理器之间的差异,促进采用不同时代AMD处理器(包括现有单核与双核、四核处理器,以及所有未来新款AMD处理器)的服务器能稳定地切换运行中的虚拟机。

从技术白皮书提供的迁移模式上来看,AMD-V技术支持Static Migration(静态迁移)、Cold Migration(冷迁移)和Live Migration(热迁移)。顾名思义,冷迁移就是虚拟机(VM)在停止状态时移动,无论是电源关闭还是待机状态,虚拟机都会完全停止运行,不使用任何CPU和内存。如果虚拟机正在使用CPU和内存,就只能进行VMotion迁移(VMotion是VMware开发出的一项独特技术,它将服务器、存储和网络设备完全虚拟化,使得正在运行的整个虚拟机能够在瞬间从一台服务器移到另一台服务器上)或热迁移。

AMD具备的Live Migration(称为热迁移、动态迁移或实时迁移)技术从原理上来看类似VMotion。它从一台物理主机迁移虚拟机到另一台物理主机时不用停机,可在零停机且用户毫无察觉的情况下执行迁移,可不间断地自动优化资源池中的虚拟机,可在不停机、不中断服务运行的情况下执行硬件维护。对于不需要停机便能移动工作负荷的数据中心,VMware的ESX平台是较好的选择,而AMD-V通过从硬件支持这类动态的热迁移功能,无疑能让这种应用变得更方便。

从技术应用上来看,AMD已成功地在采用“巴塞罗那”、“上海”、“伊斯坦布尔”三代Opteron处理器的三类服务器上进行了虚拟机动态迁移实验,所采用的操作系统是集成了Hyper-V的Windows Server 2008 R2 Beta,虚拟服务器构建平台为VMware ESX 3.5。在演示中,该虚拟平台能够在不中断任何服务或不停机的情况下,将正在运行中的虚拟机迅速从一台物理主机转移到另一台上。

22-行业2-1-3.jpg
热迁移让服务器应用更方便