Intel在它的硬件產(chǎn)品上引入了虛擬化技術(shù),從而從硬件上提升運行虛擬化平臺的服務(wù)器的處理器性能。為了深入理解Intel VT(Intel Virtualization Technology)技術(shù),以及它在處理器、芯片和I/O設(shè)備中的不同應(yīng)用,我們需要首先弄清楚在傳統(tǒng)平臺下哪些因素限制了虛擬化性能的發(fā)揮。
虛擬化技術(shù)使得IT專家們可以在一臺物理服務(wù)器上運行多個不同的虛擬機。這就要求一臺物理服務(wù)器可以創(chuàng)建和管理多個虛擬系統(tǒng)。而虛擬化技術(shù)的核心在于VMM(virtual machine monitor虛擬機監(jiān)控),它是成功完成多個虛擬化相關(guān)任務(wù)的關(guān)鍵。VMM同時管理多個不同的操作系統(tǒng)實例,而且掌管這些實例間的切換進程,從而可以保證每個虛擬機都可以訪問到底層的處理器、內(nèi)存和本地磁盤等硬件資源。它通過競爭機制在不同的實例之間分配計算資源,同時要保證不同虛擬機之間的相對獨立性。
而在2005年之前,虛擬化平臺的性能問題主要集中于處理器中缺少對應(yīng)的內(nèi)部指令集,因而無法保證處理器的虛擬化任務(wù)可以高效完成。這些虛擬化任務(wù)的分配是在軟件層面實現(xiàn)的,因此會在虛擬機體驗、資源控制和效率等方面表現(xiàn)得非常差。簡單地講就是:虛擬機無法很好地工作,而服務(wù)器的性能受到影響。而AMD和Intel都在致力于新的處理器升級開發(fā)以滿足新增加的虛擬化方面的需求。這些升級降低(甚至是消除)了子操作系統(tǒng)之間的資源爭奪和限制,從而極大地改善了虛擬機實例的安全性和性能。
Intel VT,最初的研發(fā)代號為“Vanderpool”,最早出現(xiàn)在Intel基于“Nehalem”架構(gòu)的CPU系統(tǒng)的開發(fā)計劃中。而現(xiàn)在的這項技術(shù)已經(jīng)擴展到了Intel多個產(chǎn)品系列中,包括Pentium 4、the Celeron、Core i5、Core i7、Core Solo、 Core 2 Duo、Core 2 Extreme、Core 2 Quad、Xeon以及其它的一些處理器。而很重要的一點是,我們需要了解并不是所有最新發(fā)布的Intel處理器(并非以上系列中的每一個型號),都可以支持VT-x:這被認為是一項針對高端PC機及服務(wù)器的新技術(shù)。關(guān)于可以支持VT-x的Intel處理器列表可以參考Intel網(wǎng)站中相關(guān)內(nèi)容。
Intel開發(fā)了一系列不同的指令集用于提供硬件層的虛擬化技術(shù)。VT-x是公認最好的指令集,向Intel多個型號的處理器中增加了遷移、優(yōu)先級和內(nèi)存管理能力。相比而言,VT-d指令集改善了Intel芯片對虛擬化的支持能力,允許芯片組可以完成向特定虛擬機中分配某些特定的I/O設(shè)備資源。VT-c引入了對某些I/O設(shè)備,如網(wǎng)絡(luò)交換機的虛擬化支持。
內(nèi)存的控制和管理在基于硬件的虛擬化過程中扮演了舉足輕重的作用。Intel VT-x指令集消除了基于軟件的資源分配方式時需要VMM干預(yù)所帶來的影響。而且在Extended Page Tables中加入了內(nèi)存管理功能,而這個功能是不同的虛擬機之間完成處理器資源控制權(quán)轉(zhuǎn)移時所必須的。
Intel VT的FlexPriority功能可以協(xié)助管理處理器之間的沖突。由于來自某些設(shè)備和其它一些應(yīng)用程序的干擾經(jīng)常會影響到處理器的性能,Intel加入了一個任務(wù)優(yōu)先級仲裁寄存器用于判斷任務(wù)的優(yōu)先級高低。只有那些優(yōu)先級高于現(xiàn)有運行任務(wù)的中斷才能獲得立即執(zhí)行。而低優(yōu)先級的任務(wù)則被安放到堆棧中,當(dāng)獲得負載程序許可后才會被執(zhí)行。Intel VT FlexMigration功能允許在虛擬化平臺中,可以快速、方便地在多個支持Intel VT-x指令集的物理服務(wù)器之間遷移虛擬機。其中很關(guān)鍵的一點我們需要注意,這項擴展的遷移功能無法適用于AMD處理器平臺的。在不同處理器廠商平臺之間的遷移,可能會導(dǎo)致嚴(yán)重的性能問題,甚至是系統(tǒng)故障的發(fā)生。
新聞熱點
疑難解答
圖片精選