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