本發(fā)明涉及彈性訓練調(diào)度,尤其涉及一種彈性調(diào)度方法、裝置、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、隨著人工智能技術(shù)的快速發(fā)展,越來越多公司在各自業(yè)務中引入了大量的深度學習模型來處理海量數(shù)據(jù),而深度學習模型在上線之前都需要進行訓練,為此,許多使用深度學習算法的公司都會搭建專門的集群資源用于模型訓練。而集群資源會由于用戶使用的多少存在高峰期和低峰期。在高峰期時,資源可能出現(xiàn)不足,用戶提交的訓練任務需要根據(jù)優(yōu)先級進行有序地排隊調(diào)度,而在低峰期時,集群資源則會出現(xiàn)空余,從而造成資源浪費。
技術(shù)實現(xiàn)思路
1、本發(fā)明的主要目的在于提供一種彈性調(diào)度方法、裝置、設(shè)備及存儲介質(zhì),旨在解決在模型訓練過程中如何提升集群資源利用率的技術(shù)問題。
2、本發(fā)明第一方面提供了一種彈性調(diào)度方法,所述彈性調(diào)度方法包括:
3、監(jiān)測當前集群中各任務節(jié)點對應的任務隊列是否為空;
4、若當前存在空任務隊列,則基于預置擴容策略,制定彈性任務節(jié)點對應的擴容方案并進行集群資源調(diào)度;
5、若當前存在非空任務隊列,則判斷當前非空任務隊列對應集群資源是否滿足當前非空任務隊列;
6、若當前非空任務隊列對應集群資源不滿足當前非空任務隊列,則基于預置縮容策略,制定彈性任務節(jié)點對應的縮容方案并進行集群資源調(diào)度。
7、可選的,在本發(fā)明第一方面的第一種實現(xiàn)方式中,所述若當前存在空任務隊列,則基于預置擴容策略,制定彈性任務節(jié)點對應的擴容方案并進行集群資源調(diào)度包括:
8、若當前存在空任務隊列,則采用訓練好的預測模型對空任務隊列對應的任務節(jié)點進行空閑資源預測,得到當前集群中的空閑資源;
9、基于當前集群中的空閑資源,對彈性任務節(jié)點進行擴容測算,得到多個擴容方案;
10、分別對各擴容方案進行評分,并將評分最高的擴容方案作為彈性任務節(jié)點采用的擴容方案;
11、基于最終選定的擴容方案,對待擴容的彈性任務節(jié)點進行集群資源調(diào)度。
12、可選的,在本發(fā)明第一方面的第二種實現(xiàn)方式中,所述預測模型包括cpu預測模型、內(nèi)存預測模型和gpu預測模型,所述預測模型采用以下訓練方式得到:
13、獲取集群中各任務節(jié)點不同類型歷史資源的監(jiān)控數(shù)據(jù);
14、依次選定預置時長內(nèi)的各目標時間點,分別對各目標時間點往前n天的監(jiān)控數(shù)據(jù)進行分鐘級聚合,得到第一長度的時間序列并作為對應預測模型的模型輸入訓練數(shù)據(jù);
15、依次選定預置時長內(nèi)的各目標時間點,分別對各目標時間點往后m天的監(jiān)控數(shù)據(jù)進行分鐘級聚合,得到第二長度的時間序列并作為對應預測模型的模型輸出訓練數(shù)據(jù);
16、基于各類型的模型輸入訓練數(shù)據(jù)、模型輸出訓練數(shù)據(jù)以及預置損失函數(shù),分別對不同類型的預測模型進行訓練,得到集群中各任務節(jié)點訓練好的不同類型預測模型。
17、可選的,在本發(fā)明第一方面的第三種實現(xiàn)方式中,所述基于當前集群中的空閑資源,對彈性任務節(jié)點進行擴容測算,得到多個擴容方案包括:
18、獲取彈性任務節(jié)點進行單副本訓練時使用的資源量;
19、以所述單副本使用的資源量為擴容基準量,基于當前集群中的空閑資源,對彈性任務節(jié)點進行擴容測算,得到多個擴容方案;
20、其中,各所述擴容方案包含擴容使用的資源量與擴容運行時長,且所述擴容運行時長超過彈性任務節(jié)點的任務調(diào)度周期。
21、可選的,在本發(fā)明第一方面的第四種實現(xiàn)方式中,所述分別對各擴容方案進行評分,并將評分最高的擴容方案作為彈性任務節(jié)點采用的擴容方案包括:
22、基于各所述擴容方案中擴容使用的資源量與擴容運行時長,計算各擴容方案的評分,并將評分最高的擴容方案作為彈性任務節(jié)點采用的擴容方案;
23、其中,評分公式為:s=f*t,s表示評分值,f表示擴容使用的資源量,t表示擴容運行時長。
24、可選的,在本發(fā)明第一方面的第五種實現(xiàn)方式中,所述若當前存在非空任務隊列,則判斷當前集群資源是否滿足當前非空任務隊列包括:
25、若當前存在非空任務隊列,則統(tǒng)計當前非空任務隊列對應集群資源的可用資源量與當前非空隊列中待調(diào)度任務所需資源量;
26、若當前非空任務隊列對應集群資源的可用資源量大于或等于當前非空隊列中待調(diào)度任務所需資源量,則確定當前集群資源滿足當前非空任務隊列;
27、若當前非空任務隊列對應集群資源的可用資源量小于當前非空隊列中待調(diào)度任務所需資源量,則確定當前集群資源不滿足當前非空任務隊列。
28、可選的,在本發(fā)明第一方面的第六種實現(xiàn)方式中,所述若當前非空任務隊列對應集群資源不滿足當前非空任務隊列,則基于預置縮容策略,制定彈性任務節(jié)點對應的縮容方案并進行集群資源調(diào)度包括:
29、若當前非空任務隊列對應集群資源不滿足當前非空任務隊列,則統(tǒng)計當前彈性任務節(jié)點可供縮容的資源量是否大于當前非空隊列中待調(diào)度任務所需資源量;
30、若當前彈性任務節(jié)點可供縮容的資源量大于當前非空隊列中待調(diào)度任務所需資源量,則基于當前非空隊列中待調(diào)度任務所需資源量,對適配的彈性任務節(jié)點進行縮容測算,得到縮容方案;
31、基于所述縮容方案,對待縮容的彈性任務節(jié)點進行集群資源調(diào)度。
32、本發(fā)明第二方面提供一種彈性調(diào)度裝置,所述彈性調(diào)度裝置包括:
33、監(jiān)測模塊,用于監(jiān)測當前集群中各任務節(jié)點對應的任務隊列是否為空;
34、擴容模塊,用于若當前存在空任務隊列,則基于預置擴容策略,制定彈性任務節(jié)點對應的擴容方案并進行集群資源調(diào)度;
35、判斷模塊,用于若當前存在非空任務隊列,則判斷當前非空任務隊列對應集群資源是否滿足當前非空任務隊列;
36、縮容模塊,用于若當前非空任務隊列對應集群資源不滿足當前非空任務隊列,則基于預置縮容策略,制定彈性任務節(jié)點對應的縮容方案并進行集群資源調(diào)度。
37、可選的,在本發(fā)明第二方面的第一種實現(xiàn)方式中,所述擴容模塊包括:
38、預測單元,用于若當前存在空任務隊列,則采用訓練好的預測模型對空任務隊列對應的任務節(jié)點進行空閑資源預測,得到當前集群中的空閑資源;
39、擴容測算單元,用于基于當前集群中的空閑資源,對彈性任務節(jié)點進行擴容測算,得到多個擴容方案;
40、評分單元,用于分別對各擴容方案進行評分,并將評分最高的擴容方案作為彈性任務節(jié)點采用的擴容方案;
41、擴容調(diào)度單元,用于基于最終選定的擴容方案,對待擴容的彈性任務節(jié)點進行集群資源調(diào)度。
42、可選的,在本發(fā)明第二方面的第二種實現(xiàn)方式中,所述預測模型包括cpu預測模型、內(nèi)存預測模型和gpu預測模型,所述彈性調(diào)度裝置還包括:
43、訓練模塊,用于獲取集群中各任務節(jié)點不同類型歷史資源的監(jiān)控數(shù)據(jù);
44、依次選定預置時長內(nèi)的各目標時間點,分別對各目標時間點往前n天的監(jiān)控數(shù)據(jù)進行分鐘級聚合,得到第一長度的時間序列并作為對應預測模型的模型輸入訓練數(shù)據(jù);依次選定預置時長內(nèi)的各目標時間點,分別對各目標時間點往后m天的監(jiān)控數(shù)據(jù)進行分鐘級聚合,得到第二長度的時間序列并作為對應預測模型的模型輸出訓練數(shù)據(jù);基于各類型的模型輸入訓練數(shù)據(jù)、模型輸出訓練數(shù)據(jù)以及預置損失函數(shù),分別對不同類型的預測模型進行訓練,得到集群中各任務節(jié)點訓練好的不同類型預測模型。
45、可選的,在本發(fā)明第二方面的第三種實現(xiàn)方式中,所述測算單元具體用于:
46、獲取彈性任務節(jié)點進行單副本訓練時使用的資源量;
47、以所述單副本使用的資源量為擴容基準量,基于當前集群中的空閑資源,對彈性任務節(jié)點進行擴容測算,得到多個擴容方案;
48、其中,各所述擴容方案包含擴容使用的資源量與擴容運行時長,且所述擴容運行時長超過彈性任務節(jié)點的任務調(diào)度周期。
49、可選的,在本發(fā)明第二方面的第四種實現(xiàn)方式中,所述評分單元具體用于:
50、基于各所述擴容方案中擴容使用的資源量與擴容運行時長,計算各擴容方案的評分,并將評分最高的擴容方案作為彈性任務節(jié)點采用的擴容方案;
51、其中,評分公式為:s=f*t,s表示評分值,f表示擴容使用的資源量,t表示擴容運行時長。
52、可選的,在本發(fā)明第二方面的第五種實現(xiàn)方式中,所述判斷模塊具體用于:
53、若當前存在非空任務隊列,則統(tǒng)計當前非空任務隊列對應集群資源的可用資源量與當前非空隊列中待調(diào)度任務所需資源量;
54、若當前非空任務隊列對應集群資源的可用資源量大于或等于當前非空隊列中待調(diào)度任務所需資源量,則確定當前集群資源滿足當前非空任務隊列;
55、若當前非空任務隊列對應集群資源的可用資源量小于當前非空隊列中待調(diào)度任務所需資源量,則確定當前集群資源不滿足當前非空任務隊列。
56、可選的,在本發(fā)明第二方面的第六種實現(xiàn)方式中,所述縮容模塊包括:
57、統(tǒng)計單元,用于若當前非空任務隊列對應集群資源不滿足當前非空任務隊列,則統(tǒng)計當前彈性任務節(jié)點可供縮容的資源量是否大于當前非空隊列中待調(diào)度任務所需資源量;
58、縮容測算單元,用于若當前彈性任務節(jié)點可供縮容的資源量大于當前非空隊列中待調(diào)度任務所需資源量,則基于當前非空隊列中待調(diào)度任務所需資源量,對適配的彈性任務節(jié)點進行縮容測算,得到縮容方案;
59、縮容調(diào)度單元,用于基于所述縮容方案,對待縮容的彈性任務節(jié)點進行集群資源調(diào)度。
60、本發(fā)明第三方面提供了一種計算機設(shè)備,包括:存儲器和至少一個處理器,所述存儲器中存儲有指令;所述至少一個處理器調(diào)用所述存儲器中的所述指令,以使得所述計算機設(shè)備執(zhí)行上述的彈性調(diào)度方法。
61、本發(fā)明的第四方面提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有指令,當其在計算機上運行時,使得計算機執(zhí)行上述的彈性調(diào)度方法。
62、本發(fā)明提供一種彈性調(diào)度方法、裝置、設(shè)備及存儲介質(zhì),首先對當前集群中各任務節(jié)點進行實時監(jiān)測,從而及時發(fā)現(xiàn)空任務隊列,空任務隊列說明對應集群節(jié)點存在空閑資源,可用于彈性任務節(jié)點擴容,因此基于預置擴容策略,制定彈性任務節(jié)點對應的擴容方案,然后進行集群資源調(diào)度,從而提升集群資源利用率。此外,為避免彈性任務節(jié)點對擴容資源的占用而影響到非彈性訓練任務,因此當集群存在非空任務隊列且當前集群資源不滿足當前非空任務隊列時,可對彈性任務節(jié)點進行縮容,制定彈性任務節(jié)點對應的縮容方案,并將縮容產(chǎn)生的集群資源用于非彈性訓練任務。本發(fā)明能夠根據(jù)集群資源量的空閑情況,智能調(diào)整彈性訓練任務的資源量,從而更靈活地利用當前集群資源,提升集群資源利用率。