Intel VT

Intel公司的虚拟化技术
收藏
0有用+1
0
同义词虚拟化(计算机术语)一般指Intel VT
Intel VT即Intel公司的Virtualization Technology虚拟化技术
为解决纯软件虚拟化解决方案在可靠性、安全性和性能上的不足,Intel在它的硬件产品上引入了Intel VT(Virtualization Technology,虚拟化技术)。2005年8月,Intel首次公布了针对硬件辅助虚拟化的Vanderpool(Intel VT虚拟化技术的前身)技术细节。Vanderpool技术通过增加新的指令,使得Intel处理器支持硬件虚拟化。2005年11月,Intel宣布,虚拟化技术Vanderpool改成VT,被Acer和联想应用在其基于Intel Pentium 4的PC上。
Intel VT可以让一个CPU工作起来像多个CPU在并行运行,从而使得在一部电脑内同时运行多个操作系统成为可能。这种VT技术并不是一个新鲜事物,市面上已经有一些软件可以达到虚拟多系统的目的,比如VMware workstation、Virtual PC等,使用这种技术就可以单CPU模拟多CPU并行,可以实现单机同时运行多操作系统
中文名
Intel的虚拟化技术
外文名
IntelVT
本    质
Intel公司的虚拟化技术
领    域
信息科学
拥有者
Intel公司
特    点
让一个CPU工作起来像多个CPU在并行运行

简介

播报
编辑
VT,就是虚拟化技术(V乌尝淋irtualizati符叠on Technology)的缩写。雅桨格仔Intel VT就是指Intel的虚拟化技术。这种技术简单来迁地促说就是可以让一个CPU工乌精重作起来就像多捆葛个CPU并行运行,从而使得在一台电颈战脑内可以同时运行多个悼海漏操作系统。只有部分Intel 的CPU才支持这种技术。

技术对比

播报
编辑
IntelVT虚拟化技术和多任务(Multitasking)、Hyper-Threading超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,你可以拥有多个独立的操作系统同时运行,每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或虚拟主机(虚拟机)上。而Hyper-Threading超线程只是在SMP系统(SymmetricMultiProcessing)中单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
当然了,如果一个CPU同时支持Hyper-Threading和虚拟化技术的话,每一个虚拟CPU在各自的操作系统中都被看成是两个对称多任务处理的CPU。

技术发展

播报
编辑

最早出现

虚拟化技术可能让人联想到早期IntelCPU上的“Virtual8086”技术,这种V86模式技术是用来兼容早期的8086/8088处理器而设计的,最早出现386机器上。使用V86模式你可以创建好几个并行虚拟8086计算机来运行多个DOS程序.同样道理,使用VT技术你也可以创建几个完整的虚拟机来运行几个完整的操作系统

改进原因

可是既然已经有VMware这类可以达到虚拟目的的软件,为什么还要努力来实现硬件CPU内部的虚拟化技术呢?这是因为硬件CPU的虚拟化技术有许多优势。支持虚拟化技术的CPU带有多余的指令集来控制虚拟过程,通过这些指令集,控制软件VMM(VirtualMachineMonitor)会很容易提高性能,相比纯软件的虚拟化实现方式,会在很大程度上提高性能。
IntelVT虚拟化技术的实施需要处理器、芯片组、BIOS、VMM软件的同时支持,这些特定的硬件、软件必须全部到位。性能要视不同的硬件、软件而定。支持Intel虚拟化技术的VMM(Hypervisor)已有开源项目和版本,并在持续优化中,某些厂商也已推出了成熟的商用版本。Intel将硬件辅助虚拟化集成到主要的服务器组件中,帮助IT机构在每台服务器上整合更多的应用和更繁重的工作负载,从而进一步提高灵活性、可靠性并降低总体拥有成本TCO(TotalCostofOwnership)。 [1]

核心技术

