TWI739235B - 一種gpu運算資源指配系統及其方法 - Google Patents

一種gpu運算資源指配系統及其方法 Download PDF

Info

Publication number
TWI739235B
TWI739235B TW108145521A TW108145521A TWI739235B TW I739235 B TWI739235 B TW I739235B TW 108145521 A TW108145521 A TW 108145521A TW 108145521 A TW108145521 A TW 108145521A TW I739235 B TWI739235 B TW I739235B
Authority
TW
Taiwan
Prior art keywords
gpu
resource
host
resources
mode
Prior art date
Application number
TW108145521A
Other languages
English (en)
Other versions
TW202123004A (zh
Inventor
林昱安
黃耀德
Original Assignee
中華電信股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中華電信股份有限公司 filed Critical 中華電信股份有限公司
Priority to TW108145521A priority Critical patent/TWI739235B/zh
Publication of TW202123004A publication Critical patent/TW202123004A/zh
Application granted granted Critical
Publication of TWI739235B publication Critical patent/TWI739235B/zh

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本發明提供一種GPU運算資源指配系統及其方法,根據虛擬機資源池中各主機之資源模式,查詢符合用戶端的選擇請求的主機以選取該主機,再將GPU資源池中對應於所選取主機的GPU資源的狀態設定為已預約,而在接收用戶端的確認請求之後,於GPU資源池中查詢對應於用戶端的已預約GPU資源以將其狀態設定為已使用,最後輸出所選取主機及已使用GPU資源的資訊之供裝資訊,以進行供裝。本發明依據資源模式選擇GPU資源以達到各主機之GPU資源的使用率平均化,且利用預約功能以保留GPU資源,以確保用戶的GPU資源,也能自動取消已預約的GPU資源以避免佔用,使GPU資源之管理達到最佳化。

Description

一種GPU運算資源指配系統及其方法
本發明關於一種資源指配技術,尤其指一種GPU運算資源指配系統及其方法。
現今科技中,AI(Artificial Intelligence,人工智慧)及深度學習是越來越熱門的研究項目,原因是GPU(Graphics Processing Unit,圖形處理器)所帶來的強大的浮點運算能力和平行運算能力,使AI及深度學習的發展更加快速也逐漸成熟,使得大量的公司、研究單位和教學單位投入相關研究。
然而,GPU資源的建置成本非常昂貴,對於這些用戶造成不小的負擔,也因此這些用戶通常會透過雲端平台向GPU資源供應商取得GPU運算服務,以降低建置GPU資源成本上的負擔。
再者,對於GPU資源供應商來說,為了降低建置GPU資源成本,以提高利潤,通常只佈署少量於部分主機上,並透過配置於主機上的GPU虛擬機以提供GPU資源給用戶。
此外,GPU虛擬機之GPU資源必需與主機綁定,故無法跨主機運用其他GPU資源,若無法有效的分配主機之GPU資源,當這些用戶需要升級或申請GPU資源時,GPU資源供應商將無法提供GPU資源給用戶,造成雙方的損失。
因此,現有GPU分配方式實難克服上所述問題,亦造成GPU資源建置成本昂貴、無法有效分配GPU資源等狀況,故如何有效地分配GPU資源乃現今急需克服的問題。
鑒於上述種種缺失,本發明提供一種GPU運算資源指配系統及其方法,能有效且自動化地分配GPU資源,並使GPU資源之管理達到最佳化。
本發明之一種圖形處理器(Graphics Processing Unit,GPU)運算資源指配系統,應用於一虛擬機資源池及一GPU資源池,該GPU運算資源指配系統包括:一資源選擇模組,係用以監控該GPU資源池中各GPU資源,以設定或更新對應於各該GPU資源的各主機的資源模式;一資源預約模組,係用以接收來自一用戶端之選擇請求,以根據該虛擬機資源池中各該主機的資源模式查詢出符合該選擇請求的主機,再呼叫該資源選擇模組選取該主機,進而將該GPU資源池中對應於該經選取之主機的GPU資源的狀態設定為已預約;及一資源配發模組,係用以於該資源預約模組接收到來自該用戶端之一確認請求後,於該GPU資源池中查詢對應該用戶端之 已預約GPU資源,以將該已預約GPU資源的狀態設定為已使用,進而輸出根據該經選取之主機及該已使用GPU資源進行供裝之供裝資訊。
本發明之一種圖形處理器(Graphics Processing Unit,GPU)運算資源指配方法,係包括:接收來自用戶端之一選擇請求,根據一虛擬機資源池中各主機的資源模式查詢出符合該選擇請求的主機以選取該主機,進而將一GPU資源池中對應該經選取之主機的GPU資源的狀態設定為已預約;於接收來自該用戶端一確認請求後,於該GPU資源池中查詢對應該用戶端之已預約GPU資源,以將該已預約GPU資源的狀態設定為已使用;以及輸出根據該經選取之主機及該已使用GPU資源進行供裝之供裝資訊。
於一實施例中,該資源預約模組於接收來自該用戶端之一服務請求時,在該GPU資源池中查詢出GPU資源最大可用量,俾提出該選擇請求,其中,於該服務請求屬於新申請GPU虛擬機時,該查詢出之GPU資源最大可用量係指該虛擬機資源池中所有主機的GPU資源,而於該服務請求屬於升降級GPU虛擬機時,所查詢出之GPU資源最大可用量係指要升級的GPU虛擬機之目標主機的GPU資源。
於一實施例中,於一預定時間內該資源預約模組未接收到來自該用戶端之確認請求時,該資源預約模組將該已預約GPU資源的狀態從已預約修改回未使用,而於該預定時間後該資源預約模組才接收到該確認請求時,該資源預約模組再次根據該虛擬機資源池中各主機的資源模式查詢出符合該選擇請求的主機以呼叫該資源選擇模組選取該主機。
於一實施例中,該資源選擇模組將具有小於或等於一預定門檻值的GPU使用率之主機的資源模式設定為最大優先模式,將具有大於該預定門檻值的GPU使用率且仍存在可用資源之主機的資源模式設定為最小優先模式,將具有大於該預定門檻值的GPU使用率但不存在該可用資源的主機的資源模式設定為無模式。
於一實施例中,若具有該最大優先模式的主機之數量大於零,則該資源選擇模組從具有該最大優先模式的主機中選取具有GPU資源最大可用量且符合該選擇請求之主機。
於一實施例中,若具有該最大優先模式的主機之數量大於零但具有該GPU資源最大可用量的主機不符合該用戶端的該選擇請求,則該資源選擇模組從具有該最小優先模式的主機中選取具有GPU資源最小可用量且符合該選擇請求的主機。
於一實施例中,若具有該最大優先模式的主機之數量不大於零而具有該最小優先模式的主機之數量大於零,則該資源選擇模組從具有該最小優先模式的主機中選取具有該GPU資源最小可用量且符合該選擇請求之主機。
於一實施例中,若具有該最大優先模式的主機之數量不大於零而具有該最小優先模式的主機之數量大於零但具有該GPU資源最小可用量的主機不符合該選擇請求,則剔除具有該GPU資源最小可用量但不符合該選擇請求之主機,再重新至具有該最小優先模式的主機中進行選取。
綜上,本發明之資源選擇模組依據資源模式選擇GPU資源以達到各主機之GPU資源的使用率平均化,且利用資源預約模組預約功能 以保留GPU資源,以確保用戶的GPU資源,也能自動取消已預約的GPU資源以避免佔用,使GPU資源之管理達到最佳化。
1‧‧‧GPU運算資源指配系統
11‧‧‧資源預約模組
12‧‧‧資源配發模組
13‧‧‧資源選擇模組
20‧‧‧虛擬機資源池
20a‧‧‧叢集
200‧‧‧主機
201‧‧‧GPU虛擬機
30‧‧‧GPU資源池
300‧‧‧GPU資源
310‧‧‧預約用戶
311‧‧‧狀態
40‧‧‧用戶端
50‧‧‧供裝系統
S21至S24、S31至S39‧‧‧步驟
S41A至S45A、S41B至S47B‧‧‧步驟
S51A至S56A、S51B至S510B‧‧‧步驟
S61至S66‧‧‧步驟
第1A及1B圖為本發明之GPU運算資源指配系統示意圖;
第2圖為本發明之GPU運算資源指配方法流程圖;
第3圖為本發明資源預約模組之預約方法流程圖;
第4A圖為本發明資源配發模組之申請新的GPU虛擬機的配發方法流程圖;
第4B圖為本發明資源配發模組之升降級已使用的GPU虛擬機的配發方法流程圖;
第5A圖為本發明資源選擇模組之設定資源模式方法流程圖;
第5B圖為本發明資源選擇模組之選擇資源模式方法流程圖;以及
第6圖為本發明GPU運算資源指配系統之一實施例流程圖。
以下即配合所附之圖式,詳細揭露說明本發明之GPU運算資源指配系統及其方法之實施例。
第1A及1B圖為本發明之GPU運算資源指配系統1示意圖。如第1A圖所示,本發明之GPU運算資源指配系統1應用於一GPU(Graphics Processing Unit,圖形處理器)資源池30以及一虛擬機資源池20,GPU運算資源指配系統1包含一資源預約模組11、一資源配發模組12、及一資源選擇 模組13。再者,本發明之GPU運算資源指配系統1提供用戶端40使用GPU運算服務申請、異動、退用功能。
具體而言,GPU資源池30具有至少一GPU資源300,且該GPU資源300由至少一顆GPU組成,虛擬機資源池20具有至少一叢集20a,且該叢集20a由至少一主機200組成,其中,該主機200通訊連接該GPU資源300以形成至少一GPU虛擬機(GPU virtual machine,GPU VM)201。需說明的是,主機200用於提供GPU虛擬機201所需資源,而在主機200加掛實體的GPU資源300以用於提供高度平行運算的GPU虛擬機服務。在一實施例中,各GPU300綁定在對應的主機200上後便不再變動。
資源選擇模組13監控GPU資源池30中各GPU資源300,以設定/更新對應於各GPU資源300的主機200的資源模式,且當資源預約模組11或資源配發模組12查詢哪個主機具有可用GPU資源時,資源選擇模組13回傳可提供該可用GPU資源的主機。換言之,資源選擇模組13可排程定期更新對應於各GPU資源300的主機200的資源模式,並選取主機給資源預約模組11或資源配發模組12。各GPU資源300的主機200的資源模式之設定將於後詳述之。
資源預約模組11可接收來自用戶端40之服務請求,以根據該服務請求至GPU資源池30中查詢GPU最大可用量,再提供給用戶端40選擇。若服務請求屬於新申請GPU虛擬機時,所查詢之GPU最大可用量係針對虛擬資源池20中所有主機200的GPU資源300,而若服務請求屬於升降級GPU虛擬機時,則所查詢之GPU最大可用量僅針對要升級的目標主機的GPU資源300。資源預約模組11更可接收來自用戶端40之選 擇請求(GPU規格之選擇),以根據虛擬機資源池20中各主機200的資源模式查詢出符合用戶端40的選擇請求之主機200,以呼叫資源選擇模組13將其選取,接著資源預約模組11將對應於所選取主機200的GPU資源300之狀態311設定為「已預約」以及將預約用戶310設定為用戶端40,如第1B圖所示。資源預約模組11更可接收來自用戶端40之確認請求,以令資源配發模組12進行資源配發。此外,若資源預約模組11未在預定時間內接收到客戶端40的確認請求,則資源預約模組11將已預約GPU資源300中狀態311修改回未使用並清空預約用戶310。此外,若資源預約模組11超過預定時間或取消後才收到用戶端40的確認請求,表示並沒有預約,則資源預約模組11再重新根據虛擬資源池200中各主機20的資源模式查詢出符合用戶端40的選擇請求的主機,以呼叫資源選擇模組13將其選取以進行後續之狀態修改。
於資源預約模組11接收到來自用戶端40的確認請求之後,令資源配發模組12在GPU資源池30中查詢對應用戶端40的已預約GPU資源,以將該已預約GPU資源的狀態設定為「已使用」,再輸出該已預約GPU資源及該已選取主機的資訊(即供裝資訊)至外部(或稱底層)供裝系統進行供裝,以形成GPU虛擬機201。換言之,資源配發模組12可根據資源預約模組11的預約和資源選擇模組13的選取進行GPU資源的配發,也能及時配發GPU資源。
第2圖為本發明之GPU運算資源指配方法流程圖,此GPU運算資源指配方法係主要包括下列步驟S21至步驟S25之技術內容。
在步驟S21中,接收來自用戶端之一選擇請求。在步驟S21之前,可於接收到來自用戶端之一服務請求(如新申請或升降級GPU虛擬機)時,至GPU資源池中查詢GPU最大可用量以提供給用戶端選擇,則用戶端發出該選擇請求(如GPU規格)。
在步驟S22中,根據虛擬資源池中各主機的資源模式,查詢符合用戶端之選擇請求的主機,並予以選取,再將GPU資源池中對應於所選取主機的GPU資源的狀態設定為已預約,並於預約用戶的欄位中登記為該用戶端。
在步驟S23中,接收來自用戶端之確認請求。若在預定時間內未接收到該確認請求,則取消該用戶端的預約,即將前述所選取主機的GPU資源的狀態從已預約修改為未使用,並清空預約用戶,再返回步驟S22以選取主機。
在步驟S24中,於GPU資源池中查詢對應該用戶端之已預約GPU資源,以將該已預約GPU資源的狀態設定為已使用。若取消該用戶端的預約後才接收到確認請求,則再返回步驟S22以選取主機。
在步驟S25中,輸出包括所選取主機及已使用GPU資源的資訊之供裝資訊,以供後續之GPU虛擬機的供裝。
第3圖為本發明資源預約模組之預約方法流程圖,此預約方法係主要包括下列步驟S31至步驟S38之技術內容。
在步驟S31中,確認用戶端的服務請求為申請新GPU虛擬機或升降級GPU虛擬機。
在步驟S32中,若為升降級已使用的GPU虛擬機,則查詢用戶端原來的GPU虛擬機所屬主機之GPU資源,取得GPU資源可用量。
在步驟S33中,若為申請新GPU虛擬機,則查詢該虛擬機資源池中所有主機之GPU資源,取得GPU資源最大可用量。
在步驟S34中,將步驟S32之GPU虛擬機所屬主機之GPU資源可用量或步驟S33之GPU資源最大可用量與系統預設GPU規格所需之GPU數量進行比對,而顯示目前可配發的GPU規格於畫面,讓用戶端選擇所需GPU規格。
在步驟S35中,於升降級已使用的GPU虛擬機的條件下,升級時進至步驟S37,降級時結束流程。
在步驟S36中,查詢是否有可用主機。
在步驟S37中,將此主機系的可用GPU資源狀態由「未使用」改為「已預約」,且記錄預約用戶的資料並送出。
在步驟S38中,若無可用主機,表示剩餘的GPU資源已無可以滿足用戶端所選擇的GPU規格,接著中止用戶端的申請流程。
簡言之,在GPU虛擬機申請資源指配流程中,資源配發模組接受資源預約模組的請求,先確認是否有已預約GPU資源,若有已預約,選取已預約GPU資源及其所屬主機送至底層進行GPU虛擬機供裝;若無預約,呼叫資源選擇模組取得GPU資源的主機再回傳,同樣將所選取主機及GPU資源送底層送GPU虛擬機供裝,若無回傳可用主機則產生人工障礙單通知維運人員雲端系統的GPU資源不足。另外,在GPU虛擬機規格升降級資源指配流程中,由於GPU虛擬機只可在所屬主機增加或減少GPU資源,故資源配發模組無須再重新查詢或選擇主機,只須判別用戶端所選的GPU規格相較於原規格是否為升級,若為降級則直接送底層進行供裝異動即可;若為升級則須查詢是否有狀態為已預約的GPU資源,若有預約則是將已預約GPU資源選為已使用再送底層供裝,若無預約則查詢此主機下GPU資源 可用量是否足夠,若資源充足便從中選取GPU資源送底層供裝,若資源不足則產生人工障礙通通之維運人員雲端系統的GPU資源不足。
此外,為了避免該用戶端於選擇GPU規格後離開預約功能之流程,造成GPU資源雖已預約卻無使用的鎖死狀態,因此,若超過預定時間後還未接收到來自用戶端的確認請求或該已預約GPU資源還未經由資源配發模組處理,則資源預約模組將自動清除GPU資源的預約用戶中的資料,並將GPU資源的狀態改回「未使用」。
第4A圖為本發明資源配發模組之申請新GPU虛擬機的配發方法流程圖,且此申請新GPU虛擬機的配發方法係主要包括下列步驟S41A至步驟S45A之技術內容。
在步驟S41A中,由資源配發模組接受資源預約模組送出之申請新GPU虛擬機之請求,資源配發模組確認是否已預約GPU資源中可用的GPU。
在步驟S42A中,若資源預約模組已預約GPU資源中可用的GPU,則資源配發模組選定GPU資源300及其所屬主機,且修改GPU資源狀態為「已使用」,以送至底層或外部供裝系統以進行GPU虛擬機供裝。
在步驟S43A中,若資源預約模組未預約GPU資源(因該用戶端超過預設定時間還未送出確認請求而取消預約),則資源配發模組呼叫該資源選擇模組取得主機之GPU資源中可用的GPU,並由資源配發模組確認是否取得可用的主機之GPU資源。
在步驟S44A中,若資源選擇模組取得GPU資源中可用的GPU,則資源配發模組選定GPU資源及其所屬主機,且修改GPU資源狀態為「已使用」,以送至底層或外部供裝系統以進行GPU虛擬機供裝。
在步驟S45A中,若資源選擇模組未取得GPU資源中可用的GPU,則資源配發模組發出人工障礙單,通知維運人員GPU資源池之GPU資源不足。
第4B圖為本發明資源配發模組之升降級已使用的GPU虛擬機的配發方法流程圖,且此升降級已使用的GPU虛擬機的配發方法係主要包括下列步驟S41B至步驟S47B之技術內容。其中,由於GPU虛擬機只在所屬的主機中增加或減少GPU資源中GPU的數量,故資源配發模組不再重新取得其他主機。
在步驟S41B中,由資源配發模組接受資源預約模組送出之升降級已使用的GPU虛擬器之請求,且資源配發模組12確認用戶端選擇升降或降級GPU規格。
在步驟S42B中,若資源配發模組確認為降級,資源配發模組隨機挑選待釋放GPU資源,修改GPU資源狀態為「未使用」後,直接送至底層或外部供裝系統以進行GPU虛擬機供裝。
在步驟S43B中,若資源配發模組確認為升級,則資源配發模組確認是否已預約GPU資源中可用的GPU。
在步驟S44B中,若資源預約模組已預約GPU資源中可用的GPU,則資源配發模組選定GPU資源及其所屬主機,且修改GPU資源狀態為「已使用」,以送至底層或外部供裝系統以進行GPU虛擬機供裝。
在步驟S45B中,若資源預約模組未預約GPU資源(因該用戶端超過預設時間還未送出該確認請求,而取消預約),則資源配發模組呼叫資源選擇模組13取得主機之GPU資源中可用的GPU,並由資源配發模組確認是否取得可用的主機200之GPU資源。
在步驟S46B中,若資源選擇模組取得GPU資源中可用的GPU,則資源配發模組選定GPU資源及其所屬主機,且修改GPU資源狀態為「已使用」,以送至底層或外部供裝系統以進行GPU虛擬機供裝。
在步驟S47B中,若資源選擇模組未取得GPU資源中可用的GPU,則資源配發模組發出人工障礙單,通知維運人員GPU資源池之GPU資源不足。
第5A圖為本發明資源選擇模組之設定資源模式方法流程圖,且此設定資源模式方法係主要包括下列步驟S51A至步驟S56A之技術內容。
在步驟S51A中,設定一預定門檻值。該預定門檻值之公式(1)如下所示:
Figure 108145521-A0101-12-0012-1
,其中,該最高GPU規格顆數係為GPU規格中最高的GPU數量(例如:16顆),且通常確定上架的最高GPU規格後就不會改變,整個系統設定相同的最高GPU規格,以及該GPU總顆數為GPU資源中GPU的總顆數,而該最高規格份數為可設定之參數值,且該最高規格份數之參數值需大於1,更可根據實際需求調整該參數值。若需確保資源配發模組可配發一份該最高GPU規格,則該規格份數之參數值可設定為1;若想增加可配發該最高GPU規格之彈性,可將該最高規格份數之參數值設定為1.5或2等數值。
在步驟S52A中,查詢主機200之GPU資源300的GPU使用率,將GPU使用率跟預定門檻值進行比對,其中,GPU使用率之公式(2)如下所示:
Figure 108145521-A0101-12-0012-3
,其中,已使用的GPU顆數為GPU資源中已使用的GPU數量,以及該GPU總顆數為GPU資源中GPU的總顆數。
在步驟S53A中,若GPU使用率小於或等於該預定門檻值,則將主機200之資源模式設定為「最大優先」。
在步驟S54A中,若GPU使用率大於該預定門檻值,則檢查主機之GPU使用率是否為100%,以確保是否存在可用的GPU資源。
在步驟S55A中,若主機之GPU使用率小於100%,則將主機之資源模式設定為「最小優先」。
在步驟S56A中,若主機之GPU使用率等於100%,則將主機之資源模式設定為「無」,且後續將不被列入選擇對象。
於本實施例中,先設定最高規格份數為1.5、最高GPU規格顆數為16。其中,一主機A(GPU總顆數:100,已使用GPU顆數:50),代入公式(1)計算門檻值,其門檻值為(1-1.5×16/100)×100%=76%,代入公式(2)計算使用率,其使用率為(50/100)×100%=50%;一主機B(GPU總顆數:50,已使用GPU顆數:35),代入公式(1)計算,其門檻值為(1-1.5×16/50)×100%=52%,代入公式(2)計算使用率,其使用率為(35/50)×100%=70%。
接著,由資源選擇模組依據資源模式方法進行主機A及B之資源模式設定。舉例來說,主機A:50%(使用率)<76%(門檻值),故主機A設定成「最大優先」;主機B:70%(使用率)>52%(門檻值),故主機B設定成「最小優先」。
第5B圖為本發明資源選擇模組之選擇資源模式方法流程圖,且此選擇資源模式方法係主要包括下列步驟S51B至步驟S510B之技術內容,其中,該選擇資源模式方法用以用戶端申請新GPU虛擬機時。
在步驟S51B中,判斷資源模式為「最大優先」的主機之數量是否大於零。
在步驟S52B中,若資源模式為「最大優先」的主機之數量大於零,則資源選擇模組選擇具有GPU資源最大可用量的主機。
在步驟S53B中,確認GPU資源最大可用量是否滿足該用戶端所選擇的GPU規格。
在步驟S54B中,若GPU資源最大可用量滿足用戶端選擇的GPU規格,則資源選擇模組反饋該主機給資源預約模組或資源配發模組。
在步驟S55B中,若GPU資源最大可用量無法滿足用戶端選擇的GPU規格,或資源選擇模組查詢資源模式為「最大優先」的主機之數量等於或不大於零,則資源選擇模組查詢資源模式為「最小優先」的主機的數量,以判斷資源模式為「最小優先」的機的數量是否大於零。
在步驟S56B中,若資源模式為「最小優先」的主機數量不大於零,表示所有GPU資源皆已用盡,則資源選擇模組13反饋無可用的主機給資源預約模組或資源配發模組。
在步驟S57B中,若資源模式為「最小優先」的主機數量大於零,則資源選擇模組從中選擇GPU資源中GPU資源最小可用量的主機。
在步驟S58B中,確認GPU資源最小可用量是否滿足用戶端所選擇的GPU規格。
在步驟S59B中,若GPU資源最小可用量滿足用戶端選擇的GPU規格,則資源選擇模組反饋主機給資源預約模組或資源配發模組。
在步驟S510B中,若GPU資源最小可用量無法滿足用戶端選擇的GPU規格,則剔除該主機,並回到步驟S55B重新查詢資源模式為「最小優先」的主機。
於本實施例中,選擇資源模式為當GPU資源池中主機之GPU資源的使用率小於或等於預定門檻值時,優先選擇GPU資源中可用的GPU數量最多之主機200,即「最大優先」模式,用以使各個主機之GPU資源的使用情況平均分散,以避免資源浪費;當GPU資源池中主機之GPU資源的使用率大於預定門檻值時,優先選擇GPU資源中可用的GPU數量最少之主機,即「最小優先」模式,用以維持其他主機之GPU資源中可用的GPU數量,以足夠支撐最高GPU規格之數量所需,防止GPU資源池中可用的GPU總量能滿足最高GPU規格之數量,卻因該GPU分散於各個主機而產生無法配發GPU的問題。
第6圖為本發明GPU運算資源指配系統之一實施例流程圖,此實施例流程圖係主要包括下列步驟S61至步驟S66之技術內容。
在步驟S61中,一用戶端40透過資源預約模組11進入GPU虛擬機申請流程,即申請新GPU虛擬機並選擇所需GPU規格,例如,GPU數量為1、2、4、8及16顆等五種GPU規格。資源預約模組11向GPU資源池30查詢GPU資源最大可用數量,以取得該GPU最大可用數量(例如GPU數量為4顆)。
在步驟S62中,資源預約模組11提供多種(如三種)可配發GPU規格(GPU數量為1、2及4顆)給用戶端40,並隱藏不可用GPU規格(GPU數量為8及16顆),提供用戶端40進行GPU規格選擇。
在步驟S63中,假若用戶端40選擇GPU規格(GPU數量為1顆),資源預約模組11呼叫資源選擇模組13查詢可配發GPU數量為1顆的主機,因GPU資源池30中所有主機的GPU使用數量偏高(所有主機都無法配發GPU數量為8及16顆的GPU規格),故資源選擇模組13選取資源模式為「最 小優先」的主機,而資源預約模組11將所選取的主機的GPU資源之狀態由「未使用」修改為「已預約」,並將預約用戶填入「用戶端40」。
在步驟S64中,資源預約模組11完成修改GPU資源之狀態及預約用戶之後,將用戶端40引導至GPU虛擬機申請資料確認頁,用戶端40確認申請資料之正確性後送出申請資料,即送出確認請求,資源預約模組11收到請求後,送出GPU虛擬機的申請要求。
在步驟S65中,資源配發模組12於GPU資源池30中查詢用戶端40是否已預約有GPU資源,GPU資源池30回傳用戶端40已預約的GPU資源,再由資源配發模組12將該已預約的GPU資源之狀態從「已預約」修改為「已使用」並清空預約用戶。
在步驟S66中,接著資源配發模組12將該已使用的GPU資源相關資料寫入GPU虛擬機之供裝資訊,送至外部的供裝系統50進行GPU虛擬機的供裝設定。供裝系統50完成GPU虛擬機供裝後,告知用戶端40所申請的GPU虛擬機服務已完成供裝可以開始使用。
簡言之,利用GPU運算資源指配系統管理虛擬機資源池中叢集的主機及GPU資源池中各GPU資源,並依據資源模式選擇GPU資源以達到各主機之GPU資源的使用率平均化,且利用預約功能以保留GPU資源,確保用戶的GPU資源,也能自動釋出GPU資源以避免佔用,使GPU資源之管理達到最佳化,亦使該虛擬機能提供高度平行運算的GPU虛擬機服務。
綜上,本發明之一種GPU運算資源指配系統及其方法可至少具有下列特色、優點或技術功效。
一、本發明提供動態調整GPU資源之選擇策略,可根據主機之GPU資源使用率不同,將使用率比對門檻值後,採用最大優先/最小優先模式之資源模式進行GPU資源選擇,達到低負載時的GPU資源的使用分布平均化及確保高負載時還可配發最高GPU規格所需資源。
二、本發明透過有效的分配GPU資源,提升GPU資源使用率,且降低GPU資源的建置成本。
三、本發明提供GPU資源預約機制,於用戶操作服務申請流程,自動進行資源預約,確保用戶服務必能取得GPU運算資源,維持資源之獨佔性。已預約的GPU資源若經過一段時間未配發,將自動取消預約的GPU資源以避免GPU資源鎖死。
上列詳細說明乃針對本發明之一可行實施例進行具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包括於本案之專利範圍中。
綜上所述,本案不僅於技術思想上確屬創新,並具備習用之傳統方法所不及之上述多項功效,已充分符合新穎性及進步性之法定發明專利要件,爰依法提出申請,懇請 貴局核准本件發明專利申請案,以勵發明,至感德便。
1‧‧‧GPU運算資源指配系統
11‧‧‧資源預約模組
12‧‧‧資源配發模組
13‧‧‧資源選擇模組
20‧‧‧虛擬機資源池
20a‧‧‧叢集
200‧‧‧主機
201‧‧‧GPU虛擬機
30‧‧‧GPU資源池
300‧‧‧GPU資源
40‧‧‧用戶端

Claims (8)

  1. 一種圖形處理器(Graphics Processing Unit,GPU)運算資源指配系統,應用於一虛擬機資源池及一GPU資源池,該GPU運算資源指配系統係包括:一資源選擇模組,係用以監控該GPU資源池中各GPU資源,以設定或更新對應於各該GPU資源的各主機的資源模式;一資源預約模組,係用以接收來自一用戶端之選擇請求,以根據該虛擬機資源池中各該主機的資源模式查詢出符合該選擇請求的主機,再呼叫該資源選擇模組選取該主機,進而將該GPU資源池中對應於該經選取之主機的GPU資源的狀態設定為已預約;以及一資源配發模組,係用以於該資源預約模組接收到來自該用戶端之一確認請求後,於該GPU資源池中查詢對應該用戶端之已預約GPU資源,以將該已預約GPU資源的狀態設定為已使用,進而輸出根據該經選取之主機及該已使用GPU資源進行供裝之供裝資訊,其中,該資源預約模組於接收來自該用戶端之一服務請求時,在該GPU資源池中查詢出GPU資源最大可用量,俾提出該選擇請求,其中,於該服務請求屬於新申請GPU虛擬機時,該查詢出之GPU資源最大可用量係指該虛擬機資源池中所有主機的GPU資源,而於該服務請求屬於升降級GPU虛擬機時,所查詢出之GPU資源最大可用量係指要升級的GPU虛擬機之目標主機的GPU資源。
  2. 如申請專利範圍第1項所述之圖形處理器運算資源指配系統,其中,於一預定時間內該資源預約模組未接收到來自該用戶端之確認 請求時,該資源預約模組將該已預約GPU資源的狀態從已預約修改回未使用,而於該預定時間後該資源預約模組才接收到該確認請求時,該資源預約模組再次根據該虛擬機資源池中各主機的資源模式查詢出符合該選擇請求的主機以呼叫該資源選擇模組選取該主機。
  3. 一種圖形處理器(Graphics Processing Unit,GPU)運算資源指配系統,應用於一虛擬機資源池及一GPU資源池,該GPU運算資源指配系統係包括:一資源選擇模組,係用以監控該GPU資源池中各GPU資源,以設定或更新對應於各該GPU資源的各主機的資源模式;一資源預約模組,係用以接收來自一用戶端之選擇請求,以根據該虛擬機資源池中各該主機的資源模式查詢出符合該選擇請求的主機,再呼叫該資源選擇模組選取該主機,進而將該GPU資源池中對應於該經選取之主機的GPU資源的狀態設定為已預約;以及一資源配發模組,係用以於該資源預約模組接收到來自該用戶端之一確認請求後,於該GPU資源池中查詢對應該用戶端之已預約GPU資源,以將該已預約GPU資源的狀態設定為已使用,進而輸出根據該經選取之主機及該已使用GPU資源進行供裝之供裝資訊,其中,該資源選擇模組將具有小於或等於一預定門檻值的GPU使用率之主機的資源模式設定為最大優先模式,將具有大於該預定門檻值的GPU使用率且仍存在可用資源之主機的資源模式設定為最小優先模式,將具有大於該預定門檻值的GPU使用率但不存在該可用資源之主機的資源模式設定為無模式。
  4. 如申請專利範圍第3項所述之圖形處理器運算資源指配系統,其中,若具有該最大優先模式的主機之數量大於零,則該資源選擇模組從具有該最大優先模式的主機中選取具有GPU資源最大可用量且符合該選擇請求之主機;若具有該最大優先模式的主機之數量大於零但具有該GPU資源最大可用量的主機不符合該選擇請求,則該資源選擇模組從具有該最小優先模式的主機中選取具有GPU資源最小可用量且符合該選擇請求的主機;若具有該最大優先模式的主機之數量不大於零而具有該最小優先模式的主機之數量大於零,則該資源選擇模組從具有該最小優先模式的主機中選取具有該GPU資源最小可用量且符合該選擇請求之主機;及若具有該最大優先模式的主機之數量不大於零而具有該最小優先模式的主機之數量大於零但具有該GPU資源最小可用量的主機不符合該選擇請求,則剔除具有該GPU資源最小可用量但不符合該選擇請求之主機,再重新至具有該最小優先模式的主機中進行選取。
  5. 一種圖形處理器(Graphics Processing Unit,GPU)運算資源指配方法,係包括:接收來自用戶端之一服務請求,以於GPU資源池中查詢出GPU資源最大可用量,俾提出選擇請求;接收來自該用戶端之該選擇請求,根據一虛擬機資源池中各主機的資源模式查詢出符合該選擇請求的主機以選取該主機,進而將該GPU資源池中對應該經選取之主機的GPU資源的狀態設定為已預約; 於接收來自該用戶端一確認請求後,於該GPU資源池中查詢對應該用戶端之已預約GPU資源,以將該已預約GPU資源的狀態設定為已使用;以及輸出根據該經選取之主機及該已使用GPU資源進行供裝之供裝資訊;其中,於該服務請求屬於新申請GPU虛擬機時,該查詢出之GPU資源最大可用量係指該虛擬機資源池中所有主機的GPU資源,而於該服務請求屬於升降級GPU虛擬機時,所查詢出之GPU資源最大可用量係指要升級的GPU虛擬機之目標主機的GPU資源。
  6. 如申請專利範圍第5項所述之圖形處理器運算資源指配方法,其中,若於一預定時間內未接收到來自該用戶端之確認請求時,將該已預約GPU資源的狀態從已預約修改回未使用,而若於該預定時間後才接收到來自該確認請求時,再次根據該虛擬機資源池中各主機的資源模式查詢出符合該選擇請求的主機以選取該主機。
  7. 一種圖形處理器(Graphics Processing Unit,GPU)運算資源指配方法,係包括:監控GPU資源池中各GPU資源,以設定或更新對應於各該GPU資源的各主機之資源模式;接收來自用戶端之一選擇請求,根據一虛擬機資源池中各主機的資源模式查詢出符合該選擇請求的主機以選取該主機,進而將該GPU資源池中對應該經選取之主機的GPU資源的狀態設定為已預約; 於接收來自該用戶端一確認請求後,於該GPU資源池中查詢對應該用戶端之已預約GPU資源,以將該已預約GPU資源的狀態設定為已使用;以及輸出根據該經選取之主機及該已使用GPU資源進行供裝之供裝資訊;其中,將具有小於或等於一預定門檻值的GPU使用率之主機的資源模式設定最大優先模式,將具有大於該預定門檻值的GPU使用率且仍存在可用資源之主機的資源模式設定為最小優先模式,將具有大於該預定門檻值得GPU使用率但不存在該可用資源之主機的資源模式設定為無模式。
  8. 如申請專利範圍第7項所述之圖形處理器運算資源指配方法,其中,若具有該最大優先模式的主機之數量大於零,則具有該最大優先模式的主機中具有GPU資源最大可用量且滿足該選擇請求之主機被選取;若具有該最大優先模式的主機之數量大於零但具有該GPU資源最大可用量的主機不符合該選擇請求,則具有該最小優先模式的主機中具有GPU資源最小可用量且符合該選擇請求的主機被選取;若具有該最大優先模式的主機之數量不大於零而具有該最小優先模式的主機之數量大於零,則具有該最小優先模式的主機中具有該GPU資源最小可用量且符合該選擇請求之主機被選取;及若具有該最大優先模式的主機之數量不大於零而具有該最小優先模式的主機之數量大於零但具有該GPU資源最小可用量的主機不符合該選擇請求,則具有該GPU資源最小可用量但不符合該選擇請求之主機被剔除,再重新至具有該最小優先模式的主機中進行選取。
TW108145521A 2019-12-12 2019-12-12 一種gpu運算資源指配系統及其方法 TWI739235B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108145521A TWI739235B (zh) 2019-12-12 2019-12-12 一種gpu運算資源指配系統及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108145521A TWI739235B (zh) 2019-12-12 2019-12-12 一種gpu運算資源指配系統及其方法

Publications (2)

Publication Number Publication Date
TW202123004A TW202123004A (zh) 2021-06-16
TWI739235B true TWI739235B (zh) 2021-09-11

Family

ID=77516822

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108145521A TWI739235B (zh) 2019-12-12 2019-12-12 一種gpu運算資源指配系統及其方法

Country Status (1)

Country Link
TW (1) TWI739235B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230031245A1 (en) * 2021-07-23 2023-02-02 Teradici Co. Encoder changes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI598740B (zh) * 2016-08-10 2017-09-11 創義達科技股份有限公司 設備分配控制器以及設備分配方法
CN107688495A (zh) * 2017-06-22 2018-02-13 平安科技(深圳)有限公司 调度处理器的方法及设备
US20190102212A1 (en) * 2017-10-03 2019-04-04 Vmware, Inc. Platform independent gpu profiles for more efficient utilization of gpu resources
US20190197655A1 (en) * 2017-04-14 2019-06-27 EMC IP Holding Company LLC Managing access to a resource pool of graphics processing units under fine grain control
CN110503593A (zh) * 2018-05-18 2019-11-26 微软技术许可有限责任公司 多个图形处理单元的调度

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI598740B (zh) * 2016-08-10 2017-09-11 創義達科技股份有限公司 設備分配控制器以及設備分配方法
US20190197655A1 (en) * 2017-04-14 2019-06-27 EMC IP Holding Company LLC Managing access to a resource pool of graphics processing units under fine grain control
CN107688495A (zh) * 2017-06-22 2018-02-13 平安科技(深圳)有限公司 调度处理器的方法及设备
US20190102212A1 (en) * 2017-10-03 2019-04-04 Vmware, Inc. Platform independent gpu profiles for more efficient utilization of gpu resources
CN110503593A (zh) * 2018-05-18 2019-11-26 微软技术许可有限责任公司 多个图形处理单元的调度

Also Published As

Publication number Publication date
TW202123004A (zh) 2021-06-16

Similar Documents

Publication Publication Date Title
US11003502B2 (en) Resource manager for managing the sharing of resources among multiple workloads in a distributed computing environment
CN107357661B (zh) 一种针对混合负载的细粒度gpu资源管理方法
CN108234581B (zh) 一种资源的调度方法和服务器
CN111966500B (zh) 资源调度方法、装置、电子设备及存储介质
US9218213B2 (en) Dynamic placement of heterogeneous workloads
US7516294B2 (en) Logical partitioning method for storage system
WO2019091387A1 (en) Method and system for provisioning resources in cloud computing
KR20130088512A (ko) 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법
CN110597639B (zh) Cpu分配控制方法、装置、服务器及存储介质
JP2009169672A (ja) 資源割当てシステム、資源割当て方法及びプログラム
WO2010087850A1 (en) System and method for integrating capacity planning and workload management
CN112269641A (zh) 一种调度方法、装置、电子设备及存储介质
CN106034153B (zh) 带宽资源分配方法、数据传输方法、装置及***
CN108123980A (zh) 一种资源调度方法及***
CN106712998A (zh) 一种云平台资源管理方法、装置及***
US20190014059A1 (en) Systems and methods for allocating computing resources in distributed computing
EP2011286A2 (en) Broadband access network capacity management
CN114356543A (zh) 一种基于Kubernetes的多租户机器学习任务资源调度方法
CN107291536A (zh) 一种云计算环境下应用任务流调度方法
CN113467939A (zh) 一种容量管理方法、装置、平台和存储介质
TWI739235B (zh) 一種gpu運算資源指配系統及其方法
JP5790758B2 (ja) スケジューリング方法およびスケジューリングシステム
CN113010309B (zh) 集群资源调度方法、装置、存储介质、设备和程序产品
CN111352735A (zh) 数据加速方法、装置、存储介质及设备
CN111240824A (zh) 一种cpu资源调度方法及电子设备