日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

通过浪潮AIStation实现细粒度高性能的GPU资源共享

發(fā)布時間:2024/8/23 ChatGpt 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过浪潮AIStation实现细粒度高性能的GPU资源共享 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者 | 張榮國

供稿 | 浪潮

GPUGraphics Processing Unit),即圖形處理器,是一種由大量核心組成的大規(guī)模并行計算架構(gòu),專為同時處理多重任務(wù)而設(shè)計。GPU在大規(guī)模并行運算上具有巨大優(yōu)勢,為大數(shù)據(jù)、人工智能訓(xùn)練和推理任務(wù)以及圖像渲染等場景提供了顯著的計算性能加速支持,但在實際使用中會產(chǎn)生資源管理困難、利用率低等問題。AIStation是浪潮推出的一款人工智能開發(fā)平臺,可實現(xiàn)GPU資源的精細化調(diào)度。本文將重點介紹浪潮AIStation推理平臺的GPU共享技術(shù)能力和應(yīng)用場景。

GPU計算資源的運維痛點

對于人工智能開發(fā)人員、AI系統(tǒng)研究機構(gòu)或進行數(shù)字化轉(zhuǎn)型的新型/傳統(tǒng)企業(yè)來說,在使用GPU計算資源時通常會面臨如下幾個問題:

  • GPU資源管理困難。GPU相對CPU價格較貴,作為高價值硬件資源,GPU很難做到像網(wǎng)絡(luò)、存儲一樣的運維、管理一體化。在實際應(yīng)用環(huán)境下,經(jīng)常出現(xiàn)多進程、多人員、多任務(wù)復(fù)用同一GPU資源的情況,長時間的資源等待嚴(yán)重降低了業(yè)務(wù)流程的推進效率,降低了產(chǎn)品迭代的速度;
  • GPU資源使用效率低。算力需求較小的AI服務(wù)(on-premise或cloud)通常無法滿負載使用一塊GPU卡,并且用戶在使用GPU資源時也需要顯性地區(qū)分不同型號的GPU,以適配不同架構(gòu)、型號GPU的計算核心、驅(qū)動和其他版本組件,為用戶帶來了更高的使用門檻;
  • GPU資源快速申請、回收困難。在生產(chǎn)環(huán)境中,AI服務(wù)對GPU資源的申請與釋放需要基于任務(wù)負載的使用周期,以及不同任務(wù)在波峰/波谷時對GPU資源的使用量,按照在線請求數(shù)量(QPS)進行自動擴縮容,才能夠滿足線上AI服務(wù)的實時高并發(fā)、低延遲的需求;
  • 為了徹底解決上述問題,工業(yè)界已經(jīng)提出了多種GPU共享方案。并且在云原生趨勢下,利用云原生技術(shù)和標(biāo)準(zhǔn)Docker進行容器化部署,已經(jīng)成為業(yè)內(nèi)云服務(wù)對異構(gòu)計算資源的通用方法。

    表1 業(yè)界現(xiàn)有的GPU共享方案

    方案

    方案代表

    優(yōu)勢

    劣勢

    CUDA劫持

    rCUDA、VCUDA等

    Nvidia開源CUDA API,可以進行定制化開發(fā);

  • CUDA庫升級活躍,方案需要不斷適配;
  • 難以覆蓋所有場景,隔離不一定準(zhǔn)確;
  • 安全性低,用戶可以繞過限制;
  • 無法提供算力精準(zhǔn)限制能力;
  • CUDA聚合

    Nvidia MPS

  • 多任務(wù)共享下性能最好;
  • 當(dāng)資源滿足時,JCT不受影響;
  • 錯誤之間相互傳遞,生產(chǎn)環(huán)境、訓(xùn)練場景落地困難;
  • 沒有顯著的隔離性;
  • 無法進行二次開發(fā);
  • 內(nèi)核劫持

    cGPU等

  • 安全性高;
  • 共享性能損耗小;
  • 固定操作系統(tǒng)適配工作少;
  • 依賴操作系統(tǒng)型號與版本;
  • 二次開發(fā)難度高,遷移困難;
  • Mdev框架

    Nvidia vGPU

    Nvidia官方組件,可靠性高,安全性高;

  • 不支持容器化,虛擬機上使用受限;
  • 無法動態(tài)調(diào)整資源比例;
  • 有一定的共享損耗;
  • 無法進行二次開發(fā);
  • Nvidia MIG

    Nvidia MIG

    顯存、緩存和計算核心完全隔離;

  • 只能分成7個實例;
  • 每個實例的顯存、緩存和計算核心對一些應(yīng)用來說仍然過剩;
  • 如何將多個任務(wù)同時運行在同一張GPU卡上,同時對共享資源進行嚴(yán)格的隔離,是業(yè)界的一個重要研究方向。此外,業(yè)內(nèi)需求還包括如何在生產(chǎn)環(huán)境中對細粒度GPU資源(小于整卡的顯存、計算核心)進行擴縮容(即多個任務(wù)運行在一張GPU中,此GPU中的任務(wù)同樣需要在負載增加時,能夠運行在不同的GPU卡上),以及適配多版本官方組件。上述需求不但要考慮技術(shù)方面的實現(xiàn),還要根據(jù)實際生產(chǎn)過程中的不同類型指標(biāo)進行資源的自動伸縮。針對以上亟待解決的問題,AIStation推理平臺提供了穩(wěn)定GPU細粒度資源的分配、調(diào)度和管理能力,為企業(yè)用戶帶來了高效利用GPU資源的最佳解決方案。

    AIStation推理平臺GPU共享功能簡介

    AIStation推理平臺基于Kubernetes容器編排與計算資源發(fā)現(xiàn)、調(diào)度能力進行構(gòu)建,支持容器化應(yīng)用的生命周期管理和微服務(wù)架構(gòu),提供多種推理服務(wù)的發(fā)布方式和持續(xù)交付能力,簡化推理服務(wù)上線流程,為用戶提供穩(wěn)定、快捷靈活的生產(chǎn)環(huán)境服務(wù)部署平臺。

    GPU共享系統(tǒng)為AIStation推理平臺自研技術(shù),針對使用GPU作為計算資源的應(yīng)用提供多容器(或服務(wù))共享同一塊GPU加速卡的能力。用戶可對多種架構(gòu)的GPU加速卡進行細粒度的資源分配、調(diào)度,并通過計算請求量(QPS)、CPU使用率、內(nèi)存使用率等指標(biāo)自動進行擴縮容操作,能夠保證推理服務(wù)快速響應(yīng)在線請求、提升GPU資源的復(fù)用率,同時對底層第三方組件不具有任何侵入性,可將其輕松移植到不同的應(yīng)用場景下。

    AIStation提供以下GPU共享技術(shù)能力:

  • 提供GPU顯存的細粒度分配與調(diào)度能力;
  • 提供GPU計算核心的細粒度分配與調(diào)度能力;
  • 提供基于HPA的細粒度GPU資源擴縮容能力;
  • 提供基于QPS的細粒度GPU資源擴縮容能力;
  • 提供基于GPU共享的高可用部署能力;
  • 提供多種型號GPU(V100、T4、A10 ~ A100、RTX2080 ~ 3090)共享能力;
  • 極低的計算性能損耗(平均損耗低于1.3%);
  • GPU顯存的細粒度分配與調(diào)度能力。用戶可以將多個不同類型的服務(wù)部署在同一張GPU卡上,當(dāng)多個服務(wù)的所需GPU顯存能夠“恰好”滿足單張GPU的實際顯存數(shù)量,此時GPU資源的使用率可以達到100%。如圖1中的Case1所示,Container1和Container3、 Container2和Container4的組合分別可以完全滿足現(xiàn)有GPU資源的顯存額度。更多的情況為,用戶可以通過配置文件設(shè)定“服務(wù)所需GPU顯存資源申請額度”,AIStation將組合后能夠達到最大GPU利用率的服務(wù)調(diào)度到同一張GPU卡,進而提升GPU資源的使用率。

    ?圖1 不同場景下AIStation對顯存的細粒度分配與調(diào)度

    AIStation能夠保證各服務(wù)之間的顯存隔離。如圖1中的Case2所示,AIStation通過后臺算法計算出最優(yōu)的調(diào)度策略,為預(yù)部署服務(wù)提供最小剩余資源與服務(wù)安全保障方案,在合理調(diào)度服務(wù)到不同GPU卡后,可以為其他服務(wù)提供空閑的GPU資源;對于跨節(jié)點的GPU資源,AIStation同樣能提供細粒度分配與調(diào)度能力。

    提供GPU計算核心的細粒度分配與調(diào)度能力。GPU計算資源包括顯存(Memory)與計算核心(Kernel),當(dāng)所部署的服務(wù)對計算核心使用率不高,或無需使用整卡的計算核心即能滿足現(xiàn)有延遲要求時,AIStation可在單張GPU內(nèi)對計算核心進行細粒度的劃分并且兼顧GPU顯存劃分。如果同時設(shè)置GPU計算核心和顯存的細粒度劃分,以計算核心分配為主,單張卡的計算核心分配≤100%。

    圖2 AIStation對計算核心的細粒度分配與調(diào)度

    提供基于HPA的細粒度GPU資源擴縮容能力。AIStation支持原生Kubernetes的水平自動擴縮容(Horizontal Pod Autoscaler),可基于CPU利用率、平均內(nèi)存利用率等指標(biāo)自動擴縮服務(wù)的副本數(shù)量。

    圖3 AIStation平臺GPU共享系統(tǒng)的HPA

    提供基于QPS的細粒度GPU資源擴縮容能力。AIStation支持實時服務(wù)請求流量的水平自動擴縮(Traffic Pod Autoscaler),可根據(jù)在線服務(wù)訪問流量(QPS)指標(biāo)自動增加或減少服務(wù)副本數(shù)量,用戶可以配置上線服務(wù)的預(yù)設(shè)QPS,當(dāng)服務(wù)請求大于(或小于)預(yù)設(shè)值時,后臺程序會自動判斷并執(zhí)行擴縮容操作,在滿足實例副本的資源申請配額條件下,按照細粒度的資源調(diào)度方式申請最佳的GPU資源。

    圖4 AIStation平臺GPU共享系統(tǒng)的TPA

    極低的計算性能損耗。AIStation平臺GPU共享系統(tǒng)的性能損耗很小,不會對用戶應(yīng)用的性能產(chǎn)生影響。其劫持調(diào)度器采用C++編寫,并且采用了Pod代理來接收用戶應(yīng)用的GPU內(nèi)存申請和GPU時間片申請請求,Pod代理可以處理絕大多數(shù)的來自用戶應(yīng)用的請求,只有在用戶應(yīng)用需要重新申請GPU時間片時,Pod代理才需要將用戶應(yīng)用請求轉(zhuǎn)發(fā)到劫持調(diào)度器。這樣的架構(gòu)設(shè)計能夠避免劫持調(diào)度器過于繁忙而造成系統(tǒng)性能下降的問題。我們進行了如下的性能損耗測試,加速卡型號:NVIDIA GPU Tesla T4,軟件:TensorFlow Benchmark,深度學(xué)習(xí)模型:ResNet50,精度:FP32, BatchSize=1、4、16,性能數(shù)據(jù)如圖5所示。

    圖5 GPU共享與GPU直通的性能對比

    GPU共享與GPU直通(應(yīng)用的容器直接運行在GPU上)在不同BatchSize的情況下,性能對比如下:(1)BatchSize=1時,性能損耗約為 1.3%;(2)BatchSize=4時,性能損耗約為 0.37%;(3)BatchSize=1時,性能損耗約為 0.7%,從測試數(shù)據(jù)中,可以看出GPU共享與GPU直通的性能非常接近,幾乎不受影響。

    AIStation基于業(yè)務(wù)場景設(shè)計

    無侵入式架構(gòu)設(shè)計。AIStation具備無侵入特性。業(yè)界的一些GPU共享產(chǎn)品要求對用戶應(yīng)用、CUDA Runtime、CUDA Driver、或者NVIDIA Driver做出一定的修改,這會給很多用戶帶來困擾,同時會帶來一些業(yè)務(wù)不穩(wěn)定的問題。而AIStation不需要做上述修改,可以輕松移植到其它平臺中,并且只需要YAML和Docker Images即可部署,支持開箱即用。

    高可用(HA)設(shè)計。AIStation平臺GPU共享系統(tǒng)的每個控制組件都采用高可用設(shè)計,每個主節(jié)點上面都會有一個GPU共享系統(tǒng)Controller模塊和一個GPU共享系統(tǒng)Scheduler模塊。在同一時間,每個模塊的多個實例中只有一個是Leader,這個Leader負責(zé)本模塊的業(yè)務(wù)處理,如果一些硬件問題或者網(wǎng)絡(luò)問題導(dǎo)致此Leader掛掉了,那么Leader選舉機制會立刻選舉出新的Leader,實現(xiàn)了控制組件的高可用機制。

    精細化監(jiān)控設(shè)計。AIStation可對每個用戶應(yīng)用Pod的GPU利用率進行實時監(jiān)控。它計算每個應(yīng)用Pod的GPU利用率,然后借助TSDB(時序數(shù)據(jù)庫)存儲這些數(shù)據(jù),從而實現(xiàn)了精細化的GPU利用率實時監(jiān)控。

    典型案例

    某金融行業(yè)客戶案例

    在某金融行業(yè)客戶的保險業(yè)務(wù)中,用戶生產(chǎn)環(huán)境目前包括圖像識別服務(wù)、OCR識別服務(wù)及語音識別服務(wù),用于支撐企業(yè)內(nèi)部運營管理及線上業(yè)務(wù)辦理,用戶希望構(gòu)建統(tǒng)一的算法應(yīng)用平臺,集中管理不同ISV算法應(yīng)用,提高資源利用率。

    生產(chǎn)環(huán)境的廠商應(yīng)用按裸機方式或者docker方式進行煙囪式部署管理,資源利用率較低,并且大量OCR服務(wù)在服務(wù)請求波谷時,對GPU資源依然采用整卡占用的形式,嚴(yán)重影響GPU資源的復(fù)用效率,導(dǎo)致其他服務(wù)存在大量推理計算時,需要進行人為干預(yù),如果調(diào)峰不及時還會出現(xiàn)請求響應(yīng)不及時、計算延遲較高、計算中斷等一系列問題。

    ?

    圖6 煙囪式部署與GPU共享部署對比

    客戶啟用AIStation推理平臺后,上述問題得到了根本性解決,大規(guī)模推理業(yè)務(wù)場景下的資源管理能力顯著提升。其中,GPU資源的復(fù)用率提升了300%,有效緩解了“任務(wù)多、加速卡少”、“負載計算少、資源占用多”等問題,使客戶能夠靈活應(yīng)對各種不同類型的線上推理服務(wù),極大提升了業(yè)務(wù)系統(tǒng)的穩(wěn)定性。

    某能源行業(yè)客戶案例

    某能源客戶場景有2臺8卡V100(32GB顯存)GPU服務(wù)器,28人開發(fā)團隊,客戶希望能夠合理分配這16張GPU卡給開發(fā)者做推理測試。因為人均不到一張GPU卡,如何合理高效的分配使用GPU資源,是用戶急需解決的問題。

    ?

    圖7 GPU卡較少,而用戶較多

    用戶在使用浪潮AIStation以后,通過設(shè)置GPU共享策略,將每個GPU切分為8個實例,每個實例可以使用4GB的顯存,原來的16塊GPU卡相當(dāng)于變?yōu)榱?6*8=128個實例供開發(fā)用戶使用,每個用戶可以分到4~5個實例。每張GPU卡的利用率提升為原來的8倍。

    圖8 AIStation將每張GPU卡劃分為8個實例

    總結(jié)

    以上是生活随笔為你收集整理的通过浪潮AIStation实现细粒度高性能的GPU资源共享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。