從VT-x到VT-d Intel虛擬化技術(shù)發(fā)展藍(lán)圖 |
更新時(shí)間:2007-12-26 9:53:26
。
編輯:映君
)
|
內(nèi)容導(dǎo)航:
從VT-x到VT-d Intel虛擬化技術(shù)發(fā)展藍(lán)圖
I/O虛擬化的關(guān)鍵在于解決I/O設(shè)備與虛擬機(jī)數(shù)據(jù)交換的問題,而這部分主要相關(guān)的是DMA直接內(nèi)存存取,以及IRQ中斷請求,只要解決好這兩個(gè)方面的隔離、保護(hù)以及性能問題,就是成功的I/O虛擬化。
和處理器上的Intel VT-i和VT-x一樣,Intel VT-d技術(shù)是一種基于North Bridge北橋芯片(或者按照較新的說法:MCH)的硬件輔助虛擬化技術(shù),通過在北橋中內(nèi)置提供DMA虛擬化和IRQ虛擬化硬件,實(shí)現(xiàn)了新型的I/O虛擬化方式,Intel VT-d能夠在虛擬環(huán)境中大大地提升 I/O 的可靠性、靈活性與性能。
傳統(tǒng)的IOMMUs(I/O memory management units,I/O內(nèi)存管理單元)提供了一種集中的方式管理所有的DMA——除了傳統(tǒng)的內(nèi)部DMA,還包括如AGP GART、TPT、RDMA over TCP/IP等這些特別的DMA,它通過在內(nèi)存地址范圍來區(qū)別設(shè)備,因此容易實(shí)現(xiàn),卻不容易實(shí)現(xiàn)DMA隔離,因此VT-d通過更新設(shè)計(jì)的IOMMU架構(gòu),實(shí)現(xiàn)了多個(gè)DMA保護(hù)區(qū)域的存在,最終實(shí)現(xiàn)了DMA虛擬化。這個(gè)技術(shù)也叫做DMA Remapping。
I/O設(shè)備會產(chǎn)生非常多的中斷請求,I/O虛擬化必須正確地分離這些請求,并路由到不同的虛擬機(jī)上。傳統(tǒng)設(shè)備的中斷請求可以具有兩種方式:一種將通過I/O中斷控制器路由,一種是通過DMA寫請求直接發(fā)送出去的MSI(message signaled interrupts,消息中斷),由于需要在DMA請求內(nèi)嵌入目標(biāo)內(nèi)存地址,因此這個(gè)架構(gòu)須要完全訪問所有的內(nèi)存地址,并不能實(shí)現(xiàn)中斷隔離。
VT-d實(shí)現(xiàn)的中斷重映射(interrupt-remapping)架構(gòu)通過重新定義MSI的格式來解決這個(gè)問題,新的MSI仍然是一個(gè)DMA寫請求的形式,不過并不嵌入目標(biāo)內(nèi)存地址,取而代之的是一個(gè)消息ID,通過維護(hù)一個(gè)表結(jié)構(gòu),硬件可以通過不同的消息ID辨認(rèn)不同的虛擬機(jī)區(qū)域。VT-d實(shí)現(xiàn)的中斷重映射可以支持所有的I/O源,包括IOAPICs,以及所有的中斷類型,如通常的MSI以及擴(kuò)展的MSI-X。
VT-d進(jìn)行的改動(dòng)還有很多,如硬件緩沖、地址翻譯等,通過這些種種措施,VT-d實(shí)現(xiàn)了北橋芯片級別的I/O設(shè)備虛擬化。VT-d最終體現(xiàn)到虛擬化模型上的就是新增加了兩種設(shè)備虛擬化方式:
左邊是傳統(tǒng)的I/O模擬虛擬化,右邊是直接I/O設(shè)備分配
直接I/O設(shè)備分配:虛擬機(jī)直接分配物理I/O設(shè)備給虛擬機(jī),這個(gè)模型下,虛擬機(jī)內(nèi)部的驅(qū)動(dòng)程序直接和硬件設(shè)備直接通信,只需要經(jīng)過少量,或者不經(jīng)過VMM的管理。為了系統(tǒng)的健壯性,需要硬件的虛擬化支持,以隔離和保護(hù)硬件資源只給指定的虛擬機(jī)使用,硬件同時(shí)還需要具備多個(gè)I/O容器分區(qū)來同時(shí)為多個(gè)虛擬機(jī)服務(wù),這個(gè)模型幾乎完全消除了在VMM中運(yùn)行驅(qū)動(dòng)程序的需求。例如CPU,雖然CPU不算是通常意義的I/O設(shè)備——不過它確實(shí)就是通過這種方式分配給虛擬機(jī),當(dāng)然CPU的資源還處在VMM的管理之下。
I/O設(shè)備共享:這個(gè)模型是I/O分配模型的一個(gè)擴(kuò)展,對硬件具有很高的要求,需要設(shè)備支持多個(gè)功能接口,每個(gè)接口可以單獨(dú)分配給一個(gè)虛擬機(jī),這個(gè)模型無疑可以提供非常高的虛擬化性能表現(xiàn)。
運(yùn)用VT-d技術(shù),虛擬機(jī)得以使用直接I/O設(shè)備分配方式或者I/O設(shè)備共享方式來代替?zhèn)鹘y(tǒng)的設(shè)備模擬/額外設(shè)備接口方式,從而大大提升了虛擬化的I/O性能。
更多相關(guān):
投影機(jī)
|
文章來源:中國投影網(wǎng)
|
|
|
|