方案上新 | ZStack GPU解決方案

薛延安

在之前發佈的ZStack 3.5.0版本中,ZStack新增了對於NVIDIA及AMD vGPU方案的支持,從而在雲中實現支持GPU透傳、vGPU兩種GPU方案的完善GPU雲平臺解決方案,能夠幫助用戶在雲中實現工業設計、圖形渲染、教學科研、深度學習等更爲豐富的GPU應用場景。

前言

隨着虛擬化與雲計算技術的快速發展,越來越多的用戶將應用遷移到雲上。在這個過程中,用戶希望一些特定的業務場景既能夠在雲環境中獲得靈活、高效的資源交付能力,又能夠獲取與物理機無異的資源計算性能。GPU作爲一種資源設備,近幾年來隨着大數據、人工智能等深度學習相關應用的深入,這一技術在雲中的應用需求日益加深。

本文旨在以通俗易懂的方式讓各位讀者對於雲中的GPU方案有一定的概況性瞭解。

一、瞭解GPU

在瞭解GPU之前,我們需要先了解GPU與我們最熟悉且常用的CPU區別:雖然兩者都爲了完成計算任務而設計,但各有側重。

CPU 由專爲串行順序執行指令而設計的幾個核心組成,主要是面向通用計算場景;
如:8個計算核心,每個計算核心計算力都相對較強
如:8個計算核心,每個計算核心計算力都相對較強

而 GPU 則是擁有一個由數以千計的更小核心組成的大規模並行計算架構。更側重用於面向並行計算場景;

如:1000個計算核心,單個計算核心計算力相對一般,綜合計算力強大
如:1000個計算核心,單個計算核心計算力相對一般,綜合計算力強大

舉一個比較容易理解的例子:

CPU可以比作一個數學教授,當解答一道或幾道高難度數學問題時,效率更高;

GPU可以比作100箇中學生,當解答數百上千低難度數學問題時,效率更高。

因此在實際應用場景中,GPU非常適合用於需要大量簡單、重複、並行、矩陣等計算能力的場景。下面通過以下兩個典型的GPU應用場景來進行需求說明。

二、GPU應用場景

  1. 重GPU計算力需求場景

某市交管部門構建城市大數據智能交通調度系統以緩解繞城高速交通擁堵情況,建設規劃將系統構建在雲環境中,以解決部署在物理機環境中所存在的安裝週期長、運維效率低下等問題,因此,如何將物理GPU設備交付給部署在雲環境中人工智能應用以使用是項目的關鍵技術需求。

  1. 輕GPU計算力需求場景

某製造型企業期望爲工業設計人員部署雲桌面以保護企業數據安全,還要簡化桌面運維管理。但這需要依賴GPU的圖形計算力以實現在雲環境中運行工業設計軟件這一需求。

在以上場景中,分別通過GPU透傳及vGPU技術在雲中交付GPU資源是滿足用戶需求的主要技術手段。

下面我們來進一步介紹以上兩種雲中GPU實現方案。

三.GPU雲化方案

  1. GPU透傳

在這裏插入圖片描述

GPU透傳主要技術原理是通過將宿主機(物理機)上GPU設備的PCI內存地址映射給雲主機,從而能夠繞過雲環境中的虛擬化管理程序,將GPU設備直接加載給雲主機進行使用。

透傳後對比在物理機上使用GPU設備的優缺點如下:

優點:性能損耗<5%、功能兼容性好(如2D/3D/圖形渲染/CUDA等功能)、技術實現簡單(對GPU廠商無依賴)、運維成本低;

缺點:無法將GPU設備與其他雲主機共享、已掛載GPU的雲主機不支持熱遷移;

場景:深度學習、人工智能、高性能計算等;

  1. vGPU(GPU虛擬化)

在vGPU實現方案上,由於目前市場上GPU廠商分爲NVIDIA、AMD,因此在對接不同品牌GPU設備時所採用的vGPU技術方案也不一樣。

  1. AMD vGPU方案

在這裏插入圖片描述

首先我們來看一下AMD vGPU的方案,其設計遵循了SRIOV規範,這個規範定義了以標準化的方式支持實現多個雲主機共享一個PCI設備:可理解爲一個PCI設備在物理層面上被切分爲多個,並且每個都是符合PCI標準的PCI設備。而由於這個能力,切分後的每個單元都可以再通過PCI透傳的方式分別提供給多個雲主機使用。GPU作爲一種典型PCI設備,自然也支持以上技術的實現,AMD vGPU方案就是如此。

在瞭解完原理之後,我們來看一下這種GPU虛擬化方案的優缺點:

優點:與GPU透傳方案相比,性能損耗極小;功能兼容性好(如2D/3D/圖形渲染/OpenCL等功能)、支持加載vGPU設備的雲主機熱遷移(技術上支持,雲廠商各自實現情況不同);

缺點:硬件設計相對複雜同時硬件更新週期長、雲平臺無法有效獲取設備監控信息;

場景:在虛擬桌面中運行工業設計、圖形渲染,或人工智能教學科研環境中;

  1. NIVDIA vGPU方案
    在這裏插入圖片描述

區別於AMD vGPU所使用SR-IOV方案,Mediated Passthrough(分片透傳)是NIVDIA vGPU方案所使用的關鍵技術。Mediated Passthrough是一種完全軟件定義的GPU虛擬化解決方案,其技術原理主要爲:對於與GPU性能相關的訪問直接透傳給雲主機,把與性能無關功能的相關訪問在Mdev模塊中來模擬實現。Mdev是此方案的關鍵技術,簡單解釋一下,Mdev即mediated 設備框架,能夠驅動VFIO框架及接口支持虛擬PCI設備,因此也就能夠完全基於軟件實現,將宿主機上的物理GPU切分成爲多個虛擬GPU設備並進行共享。

同樣,我們也來看一下此方案的優缺點:

優點:與GPU透傳方案相比性能損耗極小;軟件定義更靈活(如更新迭代速度更快不受限於硬件);雲平臺可以獲取到vGPU設備監控信息;支持加載vGPU設備的雲主機熱遷移(技術上支持,雲廠商各自實現情況不同);

缺點:依賴於GPU硬件廠商開發Mdev驅動;功能上由於是Mdev模擬,所以有所取捨。

四. 總結

  1. 區別於CPU面向通用計算場景,GPU側重於簡單、重複性、並行、矩陣等計算場景,如圖形渲染、視頻編解碼、並行計算場景;

  2. 在雲中使用GPU設備主要有兩種技術實現方案,GPU透傳與vGPU(GPU虛擬化);

  3. GPU透傳方案將GPU設備透傳給雲主機使用,雲主機獨佔該GPU資源,性能好、功能兼容強,適合深度學習、人工智能、高性能計算等重負載場景;

  4. vGPU是一種GPU虛擬化方案,GPU資源能夠被切分後分配給多個雲主機共享使用。vGPU方案中NIVDIA/AMD技術實現方式有所不同,NIVDIA是軟件虛擬化方案、AMD是硬件虛擬化方案,兩種方案性能相當;vGPU典型場景適合應用於虛擬桌面中運行工業設計、圖形渲染或人工智能教學科研等輕負載場景;

  5. ZStack 3.5.0版本開始對以上GPU方案均支持;

視頻演示鏈接如下:
https://v.qq.com/x/page/n0904rzzd2i.html?pcsharecode=FGPCS08Y&sf=uri

在這裏插入圖片描述
歡迎關注ZStack中國社區QQ羣、ZStack官方微信!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章