System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于gpu調度的,具體涉及一種支持異構作業規模的gpu共享調度方法及裝置。
技術介紹
1、近年來,隨著深度學習(dl)技術的迅猛發展,其已被廣泛應用至圖像分類、推薦系統等眾多領域。為了進一步提升深度學習模型的能力,諸多信息技術企業和研究機構投入大量資源構建了廣泛的深度學習基礎設施。特別是大規模語言模型(llms)的興起,極大地推動了對gpu計算能力的需求,這也促使集群調度器在優化資源分配及協調各類深度學習任務方面發揮著關鍵作用。
2、根據公開的集群數據記錄,單gpu與多gpu工作負載之間存在著明顯的資源爭奪情況。盡管工作負載涵蓋了單gpu與多gpu任務,但大多數訓練作業傾向于使用單一gpu執行。相反地,雖然多gpu作業的數量較少,但它們通常需要更長的時間來完成。現行的調度機制常常優先考慮多gpu任務,這一做法經常會導致單gpu作業的資源獲取受限,從而引發資源分配的失衡。
3、一種可能的緩解方案是實現多個深度學習作業在同一gpu上的共享運行。不過,當前的方法在處理多gpu與單gpu作業間的資源競爭時顯得力不從心,特別是在如何有效地在不同gpu需求的任務間實現資源共享上存在不足。此外,現有方法還過度依賴于基于經驗的打包策略,而這種策略在面對復雜的工作負載干擾模式時顯得捉襟見肘。因此,在支持gpu共享的環境中同時調度多gpu與單gpu作業是一項具有挑戰性的任務,且當前的調度器在這方面表現不佳,導致整個系統的性能和效率未能達到最優狀態。
技術實現思路
1、
2、為了達到上述目的,本專利技術采用以下技術方案:
3、第一方面,本專利技術提供了一種支持異構作業規模的gpu共享調度方法,包括下述步驟:
4、對新提交的作業進行干擾畫像分析,得到作業的干擾特征表示并加入到作業隊列中;
5、采集集群運行時信息和作業信息,包括集群可用gpu數、作業總請求的gpu數、作業隊列和作業搶占次數;
6、根據集群可用gpu數、作業總請求的gpu數和作業隊列信息確定作業調度間隔;
7、基于作業運行時信息,更新作業優先級并通過最大共享效率優先方法對作業排序;
8、對作業隊列中的作業進行遍歷,確定待運行作業和待搶占作業;所述待運行作業是根據優先級排序后有足夠資源放置的作業,所述待搶占作業是根據優先級排序后沒有足夠資源放置的作業;
9、調用最佳打包策略和作業共置的干擾預測模型確定待運行作業的放置位置;
10、放置作業并更新集群狀態;
11、監控新作業提交情況和更新調度間隔,若有新作業提交則跳轉到對新提交的作業進行干擾畫像分析,否則跳轉到確定作業調度間隔的步驟。
12、作為優選的技術方案,所述對新提交的作業進行干擾畫像分析,得到作業的干擾特征表示并加入到作業隊列中,具體為:
13、將作業j獨占分配至指定的gpu資源上運行,采集作業j獨占運行時的吞吐量;
14、將作業j依次與每一個基準作業共置,則得到作業j分別與n個基準作業共置后的吞吐量;
15、采集共置后的吞吐量,并對作業j進行特征表示,所述特征表示包括作業j的干擾敏感度特征和作業j的影響能力特征;所述作業j的干擾敏感度特征為作業j被其他作業影響的程度,所述作業j的影響能力特征為作業j對其他負載的影響程度。
16、作為優選的技術方案,所述采集集群運行時信息和作業信息,具體為:
17、通過調度框架volcano采集集群運行時信息和作業信息,具體是調用opensession函數中的api接口,包括jobinfo、nodeinfo、queueinfo得到集群運行時的可用gpu數、請求的gpu數、作業隊列信息和作業搶占次數。
18、作為優選的技術方案,所述確定作業調度間隔具體為:
19、定義tcgt為t時刻集群總的gpu數,trgt為t時刻隊列中總的gpu請求數,t時刻調度間隔sit的計算方式如下,其中m1和m2分別代表資源請求在一個節點內和一個節點外作業的搶占開銷:
20、
21、作為優選的技術方案,所述最大共享效率優先方法中t時刻作業j的優先級計算方式如下:
22、
23、其中gt是當前調度器分配給作業j的gpu數,ct是與作業j共置的作業數,ckpt是作業j總的搶占次數。
24、作為優選的技術方案,所述最佳打包策略具體為:
25、
26、其中v1和v2代表兩個作業打包后各自的歸一化吞吐量。
27、作為優選的技術方案,所述作業共置的干擾預測模型包括四個歸一化吞吐量預測模型,這些預測模型基于隨機森林訓練得來,分別是:
28、sgcm模型:預測兩個單gpu作業打包后兩個作業各自的歸一化吞吐量,被訓練來學習函數γsgcm=φsgcm(f1,f2),其中表示第j個單gpu作業的特征,表示兩個單gpu作業打包后各自的歸一化吞吐量預測值;
29、dtcm模型:預測兩個相同資源需求的多gpu作業打包后各自的歸一化吞吐量,被訓練學習γdtcm=φdtcm(f1,f2),其中表示第j個多gpu作業的特征,表示兩個多gpu作業打包后各自的歸一化吞吐量預測值;
30、dtspm模型:預測多gpu作業和多個單gpu作業打包后多gpu作業的歸一化吞吐量,被訓練來學習函數其中f1代表多gpu作業的特征,是所有單gpu作業特征的平均值,α表示多gpu作業的資源數,β表示單gpu作業的數量,表示多gpu作業與多個單gpu作業打包后歸一化吞吐量的預測值;
31、sgspm模型:預測多gpu作業和多個單gpu作業打包后單gpu作業的歸一化吞吐量,被訓練來學習函數γsgspm=φsgspm(f1,f2),其中f1,f2,分別代表多gpu作業和單gpu作業的特征,表示單gpu作業打包后歸一化吞吐量的預測值。
32、第二方面,本專利技術提供了一種支持異構作業規模的gpu共享調度系統,應用于所述的支持異構作業規模的gpu共享調度方法,包括干擾畫像分析模塊、信息采集模塊、調度間隔確定模塊、作業排序模塊、作業確定模塊、作業位置確定模塊、作業放置模塊以及監控更新模塊;
33、所述干擾畫像分析模塊,用于對新提交的作業進行干擾畫像分析,得到作業的干擾特征表示并加入到作業隊列中;
34、所述信息采集模塊,用于采集集群運行時信息和作業信息,包括集群可用gpu數、作業總請求的gpu數、作業隊列和作業搶占次數;
35、所述調度間隔確定模塊,用于根據集群可用gpu數、作業總請求的gpu數和作業隊列信息確定作業調度間隔;
36、所述作業排序模塊,用于基于作業運行時本文檔來自技高網...
【技術保護點】
1.支持異構作業規模的GPU共享調度方法,其特征在于,包括下述步驟:
2.根據權利要求1所述支持異構作業規模的GPU共享調度方法,其特征在于,所述對新提交的作業進行干擾畫像分析,得到作業的干擾特征表示并加入到作業隊列中,具體為:
3.根據權利要求1所述支持異構作業規模的GPU共享調度方法,其特征在于,所述采集集群運行時信息和作業信息,具體為:
4.根據權利要求1所述支持異構作業規模的GPU共享調度方法,其特征在于,所述確定作業調度間隔具體為:
5.根據權利要求1所述支持異構作業規模的GPU共享調度方法,其特征在于,所述最大共享效率優先方法中t時刻作業j的優先級計算方式如下:
6.根據權利要求1所述支持異構作業規模的GPU共享調度方法,其特征在于,所述最佳打包策略具體為:
7.根據權利要求1所述支持異構作業規模的GPU共享調度方法,其特征在于,所述作業共置的干擾預測模型包括四個歸一化吞吐量預測模型,這些預測模型基于隨機森林訓練得來,分別是:
8.支持異構作業規模的GPU共享調度系統,其特征在于,應用
9.一種電子設備,其特征在于,所述電子設備包括:
10.一種計算機可讀存儲介質,存儲有程序,其特征在于,所述程序被處理器執行時,實現權利要求1-7任一項所述的支持異構作業規模的GPU共享調度方法。
...【技術特征摘要】
1.支持異構作業規模的gpu共享調度方法,其特征在于,包括下述步驟:
2.根據權利要求1所述支持異構作業規模的gpu共享調度方法,其特征在于,所述對新提交的作業進行干擾畫像分析,得到作業的干擾特征表示并加入到作業隊列中,具體為:
3.根據權利要求1所述支持異構作業規模的gpu共享調度方法,其特征在于,所述采集集群運行時信息和作業信息,具體為:
4.根據權利要求1所述支持異構作業規模的gpu共享調度方法,其特征在于,所述確定作業調度間隔具體為:
5.根據權利要求1所述支持異構作業規模的gpu共享調度方法,其特征在于,所述最大共享效率優先方法中t時刻作業j的優先級計算方式如下:
6.根據權利要求1所述支持異構作業規模的gpu共享調度方法,其特征...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。