做者:薛延安html
在以前發佈的ZStack 3.5.0版本中,ZStack新增了對於NVIDIA及AMD vGPU方案的支持,從而在雲中實現支持GPU透傳、vGPU兩種GPU方案的完善GPU雲平臺解決方案,可以幫助用戶在雲中實現工業設計、圖形渲染、教學科研、深度學習等更爲豐富的GPU應用場景。安全
隨着虛擬化與雲計算技術的快速發展,愈來愈多的用戶將應用遷移到雲上。在這個過程當中,用戶但願一些特定的業務場景既可以在雲環境中得到靈活、高效的資源交付能力,又可以獲取與物理機無異的資源計算性能。GPU做爲一種資源設備,近幾年來隨着大數據、人工智能等深度學習相關應用的深刻,這一技術在雲中的應用需求日益加深。微信
本文旨在以通俗易懂的方式讓各位讀者對於雲中的GPU方案有必定的概況性瞭解。架構
在瞭解GPU以前,咱們須要先了解GPU與咱們最熟悉且經常使用的CPU區別:雖然二者都爲了完成計算任務而設計,但各有側重。框架
CPU 由專爲串行順序執行指令而設計的幾個核心組成,主要是面向通用計算場景;運維
8個計算核心,每一個計算核心計算力都相對較強性能
而 GPU 則是擁有一個由數以千計的更小核心組成的大規模並行計算架構。更側重用於面向並行計算場景;學習
1000個計算核心,單個計算核心計算力相對通常,綜合計算力強大大數據
舉一個比較容易理解的例子:雲計算
CPU能夠比做一個數學教授,當解答一道或幾道高難度數學問題時,效率更高;
GPU能夠比做100箇中學生,當解答數百上千低難度數學問題時,效率更高。
所以在實際應用場景中,GPU很是適合用於須要大量簡單、重複、並行、矩陣等計算能力的場景。下面經過如下兩個典型的GPU應用場景來進行需求說明。
某市交管部門構建城市大數據智能交通調度系統以緩解繞城高速交通擁堵狀況,建設規劃將系統構建在雲環境中,以解決部署在物理機環境中所存在的安裝週期長、運維效率低下等問題,所以,如何將物理GPU設備交付給部署在雲環境中人工智能應用以使用是項目的關鍵技術需求。
某製造型企業指望爲工業設計人員部署雲桌面以保護企業數據安全,還要簡化桌面運維管理。但這須要依賴GPU的圖形計算力以實如今雲環境中運行工業設計軟件這一需求。
在以上場景中,分別經過GPU透傳及vGPU技術在雲中交付GPU資源是知足用戶需求的主要技術手段。
下面咱們來進一步介紹以上兩種雲中GPU實現方案。
GPU透傳主要技術原理是經過將宿主機(物理機)上GPU設備的PCI內存地址映射給雲主機,從而可以繞過雲環境中的虛擬化管理程序,將GPU設備直接加載給雲主機進行使用。
透傳後對比在物理機上使用GPU設備的優缺點以下:
在vGPU實現方案上,因爲目前市場上GPU廠商分爲NVIDIA、AMD,所以在對接不一樣品牌GPU設備時所採用的vGPU技術方案也不同。
首先咱們來看一下AMD vGPU的方案,其設計遵循了SRIOV規範,這個規範定義了以標準化的方式支持實現多個雲主機共享一個PCI設備:可理解爲一個PCI設備在物理層面上被切分爲多個,而且每一個都是符合PCI標準的PCI設備。而因爲這個能力,切分後的每一個單元均可以再經過PCI透傳的方式分別提供給多個雲主機使用。GPU做爲一種典型PCI設備,天然也支持以上技術的實現,AMD vGPU方案就是如此。
在瞭解完原理以後,咱們來看一下這種GPU虛擬化方案的優缺點:
區別於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模擬,因此有所取捨。
視頻演示以下
https://v.qq.com/x/page/n0904rzzd2i.html?pcsharecode=FGPCS08Y&sf=uri
歡迎關注ZStack中國社區QQ羣、ZStack官方微信!