爲了解決這些挑戰,出現了兩個解決方案:VMDq和SR-IOV。 安全
Intel開發了VMDq技術來將數據分類功能從hypervisor轉移到網卡中。這提升了I/O性能以交付近線速的吞吐量和更低的CPU佔用率。 服務器
除此以外,行業標準組織PCI-SIG制定了PCI-SIG Single Root I/O Virtualization (SR-IOV)規範以進一步增強虛擬化機系統的I/O性能。在PCI-SIG工做組中,Intel積極地與其餘行業領導者共同合做。 網絡
SR-IOV是一種不須要軟件模擬就能夠共享I/O設備I/O端口的物理功能的方法。這個過程創造了一系列I/O設備物理端口的虛擬功能。每一個虛擬功能都被直接分配到一個虛擬機,所以實現了接近本機的性能。 架構
總的來講,SR-IOV實現了將PCI功能分配到多個虛擬接口以在虛擬化環境中共享一個PCI設備的資源。SR-IOV可以讓網絡傳輸繞過軟件模擬層,直接分配到虛擬機。這樣就下降了軟加模擬層中的I/O開銷。 性能
PCI-SIG SR-IOV的優點 spa
PCI-SIG SR-IOV提供了一個設備宣傳其在多個虛擬機之間同時共享的能力的標準機制。SR-IOV規範容許一個獨立硬件廠商(Independent Hardware Vendor,IHV)修改其PCI卡來定義成對於一個VMM(hypervisor)同一個類型的多個設備。SR-IOV的好處是建立了一個精簡的界面來容許IHV有效地執行可以直接分配到虛擬機的界面。 操作系統
SR-IOV概覽 設計
SR-IOV規範的目標是在繞過虛擬機參與數據遷移過程當中實施標準化,爲每一個虛擬機提供獨立內存空間、中斷和Direct Memory Access (DMA)流。SR-IOV架構的設計容許一個I/O設備支持多個虛擬功能,同時將每一個功能的硬件成本降至最低。SRIOV引入了兩個新的功能類型: 接口
虛擬化直接分配的方法容許虛擬機直接鏈接到一個I/O設備。所以,直接設備分配特性提供了一種本地體驗和很是快速的I/0(所以它從新利用現有驅動程序或者其餘軟件來與設備進行直接通訊)。然而,這限制了I/O設備的共享。SR-IOV提供了一項功能以多個獨立物理設備呈現的機制。 內存
支持SR-IOV的設備能夠配置成以多個虛擬功能形式呈如今PCI配置空間中,每一個都有它們本身的PCI配置空間。而後VMM能夠經過模擬配置空間來分配一個或者多個虛擬功能給虛擬機。
每一個虛擬功能能夠支持針對PCIe層中I/O相關功能的一個特有且單獨的數據路徑。在網絡設備中使用SR-IOV可以使一個端口(功能)的帶寬分紅更小的塊,而後經過一個標準接口分配到特定虛擬機或者客戶端中。爲了進一步增強PCIe層中不一樣設備的可操做性,還建立了一個配置和管理的通用方法體系。這種資源的共享提升了在一個支持SR-IOV的PCIe設備上任何特定資源的總利用率,從而下降了虛擬系統的成本。
英特爾的PCI-SIG SR-IOV功能實施要求VMM軟件利用Intel Virtualization Technology for Directed I/O (Intel VT-d)直接將虛擬功能分配到虛擬機中。Intel VT-d中的內存轉譯技術提供了硬件輔助功能,容許直接的DMA傳輸。Intel VT-d可確保傳輸的安全,SRIOV爲虛擬機提供了獨立的數據空間。
支持PCI-SIG SR-IOV的Intel Server Adapters兼容任何廠商的具有直接從網卡向虛擬機分配虛擬功能的平臺解決方案。
總結
總的來講,PCI-SIG SR-IOV在虛擬化平臺上的關鍵優勢包括:
Intel最新的和即將推出的PCIe千兆以太網適配器將支持PCI-SIG SR-IOV功能。不一樣VMM廠商還將把這項支持集成到操做系統中,以發揮這項技術的優點。