過(guò)去幾年,PCIExpress(以下簡(jiǎn)稱 PCIe)總線逐漸成為一種適用于網(wǎng)絡(luò)應(yīng)用、具有高效率和成本效益的平臺(tái)。PCIe 的發(fā)展是為了克服過(guò)去并行計(jì)算機(jī)總線架構(gòu)在性能、可擴(kuò)展性以及配置等方面的限制,這種通用的串行 I/O 互連技術(shù)已被企業(yè)型、桌上型、移動(dòng)、通信及嵌入式等各種應(yīng)用廣泛采用。盡管普及度已相當(dāng)廣泛,業(yè)界卻普遍認(rèn)為:PCIe 總線的功能還是無(wú)法滿足高性能存儲(chǔ)和網(wǎng)絡(luò)獨(dú)特的 I/O 需求。
PCIe 標(biāo)準(zhǔn)的擴(kuò)展正在逐漸改變這種觀念。PCI-SIG工作小組正在討論一種新的規(guī)范,即為 PCIe 添加 I/O 虛擬化功能。這項(xiàng)新功能使網(wǎng)絡(luò)管理員可在不同 CPU 或 CPU 群組間虛擬并共享外設(shè)和端點(diǎn)。
I/O虛擬級(jí)別
初級(jí) PCIe 拓?fù)浣Y(jié)構(gòu)具有映射到特定根聯(lián)合體(Root Complex)的專屬端點(diǎn)。在這樣的環(huán)境中,網(wǎng)絡(luò)中的每個(gè)物理端點(diǎn)都對(duì)應(yīng)連到一個(gè)系統(tǒng)映像(System Image),且無(wú)法共享。而在新規(guī)范中,根聯(lián)合體拓?fù)浣Y(jié)構(gòu)則提供兩個(gè)級(jí)別的I/O虛擬。在第一個(gè)級(jí)別中,被稱為單根(Single-Root)I/O 虛擬(IOV),它由物理端點(diǎn)本身提供虛擬功能。這個(gè)端點(diǎn)可支持一個(gè)或多個(gè)虛擬端點(diǎn)(VE: Virtual Endpoints),并利用各種機(jī)制使各種系統(tǒng)映像和資源 DMA中每個(gè)虛擬端點(diǎn)直接進(jìn)行 I/O 與內(nèi)存操作,完成和中斷系統(tǒng)映像的操作,而不會(huì)影響運(yùn)行時(shí)間。在第二個(gè)級(jí)別中,被稱為多根(Multi-Root)IOV,采用多根(MR)交換器與 MR 端點(diǎn)來(lái)擴(kuò)展虛擬化功能。MR 交換器與 MR 端點(diǎn)都有讓多個(gè)根聯(lián)合體與系統(tǒng)映像能分享共同端點(diǎn)的機(jī)制(見(jiàn)圖1)。
圖1 I/O虛擬化系統(tǒng)模型
I/O 虛擬化的優(yōu)勢(shì)
I/O虛擬化有許多具有吸引力的優(yōu)點(diǎn)。首先,也是最重要的,它能用于改善系統(tǒng)的利用率。每個(gè)虛擬系統(tǒng)都需要自己專屬的 I/O 資源,在許多物理配置中,客戶端或服務(wù)器上 I/O插槽的數(shù)量可能不能滿足每個(gè)虛擬系統(tǒng)所需的專屬 I/O端點(diǎn)需求。有了足夠的物理 I/O 端點(diǎn),這種拓?fù)浣Y(jié)構(gòu)便可以讓虛擬系統(tǒng)分享利用率偏低的端點(diǎn)。
此外,集中管理的 I/O 資源的使用,不但能改善 I/O 的可擴(kuò)展性,同時(shí)還能簡(jiǎn)化網(wǎng)絡(luò)的管理。服務(wù)器能適時(shí)控制對(duì)資源的訪問(wèn)。通過(guò)集中式交換器管理 I/O,網(wǎng)絡(luò)管理員還能更容易且有效率地分配各項(xiàng)資源。
I/O 虛擬化的集中管理模式使網(wǎng)絡(luò)管理員可優(yōu)化管理網(wǎng)絡(luò) I/O 的流量平衡以及帶寬。如果虛擬系統(tǒng)需要更多的帶寬,網(wǎng)絡(luò)管理員可分配更多的物理端點(diǎn)容量給該虛擬系統(tǒng)。如果虛擬系統(tǒng)消耗了比正常使用情形更多的 I/O 資源,管理員也可以將其使用消耗設(shè)定降低至默認(rèn)值。
最后,I/O 虛擬化也有助于提高網(wǎng)絡(luò)的可靠性。通過(guò)消除網(wǎng)絡(luò)基礎(chǔ)架構(gòu)中多余的外設(shè)與端口,減少網(wǎng)絡(luò)中組件的使用數(shù)量,便能降低失效率。由于網(wǎng)絡(luò)管理員能根據(jù)性能需求更好地配置 I/O 資源,從而減少適配卡、電纜和端口的使用數(shù)量,因此 I/O 虛擬化可顯著降低網(wǎng)絡(luò)成本。
服務(wù)器和存儲(chǔ)行業(yè)的大多數(shù)廠商將 PCIe視為一種橋接或過(guò)渡技術(shù)。他們相信未來(lái)的系統(tǒng)將采用一種能提供非常專業(yè)化功能的新總線架構(gòu),以支持高性能網(wǎng)絡(luò)環(huán)境對(duì)特殊 I/O 的需求。而 PCIe 加入 I/O 虛擬化功能將改變這種看法。加入這項(xiàng)新功能使多 CPU 的系統(tǒng)配置可共享外設(shè)及端點(diǎn),并且隨著總線的大量使用以及對(duì)生態(tài)系統(tǒng)廠商的支持,PCIe 將提供無(wú)與倫比的競(jìng)爭(zhēng)優(yōu)勢(shì)。