Intel-VT 技术
IA-32 上的虚拟化技术,最早可以追溯到虚拟内存管理。虚拟内存管理机制为程序提供了远大于真实内存的虚拟内存。后来,为了能够在保护模式下更好的支持早期的在实模式下的程序的运行,英特尔又加入了虚拟 8086 模式。虽然虚拟 8086 模式并不能完全兼容真实的实模式程序,但是也算是英特尔处理器虚拟化的一次尝试。
Intel-VT 技术,是英特尔公司设计出的硬件辅助虚拟化的一套解决方案。 Intel-VT 具体包括分别针对处理器的VT-X/VT-I 、芯片组的 VT-D 和网络的 VT-C 技术:
a) 处理器虚拟化 (VTx/VTi) :包括英特尔虚拟化灵活迁移技术( Intel VT FlexMigration )、英特尔 VT
FlexPriority 、英特尔 VT 扩展页表( Extended Page Tables ):
1、英特尔 VT FlexPriority :当处理器执行任务时,往往会收到需要注意的其它设备或应用发出的
请求或 “ 中断 ” 命令。为了最大程度减少对性能的影响,处理器内的一个专用寄存器将对任务优先级进行监
控。如此一来,只有优先级高于当前运行任务的中断才会被及时关注。英特尔 FlexPriority 可创建 TPR6 的一个
虚拟副本,该虚拟副本可读取,在某些情况下,如在无需干预时,还可由客户操作系统进行更改。上述举措可以使
频繁使用 TPR 的 32 位操作系统获得显著的性能提升。(例如,能够将在 Windows Server* 2000 上运行的应用的
性能提高 35% )。
2、英特尔虚拟化灵活迁移技术( Intel VT FlexMigration ):虚拟化的一个重要优势是能够在无需
停机的情况下,将运行中的应用在物理服务器之间进行迁移。英特尔虚拟化灵活迁移技术 ( Intel VT
FlexMigration )旨在实现基于英特尔处理器的当前服务器与未来服务器之间的无缝迁移,即使新的系统可能包括
增强的指令集也不例外。借助此项技 术,管理程序能够在迁移池内的所有服务器中建立一套一致的指令,实现工作
负载的无缝迁移。这便生成了可在多代硬件中无缝运行的更加灵活、统一的服务器资源池。
3、扩展页表( Extended Page Tables , EPT ):为了减少实现内存虚拟化(跟影子页表相比)的
难度和提升内存虚拟化的性能, VT-X 提供了 EPT 技术,直接在硬件上支持客户虚拟地址 -> 客户物理地址 -> 主
机物理地址的两次转换。
b) 芯片组虚拟化 (VTd) :如果没有 VTd 技术,虚拟机监控器必须直接参与 I/O 交易,这不仅会减缓数据传输
速度,还会由于频繁的 VMM 活动而增大处理器的负载。 VTd 提供了客户操作系统直接访问真实硬件的机制,极大
的减少了服务器处理器的负载。
c) 网络虚拟化 (VTc) :英特尔 VT-c 可针对虚拟化进一步优化网络。从本质上来说,这套技术组合的功能与邮
局非常相似:将收到的信件、包裹及信封分门别类,然后投递到各自的目的地。通过在专用网络芯片上执行这些功
能,英特尔 VT-c 大幅提高了交付速度,减少了 VMM 与服务器处理器的负载。 VTc 包括虚拟机设备队列 (VMDq)
和虚拟机直接互连 (VMDc) :
1、借助虚拟机设备队列( VMDq )最大限度提高 I/O 吞吐率:在传统服务器虚拟化环境中, VMM 必
须对每个单独的数据包进行分类,并将其发送到为其分配的虚拟机。这样会占用大量的处理器周期。而借助 VMDq
,该分类功能可由英特尔服务器网卡内的专用硬件来执行, VMM 只需负责将预分类的数据包组发送到适当的客户操
作系统。这将减缓 I/O 延迟,使处理器获得更多的可用周期来处理业务应用。英特尔 VT-c 可将 I/O 吞吐量提高
一倍以上,使虚拟化应用达到接近本机的吞吐率。每台服务器将整合更多应用,而 I/O 瓶颈则会更少;
2、借助虚拟机直接互连( VMDc )大幅提升虚拟化性能:借助 PCI-SIG 单根 I/O 虚拟化( SR-IOV)标准,虚拟机直接互连 (VMDc )支持虚拟机直接访问网络 I/O 硬件,从而显著提升虚拟性能。如前所述,英特尔 VT-d 支持客户操作系统与设备 I/O 端口之间的直接通信信道。通过支持每个 I/O 端口的多条直接通信信道,SR-IOV 可对此进行扩展。例如,通过单个英特尔万兆位服务器网卡,可为 10 个客户操作系统中的每个操作系统分配一个受保护的、 1Gb/ 秒的专用链路。这些直接通信链路绕过了 VMM 交换机,可进一步提升 I/O 性能并减少服务器处理器的负载;