過去幾年,PCI Express(以下簡寫為PCIe)匯流排逐漸成為一種具高效率、成本效益,並適用於網路應用設計的平台。PCIe的發展是為了克服以往並列式電腦匯流排架構在效能、擴充性以及組態等各方面所受的限制,新的這種通用型序列I/O的連結技術,已被廣泛受到企業型、桌上型、行動、通訊及嵌入式等各項應用領域的設計採用。僅管普及度已相當廣泛,業界卻普遍認為:PCIe匯流排的效能還是無法因應高效能儲存與網路設備所需特殊I/O的需求。
但PCIe標準的延伸規格,正努力改變這種想法。 PCI-SIG 工作小組正在研議新的規格,即將PCIe加入I/O虛擬化功能。這項新功能可讓網路管理者能在不同CPU間或CPU群組對週邊元件的資源及端點(endpoints)進行虛擬化或分享。
IO虛擬層級
基本PCIe拓撲有專屬的端點對應至特定的root complexes。在這樣的環境中,網路架構中的每個實體端點都對應連到一個系統映像(System Image),且無法被分享。而以新的規格定義,Root Complex拓撲規格則提供兩個層級的I/O虛擬。第一個層級稱為 Single-Root I/O 虛擬(IOV),由實體端點本身提供虛擬的功能。這個端點可以支援一個或多個虛擬端點(Virtual Endpoints),並利用各種機制讓每個虛擬端點(VE)從不同的系統映像(System Images)與直接記憶體存取(Direct Memory Access)的來源直接進行I/O與記憶體的作業,在不會干預執行過程的情況下,完成與中斷系統映像的作業。第二個層級稱為 Multi-Root (多根) IOV,運用Multi-Root(MR)交換器與MR端點來延伸虛擬化功能。MR交換器與MR端點都有相關機制,讓多個Root Complex與系統映像能分享共同的端點。
《圖一 多根(multi-root)I/O虛擬的系統模式》 |
|
I/O虛擬化的優勢
I/O帶來許多相當具有吸引力的好處。第一,也是最重要的一點,它能用來改善系統的使用效率。每個虛擬系統都需要自己專屬的I/O資源,在許多實體組態中,客戶端或伺服器上I/O插槽的數量,可能不敷每個虛擬系統及需要專屬I/O端點的需求。有了足夠的實體I/O端點,這種拓撲架構便可以讓虛擬系統能分享使用率偏低的端點。
此外,將I/O資源集中管理,不但能增加I/O的擴充性,同時還能簡化網路的管理作業。伺服器能適時控制對資源的存取。而且由於I/O透過集中式交換器管理,網路管理員能更輕易且有效率地配置各項資源。
I/O虛擬化的集中管理模式,讓網路管理員可以對網路I/O的流量平衡及頻寬管理進行最佳化管理。若虛擬系統需要更多的頻寬,網路管理員可配置較多的實體端點容量給該虛擬系統。若虛擬系統比正常使用情形,消耗了更多的I/O資源,管理員也可以將其使用設定降低至預設值。
最後一項好處,I/O虛擬化亦有助於增進網路的可靠度。藉由消弭網路基礎架構中多餘的週邊與連結埠,並減少網路中元件的使用數量,便能大幅降低失敗率。由於網路管理員能根據效能需求,妥善配置I/O資源,故能減少介面卡、線路、以及連結埠的使用數量,因此I/O虛擬化可大幅降低網路成本。
伺服器與儲存產業的大多數廠商將PCIe視為一種橋接或過渡的技術。他們相信未來的系統將採用能提供非常專業化功能的一種新匯流排架構,以支援高效能網路環境對特殊I/O的需求。而PCIe加入I/O虛擬化功能必將改變這種看法。藉由這項新功能的加入,使得多重CPU的系統組態可共享週邊及端點裝置,且隨著PCIe匯流排已大量的被採用、及愈來愈多相關共生系統廠商的支持所帶來的成本效益,PCIe具備著無與倫比的競爭優勢。
------IDT串列交換產品部門產品總監---------