Intel VT硬件辅助虚拟化技术详解
从英特尔发布的虚拟化技术路线图上,我们可以看到英特尔虚拟化技术Intel VT由VT-x、VT-d、VT-c三大部分组成,这三大技术分别面向不同的层面。
▲英特尔虚拟化技术路线图
Intel VT具体包括针对IA-32体系架构处理器的VT-x技术、针对芯片组的VT-d技术以及针对网络的VT-c技术。VT-i为面向安腾处理器的虚拟化技术。下文将详细解析Intel VT的这三大技术功能。
1.VT-x提升虚拟化灵活稳定性能
纯软件虚拟化技术中,客户操作系统往往要通过VMM这一层来听取与执行指令,这无疑增加了通信路径和VMM的开销,而VT-x技术可减少VMM的干预,提高基于软件的虚拟化方案的灵活性与稳定性,在需要VMM干预时,实现更加快速、可靠和安全的切换。此外,英特尔VT-x还为VMM与客户操作系统之间的传输平台控制提供了有力的硬件平台支持。英特尔VT-x技术包括英特尔虚拟化灵活性迁移技术(Intel VT FlexMigration)、英特尔VT FlexPriority、英特尔VT扩展页表(Extended Page Tables)。
处理器在执行任务时,常常收到其它设备或应用发出的请求或“中断”命令。为了最大程度减少对性能的影响,处理器内的一个专用寄存器(TPR)将对任务优先级进行监控。如此一来,只有优先级高于当前运行任务的中断才会被及时关注。英特尔VT FlexPriority 可创建 TPR的一个虚拟副本,减少处理器不必要的中断次数,从而显著提升提升。此外,该虚拟副本还可由客户操作系统进行更改。
至于英特尔虚拟化灵活迁移技术(Intel VT FlexMigration)是英特尔为未来技术发展预留空间的具体体现,Intel VT FlexMigration可实现基于英特尔处理器的当前服务器与未来服务器之间的无缝迁移,即使新的系统可能包括增强的指令集也不例外。从而使管理程序能够在迁移池内的所有服务器中建立一套一致的指令,实现工作负载的无缝迁移。生成可在多代硬件中无缝运行的灵活统一的服务器资源池。
2.VT-d消除I/0中间路径
虚拟化技术在每台服务器上整合了大量的操作系统,数据进出系统的I/O 流量有所增加且更趋复杂。虚拟机监控器(VMM)直接参与每项I/O交易,不仅会减缓数据传输速度,还会因为频繁的 VMM 活动而增大服务器处理器的负载。英特尔VT-d 通过减少 VMM 参与管理I/O流量的需求,消除了大部分的性能开销,加速了数据传输。
▲基于软件的虚拟I/O和基于英特尔VT-d的直接分配I/O
基于纯软件的虚拟化技术中,用户操作系统与硬件设备通过VMM来通信,而借助VT-d,完成初始分配之后,数据即可直接在客户操作系统与为其分配的设备之间进行传输。这样,I/O 流量的流动将更加迅速,减少的 VMM 工作运行则会进一步缩减服务器处理器的负载。此外,由于用于特定设备或客户操作系统的 I/O 数据不能被其它任何硬件或客户软件组件访问,VMM将特定 I/O 设备安全分配给特定客户操作系统。每个设备在系统内存中都有一个专用区域,只有该设备及其分配的客户操作系统才能对该区域进行访问,增强了虚拟化的安全性能。
3.VT-c优化网络负载
在集群和数据中心环境中,每台服务器通常同时运行大量的虚拟机。由于服务器的网络设备数目有限,多个虚拟机不得不复用同一个网络设备,从而导致性能下降。VT-c 包括两项技术来优化网络性能:
虚拟机设备队列(Virtual Machine Device Queues,VMDq)。收到一个数据包时,VMM必须将其分类以确定应该转发给哪个虚拟机,这个过程占用了大量的处理器资源。如果以太网控制器支持VMDq技术,VMM 可以为虚拟机使用不同的数据包队列,以太网控制器自动分类数据包并投放到相应的队列中,大大减轻VMM的负担,提高了I/O吞吐量。
▲VMDq数据包分类
虚拟机直接连接(Virtual Machine Direct Connect,VMDc)。通俗地说,支持该技术的网络设备能够对外展现出多个虚拟功能接口(Virtual Function)。每个功能接口相当于一个网络设备,VMM可将其直接分配给虚拟机,从而“避免”了网络设备的复用。例如,VMM仅用单个英特尔万兆以太网卡,可为10个客户机操作系统分配独立受保护的 1 Gb/ 秒的专用链路,VMM 无需继续管理这些直接通信链路,进一步提升 I/O 性能并减少主机处理器的负载。
▲VMDc示意图
底层动力全面推动数据中心虚拟化
可以说,基于硬件的虚拟化技术是对现有软件虚拟化技术的补充和提升,而非取代。英特尔硬件辅助虚拟化技术Intel VT可降低VMM开销、消除I/O中间路径、优化网络负载,从底层破解纯软件虚拟化技术的两大顽疾。
云计算已经拉开了数据中心变革的大幕,而数据中心虚拟化正是这场变革的开始,通过实现数据中心资源的按需动态调度,虚拟化将企业带入云计算的道路。随着x86架构性能的不断提升,英特尔这个隐藏在虚拟化底层架构的巨人正全面推动x86平台的虚拟化,加快企业数据中心向私有云迈进的步伐。
推荐阅读:漫画解读英特尔底层芯动力 推动数据中心虚拟化。