五分鐘技術趣談 | GPU虛擬化在云桌面上的應用
Labs 導讀
5G的應用領域越來越清晰,GPU的應用也日趨廣泛,中國移動充分展現了在5G+AI融合創新應用上的探索與貢獻。未來,基于領先的GPU虛擬化與一如既往的云實力,中國移動將持續推動行業融合創新,加速5G+AI規模化拓展。
作者:潘瑋琛,單位:中國移動智慧家庭運營中心
咳咳,新課堂開講啦!
來看看這次講啥?
云桌面?
玩耍大型3D、播高清視頻卡成翔的那種?
GPU虛擬化?
頂配物理顯卡一步到位不香嗎?
不要著急,存在即合理~
咱們花5分鐘來了解下吧
說不定在這之后你也會欲欲躍試呢
Part 01并行計算天才——GPU
GPU(Graphic Processing Unit)即計算機圖形處理器,具有數千個計算核心,可以并行、高效地處理工作負載,是硬件顯卡的“心臟”。GPU與CPU的區別是CPU 由專為順序串行處理而優化的幾個核心組成,而 GPU 則擁有一個由數以千計的更小、更高效的核心(專為同時處理多重任務而設計)組成的大規模并行計算架構,其相較于CPU的最大優勢是更加適用于大量重復數據集運算和頻繁內存訪問等特點的應用場景,例如3D應用程序、視頻和圖像渲染這些大規模并行任務。
Part 02 GPU虛擬化
目前主流的商用GPU虛擬化方案主要有:GPU直通模式、GPU分片虛擬化、GPU SRIOV模式等。
(1)GPU直通模式:直通模式也稱為穿透模式,即繞過虛擬機管理系統將物理顯卡單獨分配給某一虛擬機,保存了GPU的完整性和獨立性,失去了設備復用的功能,具有性能損耗小、功能兼容性好的特性。例如Xenserver的直通模式就是利用英特爾設備虛擬化技術(Intel VT-d)技術將顯示設備暴露給某個客戶虛擬機。
(2)GPU分片虛擬化:GPU的分片虛擬化包含兩個維度的含義:1. 對GPU的計算資源即算力進行時間片段的劃分,由多個虛擬vGPU共享,調度時間片一般在1ms-10ms左右;2. 對GPU顯存進行劃分,以NVIDIA為例,一個16GB顯存物理GPU,如果分配為8個vGPU, 則每個虛擬GPU獨享2G顯存。
總的來說顯卡虛擬化就是將顯卡進行時間切片和顯存分塊,并將這些顯卡時間片和顯存分片分配給虛擬機使用的過程。由于支持顯卡虛擬化的顯卡一般可以根據需要切分成不同的規格的時間片,因此可以分配給多臺虛擬機使用。其實現原理其實就是在應用層進行攔截與GPU相關的應用程序編程接口(API),通過重定向(仍然使用GPU)的方式完成相應功能,再將執行結果返回應用程序。
以NVIDIA顯卡虛擬化和Xenserver為例,服務端虛擬化驅動軟件可以轉換服務器上安裝的物理GPU,以創建可在多個虛擬機中共享的虛擬GPU,各個虛擬機或者應用可通過客戶端驅動在用戶層提供針對CUDA API的庫以及一個維護CUDA相關軟硬件狀態的虛擬GPU(vGPU),GPU與用戶之間的關系不再是一對一,而是一對多。
Part 03 GPU虛擬化之于云桌面
云桌面即虛擬化桌面,目前其最大的缺陷在于糟糕的用戶體驗,因為在圖像處理密集型的應用場景中要求虛擬化桌面存在較高的圖形圖像處理能力和圖形圖像遠程輸出能力,而GPU虛擬化為這兩個核心能力提供了強力支撐。
(1)圖形圖像處理能力:為了滿足各類用戶的多樣化需求,云桌面需要支持圖形圖像處理、工業設計及游戲等專業領域的應用場景,且云服務中心需要支持對顯卡資源的動態調度管理,GPU虛擬化技術則能夠根據需要為云桌面虛擬機提供匹配的顯卡計算資源,加快虛擬機的圖形圖像處理能力,加強圖像渲染能力,讓大型單機游戲不再掉幀!
(2)圖形圖像遠程輸出能力:云桌面方案的另一重要環節則是遠端虛擬機畫面輸出到終端屏幕的過程,畫面質量和流暢度直接影響到前端桌面的交互體驗。目前各類遠程桌面傳輸協議都會涉及到音視頻編解碼及推流技術,由于網絡帶寬和時延的限制,遠程桌面傳輸首先需要在本地進行音視頻源的壓縮、編碼,而音視頻編碼也需要強大的計算能力。例如視頻編解碼中應用的H264編碼技術,為現今視頻編解碼中應用最為廣泛,最為高效省時、省流量的編碼技術,實現此編碼過程所需要的運算、編碼、壓縮等流程十分復雜,需要對視頻流進行快速、實時編解碼,此時虛擬GPU資源就可以提供充足的計算能力。
【本文為51CTO專欄作者“移動Labs”原創稿件,轉載請聯系原作者】