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 passthroughGVT-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