播报
编辑
IntelVT虚拟化技术包括分别针对处理器、芯片组、网络的IntelVT-x、IntelVT-d和IntelVT-c技术:
1. IntelVT-x技术:增强处理器的VT虚拟化技术,包括IntelVTFlexPriority、IntelVTFlexMigration(Intel虚拟化灵活迁移技术)、ExtendedPageTables(IntelVT扩展页表)。
IntelVT-x可以让一个CPU工作起来像多个CPU在并行运行,从而使得在一台物理服务器内可以同时运行多个操作系统。能够降低(甚至消除)多个虚拟机操作系统之间的资源争夺和限制,从硬件上极大地改善虚拟机的安全性和性能,有助于提高基于软件的虚拟化解决方案的灵活性与稳定性。IntelVT-x技术可以消除VMM(VirtualMachineMonitor虚拟机监视器)参与虚拟机“中断”请求的处理与特定指令的执行,这样VMM操作和控制虚拟机时,将更加快速、可靠和安全。
此外,IntelVT-x具备的虚拟机迁移特性还可为IT投资提供有力保护,并进一步提高故障切换、负载均衡、灾难恢复和维护的灵活性。
IntelVTFlexPriority(灵活优先级):当处理器执行任务时,往往会收到其它设备或应用发出的请求或“中断”命令。为了最大程度减少对性能的影响,处理器内的一个寄存器专用来监控任务优先级,只有优先级高于当前运行任务的请求或“中断”才被及时处理。
IntelVTFlexMigration(灵活迁移):虚拟化能够在无需停机的情况下,将运行中的虚拟机在物理服务器之间进行迁移。借助此项技术,管理程序能够在迁移池内的所有服务器中建立一套一致的指令,实现工作负载的无缝迁移。需注意的是,在不同厂商、不同型号的处理器之间迁移,可能由于指令集不同而出现故障或问题。
ExtendedPageTables(扩展页表):为了降低实现内存虚拟化的难度和提升内存虚拟化的性能,ExtendedPageTables直接在硬件上支持虚拟机内存的逻辑地址->虚拟机内存的物理地址->物理服务器内存的物理地址的两次转换。
IntelVT-x已经扩展到了Intel多个产品系列中,包括Pentium、Celeron、Corei3、Corei5、Corei7、Core2Duo、CoreSolo、Core2Extreme、Core2Quad、Xeon、Quark、Atom、Itanium。
2. IntelVT-d技术:支持直接I/O访问的IntelVT虚拟化技术。
如果每台服务器上部署更多的虚拟机,虚拟机数据进出系统的I/O流量就会增加并且更趋复杂。如果没有硬件支持,VMM必须直接参与每项I/O操作,不仅会减缓数据传输速度,还会由于VMM的频繁活动而增大服务器处理器的负载。这就如同在一个繁忙的停车场,每位车主都不得不通过独一的进出口,并且只由独一的门卫放行。这样不仅会耽误车主的时间,也会使门卫工作紧张无法处理其他事务。英特尔芯片组的IntelVT-d技术可以出色地解决上述问题。
IntelVT-d通过VMM将特定I/O设备安全分配给特定虚拟机来实现,从而减少VMM参与管理I/O流量的工作,不但加速了数据传输,而且消除了大部分的性能开销。每个I/O设备在系统内存中都有一个专用区域,只有该I/O设备及分配到该设备的虚拟机才能对该内存区域进行访问。
VMM完成初始分配之后,数据即可直接在虚拟机与为其分配的I/O设备之间进行传输。这样,就加快了I/O的流动,减少VMM活动及服务器处理器的负载。此外,由于特定设备或虚拟机的I/O数据内存区不能被其它硬件或虚拟机访问,系统的安全性与可用性也得到了增强。
3. IntelVT-c技术:支持网络连接的Intel虚拟化技术,包括虚拟机设备队列(VMDq)、虚拟机直接互连(VMDc)。
随着企业在虚拟化环境中部署越来越多的应用,并利用实时迁移来均衡负载或提升可用性,对虚拟化I/O设备的要求也在显著提高。通过将广泛的硬件辅助特性集成到I/O设备(该设备用于保持服务器与数据中心网络、存储基础设施及其它外部设备的连接)中,IntelVT-c可针对虚拟化进一步优化网络。这套技术组合的功能与邮局非常相似:将收到的信件、包裹分门别类,然后投递到各自的目的地。IntelVT-c在专用网络芯片上执行这些功能,大幅提高了交付速度,减少了VMM与服务器处理器的负载。IntelVT-c包括以下两项关键技术(当前所有的英特尔万兆服务器网卡及千兆服务器网卡均支持)。
虚拟机设备队列(VMDq):最大限度提高I/O吞吐率。在传统服务器虚拟化环境中,VMM必须对每个单独的数据包进行分类,并将其发送到相应的虚拟机。这样会占用大量的处理器周期。而借助VMDq,该分类功能可由英特尔服务器网卡内的专用硬件来执行,VMM只需负责将预分类的数据包组发送到相应的虚拟机。这将降低I/O延迟,使处理器获得更多的可用周期来处理业务应用。IntelVT-c可将I/O吞吐量提高一倍以上,使虚拟化应用达到接近物理服务器的吞吐率。
虚拟机直接互连(VMDc):大幅提升虚拟化性能。VMDc支持虚拟机直接访问网络I/O硬件,从而显著提升虚拟机性能。如:通过单个英特尔万兆服务器网卡,可为10个虚拟机中的每个虚拟机分配一个受保护的、1Gb/s的专用链路。这些通信链路直接绕过了VMM交换机,进一步提升了I/O性能并减少服务器处理器的负载。 [2]