本申請(qǐng)涉及任務(wù)調(diào)度,尤其涉及一種基于k8s的cpu與npu算力分布調(diào)度系統(tǒng)。
背景技術(shù):
1、在現(xiàn)代云計(jì)算和邊緣計(jì)算環(huán)境中,k8s(kubernetes,容器編排引擎)已成為容器化應(yīng)用的首選編排平臺(tái)。然而,隨著深度學(xué)習(xí)和高性能計(jì)算的廣泛應(yīng)用,npu(neuralprocessing?unit,神經(jīng)處理單元)逐漸成為異構(gòu)算力環(huán)境中的重要組成部分?,F(xiàn)有的k8s調(diào)度框架主要面向cpu(central?processing?unit,中央處理器)和內(nèi)存資源,缺乏對(duì)npu的支持。且針對(duì)異構(gòu)算力環(huán)境的任務(wù)分配,多數(shù)方法采用靜態(tài)規(guī)則或單一目標(biāo)優(yōu)化,難以動(dòng)態(tài)適應(yīng)資源利用率和算力需求變化,導(dǎo)致資源浪費(fèi)和任務(wù)性能下降。盡管已有一些研究嘗試改進(jìn)異構(gòu)資源的分配策略,但這些方法多以硬件層面的協(xié)同優(yōu)化為主。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)?zhí)峁┝艘环N基于k8s的cpu與npu算力分布調(diào)度系統(tǒng),以至少解決現(xiàn)有技術(shù)中存在的以上技術(shù)問題。
2、根據(jù)本申請(qǐng)的第一方面,提供了一種基于k8s的cpu與npu算力分布調(diào)度系統(tǒng),所述系統(tǒng)包括k8s集群和調(diào)度優(yōu)化模塊,所述k8s集群包括一個(gè)主節(jié)點(diǎn)、多個(gè)工作節(jié)點(diǎn)以及任務(wù)特性分析模塊,每個(gè)工作節(jié)點(diǎn)包括至少一個(gè)cpu和至少一個(gè)npu且部署有一個(gè)動(dòng)態(tài)算力感知模塊,每個(gè)動(dòng)態(tài)算力感知模塊均與調(diào)度優(yōu)化模塊連接;
3、所述主節(jié)點(diǎn)用于接收用戶提交的任務(wù);
4、所述任務(wù)特性分析模塊用于獲取任務(wù)的任務(wù)特性,并將任務(wù)和任務(wù)特性發(fā)送至調(diào)度優(yōu)化模塊;
5、所述動(dòng)態(tài)算力感知模塊用于監(jiān)測(cè)對(duì)應(yīng)工作節(jié)點(diǎn)的實(shí)時(shí)資源狀態(tài),所述實(shí)時(shí)資源狀態(tài)包括cpu資源狀態(tài)、npu資源狀態(tài)和內(nèi)存資源狀態(tài);
6、所述調(diào)度優(yōu)化模塊用于接收所述任務(wù)特性分析模塊發(fā)送的任務(wù)和任務(wù)特性,根據(jù)分布式優(yōu)化算法、任務(wù)特性、節(jié)點(diǎn)算力模型以及每個(gè)節(jié)點(diǎn)的實(shí)時(shí)資源狀態(tài),確定任務(wù)的調(diào)度方案,并將所述調(diào)度方案發(fā)送至所述主節(jié)點(diǎn),所述調(diào)度方案包括任務(wù)的工作節(jié)點(diǎn)、cpu核心數(shù)和npu數(shù)量;
7、所述主節(jié)點(diǎn)還用于根據(jù)所述調(diào)度方案,對(duì)任務(wù)進(jìn)行調(diào)度。
8、根據(jù)本申請(qǐng)一實(shí)施方式,根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述任務(wù)特性包括任務(wù)類型、計(jì)算資源需求、時(shí)延要求、優(yōu)先級(jí)、依賴關(guān)系和數(shù)據(jù)位置;
9、其中,計(jì)算資源需求包括cpu、npu、內(nèi)存以及存儲(chǔ)的需求大小。
10、根據(jù)本申請(qǐng)一實(shí)施方式,所述節(jié)點(diǎn)算力模型包括資源利用率模型、資源性能模型、能耗模型和算力均衡模型。
11、根據(jù)本申請(qǐng)一實(shí)施方式,根據(jù)分布式優(yōu)化算法、任務(wù)特性、節(jié)點(diǎn)算力模型以及每個(gè)節(jié)點(diǎn)的實(shí)時(shí)資源狀態(tài),確定任務(wù)的調(diào)度方案,包括:
12、基于每個(gè)動(dòng)態(tài)算力感知模塊獲取每個(gè)工作節(jié)點(diǎn)的實(shí)時(shí)資源狀態(tài);
13、根據(jù)任務(wù)特性示出的計(jì)算資源需求和每個(gè)工作節(jié)點(diǎn)的實(shí)時(shí)資源狀態(tài),從多個(gè)工作節(jié)點(diǎn)中篩選多個(gè)候選工作節(jié)點(diǎn);
14、構(gòu)建任務(wù)的調(diào)度目標(biāo)函數(shù)和約束條件;
15、基于所述多個(gè)候選工作節(jié)點(diǎn)、所述分布式優(yōu)化算法、所述調(diào)度目標(biāo)函數(shù)、所述約束條件和節(jié)點(diǎn)算力模型,確定調(diào)度方案。
16、根據(jù)本申請(qǐng)一實(shí)施方式,所述調(diào)度目標(biāo)函數(shù)為:
17、max(ucpu,unpu)-a·t
18、其中,ucpu和unpu為cpu和npu的利用率,t為時(shí)延,a為權(quán)重因子,所述a用于控制t和(ucpu,unpu)的平衡;
19、所述ucpu和unpu基于節(jié)點(diǎn)算力模型內(nèi)的資源利用率模型預(yù)測(cè)得到;
20、所述t基于節(jié)點(diǎn)算力模型內(nèi)的資源性能模型計(jì)算得到。
21、根據(jù)本申請(qǐng)一實(shí)施方式,所述約束條件包括以下至少之一:
22、工作節(jié)點(diǎn)的利用資源不超過節(jié)點(diǎn)限制資源;
23、任務(wù)時(shí)延不超過時(shí)延要求;
24、任務(wù)分配的工作節(jié)點(diǎn)距離任務(wù)的數(shù)據(jù)位置不超過設(shè)定距離。
25、根據(jù)本申請(qǐng)一實(shí)施方式,所述系統(tǒng)還包括任務(wù)優(yōu)化遷移模塊,所述任務(wù)優(yōu)化遷移模塊用于監(jiān)測(cè)任務(wù)的性能表現(xiàn),并在所述性能表現(xiàn)不符合設(shè)定條件時(shí)將所述任務(wù)從當(dāng)前節(jié)點(diǎn)遷移至其他節(jié)點(diǎn),所述性能表現(xiàn)包括所述任務(wù)在其對(duì)應(yīng)節(jié)點(diǎn)運(yùn)行時(shí)的多個(gè)性能參數(shù)。
26、根據(jù)本申請(qǐng)一實(shí)施方式,所述性能參數(shù)包括任務(wù)執(zhí)行時(shí)延、資源利用率和吞吐量;
27、所述設(shè)定條件為性能參數(shù)低于設(shè)定性能參數(shù)閾值。
28、根據(jù)本申請(qǐng)一實(shí)施方式,所述將所述任務(wù)從當(dāng)前節(jié)點(diǎn)遷移至其他節(jié)點(diǎn),包括:
29、獲取任務(wù)的運(yùn)行狀態(tài)數(shù)據(jù);
30、根據(jù)任務(wù)的運(yùn)行狀態(tài)數(shù)據(jù)、所述分布式優(yōu)化算法、所述任務(wù)特性、所述節(jié)點(diǎn)算力模型以及其他節(jié)點(diǎn)的實(shí)時(shí)資源狀態(tài),確定更新工作節(jié)點(diǎn);
31、將任務(wù)和運(yùn)行狀態(tài)數(shù)據(jù)傳輸至所述更新工作節(jié)點(diǎn)。
32、根據(jù)本申請(qǐng)一實(shí)施方式,所述分布式優(yōu)化算法包括以下之一:遺傳算法、蟻群優(yōu)化算法、粒子群優(yōu)化算法、分布式強(qiáng)化學(xué)習(xí)、啟發(fā)式調(diào)度算法。
33、本申請(qǐng)實(shí)施例一種基于k8s的cpu與npu算力分布調(diào)度系統(tǒng),所述系統(tǒng)包括k8s集群和調(diào)度優(yōu)化模塊,所述k8s集群包括一個(gè)主節(jié)點(diǎn)、多個(gè)工作節(jié)點(diǎn)以及任務(wù)特性分析模塊,每個(gè)工作節(jié)點(diǎn)包括至少一個(gè)cpu和至少一個(gè)npu且部署有一個(gè)動(dòng)態(tài)算力感知模塊,每個(gè)動(dòng)態(tài)算力感知模塊均與調(diào)度優(yōu)化模塊連接;所述主節(jié)點(diǎn)用于接收用戶提交的任務(wù);所述任務(wù)特性分析模塊用于獲取任務(wù)的任務(wù)特性,并將任務(wù)和任務(wù)特性發(fā)送至調(diào)度優(yōu)化模塊;述動(dòng)態(tài)算力感知模塊用于監(jiān)測(cè)對(duì)應(yīng)工作節(jié)點(diǎn)的實(shí)時(shí)資源狀態(tài),所述實(shí)時(shí)資源狀態(tài)包括cpu資源狀態(tài)、npu資源狀態(tài)和內(nèi)存資源狀態(tài);所述調(diào)度優(yōu)化模塊用于接收所述任務(wù)特性分析模塊發(fā)送的任務(wù)和任務(wù)特性,根據(jù)分布式優(yōu)化算法、任務(wù)特性、節(jié)點(diǎn)算力模型以及每個(gè)節(jié)點(diǎn)的實(shí)時(shí)資源狀態(tài),確定任務(wù)的調(diào)度方案,并將所述調(diào)度方案發(fā)送至所述主節(jié)點(diǎn),所述調(diào)度方案包括任務(wù)的工作節(jié)點(diǎn)、cpu核心數(shù)和npu數(shù)量;所述主節(jié)點(diǎn)還用于根據(jù)所述調(diào)度方案,對(duì)任務(wù)進(jìn)行調(diào)度。通過在k8s集群的每個(gè)工作節(jié)點(diǎn)部署動(dòng)態(tài)算力感知模塊,實(shí)時(shí)監(jiān)測(cè)工作節(jié)點(diǎn)內(nèi)cpu和npu的狀態(tài),并與分布式優(yōu)化算法和節(jié)點(diǎn)算力模型結(jié)合實(shí)現(xiàn)對(duì)cpu和npu的動(dòng)態(tài)調(diào)度。在避免硬件改動(dòng)的條件下,實(shí)現(xiàn)了對(duì)npu的支持和在異構(gòu)算力環(huán)境下適應(yīng)資源需求和算力需求的任務(wù)動(dòng)態(tài)調(diào)度。
34、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識(shí)本申請(qǐng)的實(shí)施例的關(guān)鍵或重要特征,也不用于限制本申請(qǐng)的范圍。本申請(qǐng)的其它特征將通過以下的說明書而變得容易理解。
1.一種基于k8s的cpu與npu算力分布調(diào)度系統(tǒng),其特征在于,所述系統(tǒng)包括k8s集群和調(diào)度優(yōu)化模塊,所述k8s集群包括一個(gè)主節(jié)點(diǎn)、多個(gè)工作節(jié)點(diǎn)以及任務(wù)特性分析模塊,每個(gè)工作節(jié)點(diǎn)包括至少一個(gè)cpu和至少一個(gè)npu且部署有一個(gè)動(dòng)態(tài)算力感知模塊,每個(gè)動(dòng)態(tài)算力感知模塊均與調(diào)度優(yōu)化模塊連接;
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述任務(wù)特性包括任務(wù)類型、計(jì)算資源需求、時(shí)延要求、優(yōu)先級(jí)、依賴關(guān)系和數(shù)據(jù)位置;
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)算力模型包括資源利用率模型、資源性能模型、能耗模型和算力均衡模型。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,根據(jù)分布式優(yōu)化算法、任務(wù)特性、節(jié)點(diǎn)算力模型以及每個(gè)節(jié)點(diǎn)的實(shí)時(shí)資源狀態(tài),確定任務(wù)的調(diào)度方案,包括:
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述調(diào)度目標(biāo)函數(shù)為:
6.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述約束條件包括以下至少之一:
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括任務(wù)優(yōu)化遷移模塊,所述任務(wù)優(yōu)化遷移模塊用于監(jiān)測(cè)任務(wù)的性能表現(xiàn),并在所述性能表現(xiàn)不符合設(shè)定條件時(shí)將所述任務(wù)從當(dāng)前節(jié)點(diǎn)遷移至其他節(jié)點(diǎn),所述性能表現(xiàn)包括所述任務(wù)在其對(duì)應(yīng)節(jié)點(diǎn)運(yùn)行時(shí)的多個(gè)性能參數(shù)。
8.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述性能參數(shù)包括任務(wù)執(zhí)行時(shí)延、資源利用率和吞吐量;
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述將所述任務(wù)從當(dāng)前節(jié)點(diǎn)遷移至其他節(jié)點(diǎn),包括:
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分布式優(yōu)化算法包括以下之一:遺傳算法、蟻群優(yōu)化算法、粒子群優(yōu)化算法、分布式強(qiáng)化學(xué)習(xí)、啟發(fā)式調(diào)度算法。