Intel虛擬化顯示技術SR-IOV介紹

2023-09-18


什麼是虛擬化?

虛擬化是多個軟件操作環境(例如操作系統)共享單一平台的概念(一組電腦硬體,如CPU、I/O、Memory等)。

 

 

Intel Graphic虛擬化的發展歷程

GPU的虛擬化發展歷程與公有雲和雲計算應用的普及息息相關。隨著雲計算場景的普及,應用場景從單一依賴CPU的計算單元的應用擴展到多種體系架構,異構計算場景的應用上來後,對GPU,FPGA,TPU等專業計算晶片也提出了虛擬化和上雲的強烈要求。尤其是最近幾年機器學習、深度學習等領域的快速發展,催生了異構計算場景搬遷上雲的高潮。以下為Intel在GPU虛擬化技術的發展歷程:

 

 

2011: GPU虛擬化的提案
2013: 發表基於Sandy Bridge/Haswell 平台的GVT-d的GPU虛擬化方案
2014: 發表基於Xeon Client 平台的GVT-g的GPU虛擬化方案
2018: Intel率先發布了基於物聯網的虛擬化方案(ACRN),並夾帶著GVT-g 的slice虛擬化技術再次出發
2021: 在TGL-U平台上使用GPU SR-IOV技術

 

Intel商用GPU虛擬化方案

1. GPU pass-through 直通模式GVT-d
2. GPU分片虚拟化Mediated passthroughGVT-g
3. GPU SR-IOV

 

何謂SR-IOV?

SR-IOV 全稱 Single Root I/O Virtualization,是Intel在2007年提出的一種基於硬體的虛擬化解決方案。

在虛擬化場景中,CPU 與memory是最先解決的,但是 I/O 設備一直沒有很好的解決辦法,Intel有VT-d(Virtualization Technology for Directed I/O)可以將實體服務器的PCIe 設備直接提供給虛擬機使用,也就是我們常說的“直通”(passthrough),但是直通面臨一個問題是 PCIe 設備只能給一個虛擬機使用,其他虛擬機就只能乾瞪眼,這肯定是不行的,所以有了SR-IOV,一個實體設備可以虛擬出多個虛擬設備給虛擬機使用。

 

 

CXL 基本概念

基本上,CXL規範是由3個獨立的協定組成:CXL.io,CXL.cache,以及CXLmem(即CXL.memory)。
CXL.io: 提供底層傳輸通道與裝置的管理,以PCIe 5.0為基礎,結合一些改進的功能而成。
CXL.cache: 提供周邊設備存取主機CPU記憶體的功能。
CXL.mem: 則提供主機CPU以一致性快取方式,存取周邊裝置記憶體的功能,包括:揮發性與非揮發性的記憶體。整體而言,3種協定可各自獨立運作,也可相互搭配、組合運作。
CXL的底層是建立在PCIe 5.0傳輸通道上,利用CXL.io、CXL.cache與CXL.mem等3項協定,讓主機CPU與周邊裝置可以互相存取彼此的DRAM記憶體,從而實現記憶體互連與共享的目的。

 

 

SR-IOV 是一種規格,允許單一根連接埠下的單一 Peripheral Component Interconnect Express (PCIe) 實體裝置針對 Hypervisor 或客體作業系統顯示為多個單獨的實體裝置。

SR-IOV 會使用實體功能 (PF) 和虛擬功能 (VF) 來管理 SR-IOV 裝置的全域功能。PF 是完整的 PCIe 功能,能夠設定和管理 SR-IOV 功能。可以使用 PF 來設定或控制 PCIe 裝置,並且 PF 具有將資料移入和移出裝置的完整功能。VF 是輕量型 PCIe 功能,支援資料流量但具有一組受限的組態資源。

提供給 Hypervisor 或客體作業系統的虛擬功能數目視裝置而定。在客體作業系統驅動程式或 Hypervisor 執行個體中,已啟用 SR-IOV 的 PCIe 裝置需要適當的 BIOS 和硬體支援以及 SR-IOV 支援。

 

Graphic SR-IOV 基本概念

在 GPU SR-IOV 方案中,把一個物理 GPU 設備(PF)拆分成多個小份虛擬機 GPU(VF),這些 VF 依然是符合 PCI 規範的 PCIe 設備。

 

 

SR-IOV 技術有如下兩種功能。

1. 實體功能(Physical Function,PF)
主機上的實體設備,主機上的GPU驅動程式安裝在 PF 上。 PF 的驅動程式是管理者。它是一個完備的設備驅動程式,與一般 GPU 驅動程式的區別在於它管理了所有 VF 設備的生命和調度週期,比如下圖所示的 07:00.0 就是 S7150 的 PF 設備。

2. 虛擬功能(Virtual Function,VF)
也是一個PCI設備,如圖下中的 07∶02.0 和 07∶02.1。下圖中的一個 PF (S7150)劃分出了4個VF,理論上運行在 1 個 VF 上面的虛擬機 GPU 的圖形渲染性能是PF的1/4。

在GPU SR-IOV方案中,把一個物理 GPU 設備(PF)拆分成多個小份虛擬機 GPU(VF),這些VF依然是符合PCI規範的PCIe 設備。

 

 

Intel Graphic SR-IOV 能力

1. GPU hardware accelerated VMs--- PCIe 接口允許多個虛擬機各自獲得自己的“圖形”設備

2. 支持多達 7 個虛擬化功能 (VF)

3. 支援多樣化的使用著OS---Windows, Linux, Celadon Android, Yocto

4. 顯示虛擬化
    • Zero Copy display virtualization driver
    • 每個VM支援多個顯示螢幕

 

Intel Graphic SR-IOV 優點

1. 改進了客戶OS中的媒體轉碼、3D 渲染和媒體 AI 分析工作負載性能

2. 虛擬化環境中接近主機應用的響應能力和可用性

3. 通過在單個系統中支持最多4個用戶,降低了總擁有成本

4. 支持傳統和現代應用

5. 無與倫比的低延遲顯示虛擬化技術,還為用戶提供多顯示器支持

 

Intel Graphic SR-IOV的平台Roadmap

 

結論

使用Intel SR-IOV GPU解決方案,IT管理人員可以輕鬆配置這些解決方案,允許單個GPU上有多名使用者。當顯示卡配置恰當而滿足組織需求時,無論工作負載如何,使用者都能獲得同樣的GPU。 不用擔心一名使用者佔據整個 GPU,致使其他使用者獲得較慢及無響應系統體驗的情況。 現在,每一個使用者都可以獲得均等的GPU來設計、創作及執工作流程。使用者可以放心,他們的寶貴作品與資料不會被其他人窺探到。 與軟體虛擬化不同的是,硬體虛擬化解決方案使駭客極難在硬體級別攻入因此GFX SR-IOV可滿足他們的虛擬化工作站需求期望。Intel提供產品支援全新軟硬體解決方案, 如果需要更多相關技術資訊和相關的應用領域問題, 可進一步洽詢我們直接取得進一步聯繫協助。

 

資料出處:

https://developer.aliyun.com/article/590909

http://juniorprincewang.github.io/2018/06/18/%E7%A1%AC%E4%BB%B6%E6%94%AF%E6%8C%81%E7%9A%84GPU%E8%99%9A%E6%8B%9F%E5%8C%96%E6%8A%80%E6%9C%AF/

參考文件: Intel Accelerate Virtualization with Intel Graphics SR-IOV

 

*若想了解更多資訊或有任何疑問,歡迎聯繫以下窗口 : CBGIntelFAE@synnex.com.tw