阿里云容器化GPU共享服務已開放!性能無損失,對你的環(huán)境無侵入

來源: 量子位
作者:量子位
時間:2020-09-11
18629
隨著GPU算力越來越強,其成本也越來越高昂。但有時,執(zhí)行一個深度學習任務,并不需要占用一整張GPU。就相當于,你不僅多花了錢,還浪費了資源。阿里云最近提出的這項技術,幫助你解決了這一困惑。cGPU容器共享技術。

隨著GPU算力越來越強,其成本也越來越高昂。

但有時,執(zhí)行一個深度學習任務,并不需要占用一整張GPU。

就相當于,你不僅多花了錢,還浪費了資源。

阿里云最近提出的這項技術,幫助你解決了這一困惑。

cGPU容器共享技術。

讓用戶通過容器來調(diào)度底層GPU資源,以更細顆粒度調(diào)度使用GPU,提高GPU資源利用率,從而來實現(xiàn)降本增效。

ia_2600000002.jpg

以往的研究中,業(yè)內(nèi)也有一些GPU共享方案,比如NVIDIA MPS、NVIDIA vGPU、rCUDA等。

但也存在了一些問題。

比如,在容器調(diào)度GPU的時候,不同線程中的容器應用可能出現(xiàn)顯存資源爭搶和互相影響的現(xiàn)象,未能做到容器的完全隔離。

舉個例子,當一個企業(yè)在兩個容器中分別運行著GPU的推理應用,一個已經(jīng)穩(wěn)定了,一個還在開發(fā)階段。

如果其中一個容器中的應用出現(xiàn)故障,由于沒有實現(xiàn)很好的隔離技術,往往導致另一容器中的應用也會出現(xiàn)故障。

那么阿里云的這項技術,就可以實現(xiàn)容器的「安全隔離」,業(yè)務之間不會相互干擾。

那么,這個作為業(yè)內(nèi)首創(chuàng)的「基于內(nèi)核虛擬GPU隔離」的GPU共享容器方案,具體是如何實現(xiàn)的?

通過一個內(nèi)核驅動,為容器提供了虛擬的GPU設備,從而實現(xiàn)了顯存和算力的隔離;

通過用戶態(tài)輕量的運行庫,來對容器內(nèi)的虛擬GPU設備進行配置。

此外,還做到了無需替換CUDA靜態(tài)庫或動態(tài)庫;無需重新編譯CUDA應用;CUDA,cuDNN等版本隨時升級無需適配等特性。

如何使用?

目前,阿里云容器服務已經(jīng)支持cGPU容器組件。

登錄容器服務Kubernetes版控制臺,簡單的點擊幾下,為容器節(jié)點打標,就可以利用cGPU容器隔離,最大化的利用GPU的硬件能力了。

同時,還可以通過Prometheus的監(jiān)控能力查看每個cGPU容器內(nèi)的顯存用量,在享受低成本的同時,保障了應用的可靠性。

ia_2600000003.jpg

此外,還開放了阿里云GPU實例上使用cGPU容器的能力。cGPU依賴Docker和NVIDIA Docker,在使用cGPU前,請確保環(huán)境可以正常創(chuàng)建帶GPU的容器服務。

性能分析

使用方式了解了,那么就是性能問題。

「cGPU容器方案會不會對性能有影響?有多少影響?」

以下有一組測試數(shù)據(jù),供你參考。

這是在常用的tensorflow框架下用benchmark工具分別測試了模型推理和訓練性能。

首先是單cGPU容器VS單GPU直通性能比較,分別在cGPU容器內(nèi)部以及標準的Docker容器內(nèi)部跑測試。

為cGPU容器內(nèi)的GPU實例分配所有的顯存和算力,來顯示在不共享GPU的情況下的cGPU是否有性能損失。

ia_2600000004.jpg

這是ResNet50訓練測試在不同精度和batch_size下的性能比較,綠色柱表示標準的容器性能,橙色柱表示cGPU容器內(nèi)的性能。

可以看到在不同的情況下,cGPU容器實例都幾乎沒有性能損失。

然后是ResNet50推理測試在不同精度和batch_size下的性能比較。

ia_2600000005.jpg

同樣的,在不同的情況下,cGPU容器實例都幾乎沒有性能損失。

還有cGPU容器VS MPS容器GPU共享性能比較。

依然采用了ResNet50的訓練和推理benchmark作為測試用例,分別用兩個cGPU容器和兩個MPS容器共享一個GPU硬件。

ia_2600000006.jpg

這是ResNet50訓練測試在不同batch_size下的性能比較。

綠色柱表示兩個MPS容器性能跑分的總和,橙色柱表示兩個cGPU容器跑分的總和。

可以看到,cGPU容器實例對比MPS容器幾乎沒有性能損失,在大的batch_size的情況下甚至跑分高于MPS容器。

接著,就是ResNet50推理測試在不同batch_size下的性能比較。

ia_2600000007.jpg

結果顯示,MPS容器和cGPU容器的性能差距不大,基本都在誤差范圍之內(nèi)。

你覺得這一技術如何?

感興趣的話,可戳下方鏈接去試試哦~

容器服務Kubernetes版控制臺:

https://cs.console.aliyun.com/

詳細使用指南:

https://help.aliyun.com/document_detail/163994.html

立即登錄,閱讀全文
版權說明:
本文內(nèi)容來自于量子位,本站不擁有所有權,不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家