眼下,雲計算和虛擬化是業界十分熱門的話題。但虛擬化並不是個新鮮事物,早在大型機時代,就已經將虛擬化技術應用在服務器和大型主機上面了。這樣算起來,虛擬化技術的出現和應用已經有數十年的歷史了。隨著IT技術的不斷進步,PC性能的不斷增長,虛擬化技術的應用也逐漸蔓延至x86架構領域,虛擬化深度也從純軟件深入到處理器級虛擬化、平台級虛擬化以及輸入/輸出級虛擬化。作為半導體行業的龍頭,英特爾在以上這幾方面都推出了自己的技術,總稱為Intel Virtualization Technology,即英特爾虛擬化技術(也就是英特爾VT技術)。
VT技術涵蓋了英特爾提供的跨整個系統平台(CPU、芯片組、I/O)的所有虛擬化硬件輔助技術。具體來說,包括針對處理器的英特爾VT-x技術、針對芯片組的英特爾VT-d技術以及針對網絡的英特爾VT-c技術。
VT-x
VT-x技術提供所有英特爾至強處理器中的虛擬化硬件輔助功能,能夠減少VMM干預,為VMM與客戶操作系統之間的傳輸平台控制提供了有力的硬件支持。VT-x技術包括英特爾虛擬化靈活遷移技術(Intel VT FlexMigration)、英特爾VT FlexPriority、英特爾VT擴展頁表(Extended Page Tables)等。
- 當處理器執行任務時,往往會收到需要注意的其它設備或應用發出的請求或“中斷”命令。為了最大程度減少對性能的影響,處理器內的一個專用寄存器(APIC任務優先級寄存器,或 TPR)將對任務優先級進行監控。如此一來,只有優先級高於當前運行任務的中斷才會被及時關注。英特爾VT FlexPriority技術通過創建TPR6的一個可讀取並在某些情況下還可由客戶操作系統進行更改的虛擬副本,使頻繁使用TPR的32位操作系統獲得顯著的性能提升。
- 英特爾虛擬化靈活遷移技術(Intel VT FlexMigration)能夠提供跨服務器資源池動態分區遷移的兼容性,應用程序在遷移池內的所有服務器中建立一套一致的指令,實現工作負載的無縫遷移。這便生成了可在多代硬件中無縫運行的更加靈活、統一的服務器資源池。
VT-d
VT-d技術提供所有英特爾芯片組中的虛擬化硬件輔助功能。每個設備在系統內存中都有一個專用區域,只有該設備及其分配的客戶操作系統才能對該區域進行訪問。虛擬機監視器(VMM)將特定I/O設備安全分配給特定客戶操作系統,數據即可直接在客戶操作系統與為其分配的設備之間進行傳輸。從而減少虛擬機監視器(VMM)參與管理I/O流量的需求,加速數據傳輸,減少大部分的性能開銷。
VT-c
VT-c技術提供所有英特爾網絡和I/O設備中的虛擬化硬件輔助功能,對虛擬化進行進一步的網絡優化,起到提高交付速度、減少了VMM與服務器處理器的負載的作用。英特爾VT-c包括以下兩項關鍵技術:
--虛擬機設備隊列(VMDq):可以將VMM對每個數據包的分類工作由英特爾服務器網卡內的專用硬件來執行,VMM只需負責將預分類的數據包組發送到適當的客戶操作系統。這將減緩I/O延遲,減少I/O瓶頸,使處理器獲得更多的可用周期來處理業務應用。
--虛擬機直接互連(VMDc):通過支持每個I/O端口的多條直接通信信道,SR-IOV可對此進行擴展。虛擬機直接互連(VMDc)支持虛擬機直接訪問網絡I/O硬件,從而顯著提升虛擬性能。例如,通過單個英特爾萬兆位服務器網卡,可為10個客戶操作系統中的每個操作系統分配一個受保護的、1Gb/秒的專用鏈路。這些直接通信鏈路繞過了VMM交換機,可進一步提升I/O性能並減少服務器處理器的負載。