本發(fā)明涉及移動(dòng)邊緣計(jì)算,具體涉及一種基于元強(qiáng)化學(xué)習(xí)的雙決策者任務(wù)卸載方法。
背景技術(shù):
1、移動(dòng)邊緣計(jì)算(multi-access?edge?computing,mec)技術(shù)的快速發(fā)展使得邊緣設(shè)備具備了越來(lái)越多的計(jì)算和存儲(chǔ)能力,從而可以執(zhí)行更多復(fù)雜的任務(wù)。隨著邊緣計(jì)算場(chǎng)景的復(fù)雜化,如何有效地將任務(wù)分配和卸載到不同的邊緣設(shè)備上成為了一個(gè)重要的挑戰(zhàn)。目前的任務(wù)卸載方法主要基于啟發(fā)式或近似算法,但這些解決方案在很大程度上依賴于mec系統(tǒng)的專家知識(shí)或準(zhǔn)確的數(shù)學(xué)模型,每當(dāng)mec系統(tǒng)的環(huán)境發(fā)生變化時(shí),可能需要相應(yīng)地更新專家知識(shí)或數(shù)學(xué)模型。雖然隨后提出的深度強(qiáng)化學(xué)習(xí)(deep?reinforcement?learning,drl)可以通過(guò)反復(fù)試錯(cuò)和調(diào)整模型解決以上復(fù)雜的問(wèn)題,但是drl算法通常需要大量的數(shù)據(jù)和計(jì)算資源來(lái)進(jìn)行訓(xùn)練,而邊緣設(shè)備計(jì)算和存儲(chǔ)資源有限,難以承受drl算法所需的高度計(jì)算密集型的訓(xùn)練過(guò)程,并且drl算法的訓(xùn)練過(guò)程通常需要較長(zhǎng)的時(shí)間,而邊緣計(jì)算環(huán)境可能要求實(shí)時(shí)或近實(shí)時(shí)的決策響應(yīng)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明所要解決的是現(xiàn)有基于強(qiáng)化學(xué)習(xí)的邊緣計(jì)算任務(wù)卸載方法適應(yīng)新環(huán)境較慢的問(wèn)題,提供一種基于元強(qiáng)化學(xué)習(xí)的雙決策者任務(wù)卸載方法。
2、為解決上述問(wèn)題,本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
3、一種基于元強(qiáng)化學(xué)習(xí)的雙決策者任務(wù)卸載方法,包括步驟如下:
4、步驟1、收集用戶任務(wù)信息和設(shè)備狀態(tài)信息;
5、步驟2、構(gòu)建由2個(gè)相對(duì)獨(dú)立的序列到序列模型所組成的基于元強(qiáng)化學(xué)習(xí)的雙決策者卸載模型,其中第一個(gè)序列到序列模型部署在邊緣計(jì)算卸載環(huán)境中的用戶終端上,第二個(gè)序列到序列模型部署在邊緣計(jì)算卸載環(huán)境中的指定邊緣服務(wù)器上;
6、步驟3、基于用戶任務(wù)信息和設(shè)備狀態(tài)信息計(jì)算每個(gè)任務(wù)的預(yù)計(jì)完成時(shí)間,并基于任務(wù)的預(yù)計(jì)完成時(shí)間對(duì)所有任務(wù)進(jìn)行排序,得到任務(wù)嵌入序列;
7、步驟4、初始化第一個(gè)序列到序列模型初始的策略參數(shù)和元參數(shù);
8、步驟5、將任務(wù)嵌入序列輸入到第一個(gè)序列到序列模型中,通過(guò)優(yōu)化第一個(gè)序列到序列模型的策略參數(shù)和元參數(shù),得到任務(wù)嵌入序列所對(duì)應(yīng)的第一卸載決策,其中第一卸載決策包括任務(wù)嵌入序列中的所有任務(wù)的卸載決策,即將該任務(wù)卸載到用戶終端、邊緣服務(wù)器或云服務(wù)器執(zhí)行的決策;
9、步驟6、對(duì)第一卸載決策中各個(gè)任務(wù)的卸載決策進(jìn)行判斷:若該任務(wù)的卸載決策是卸載到本地用戶終端或云服務(wù)器執(zhí)行時(shí),則該任務(wù)無(wú)需進(jìn)一步?jīng)Q策;若該任務(wù)的卸載決策是卸載到邊緣服務(wù)器執(zhí)行時(shí),則該任務(wù)需要進(jìn)一步?jīng)Q策;
10、步驟7、將第一個(gè)序列到序列模型優(yōu)化后的策略參數(shù)和元參數(shù)作為第二個(gè)序列到序列模型初始的策略參數(shù)和元參數(shù)進(jìn)行進(jìn)一步?jīng)Q策;
11、步驟8、將任務(wù)嵌入序列輸入到第二個(gè)序列到序列模型中,通過(guò)優(yōu)化第二個(gè)序列到序列模型的策略參數(shù)和元參數(shù),得到任務(wù)嵌入序列所對(duì)應(yīng)的第二卸載決策,其中第二卸載決策包括任務(wù)嵌入序列中需要進(jìn)一步?jīng)Q策的任務(wù)的卸載決策,即將該任務(wù)卸載到哪一個(gè)邊緣服務(wù)器執(zhí)行的決策;
12、步驟9、將步驟5所得的第一卸載決策和步驟8所得的第二卸載決策作為任務(wù)卸載的決策結(jié)果輸出。
13、上述方案中,用戶任務(wù)信息包括任務(wù)數(shù)據(jù)大小、運(yùn)行該任務(wù)所需資源及任務(wù)之間的依賴關(guān)系;設(shè)備狀態(tài)信息包括設(shè)備即用戶終端、邊緣服務(wù)器和云端服務(wù)器的計(jì)算能力、以及設(shè)備之間的傳輸速率。
14、上述方案中,第i個(gè)任務(wù)的預(yù)計(jì)完成時(shí)間timei為:
15、
16、其中,為第i個(gè)任務(wù)在本地即用戶終端執(zhí)行的預(yù)計(jì)完成時(shí)間,為第i個(gè)任務(wù)在邊緣服務(wù)器執(zhí)行的預(yù)計(jì)完成時(shí)間,為第i個(gè)任務(wù)在云服務(wù)器執(zhí)行的預(yù)計(jì)完成時(shí)間;
17、
18、上述式中:
19、為第i-1個(gè)任務(wù)在用戶終端上開(kāi)始運(yùn)行的時(shí)間,為第i-1個(gè)任務(wù)在用戶終端上結(jié)束運(yùn)行的時(shí)間;
20、為第j個(gè)任務(wù)在用戶終端上結(jié)束的時(shí)間,為第j個(gè)任務(wù)在邊緣服務(wù)器上結(jié)束時(shí)間,為第j個(gè)任務(wù)在云服務(wù)器上結(jié)束的時(shí)間;
21、為發(fā)送第i-1個(gè)任務(wù)到邊緣服務(wù)器的開(kāi)始時(shí)間,發(fā)送第i-1個(gè)任務(wù)到邊緣服務(wù)器的結(jié)束時(shí)間;
22、為邊緣服務(wù)器開(kāi)始處理第i-1個(gè)任務(wù)的時(shí)間,為邊緣服務(wù)器處理完第i-1個(gè)任務(wù)的結(jié)束時(shí)間;
23、為發(fā)送第i個(gè)任務(wù)到邊緣服務(wù)器的結(jié)束時(shí)間,為發(fā)送第j個(gè)任務(wù)到邊緣服務(wù)器的結(jié)束時(shí)間;
24、為發(fā)送第i-1個(gè)任務(wù)到云服務(wù)器的開(kāi)始時(shí)間,為發(fā)送第i-1個(gè)任務(wù)到云服務(wù)器的結(jié)束時(shí)間;
25、為云服務(wù)器開(kāi)始處理第i-1個(gè)任務(wù)的時(shí)間,為云服務(wù)器處理完第i-1個(gè)任務(wù)的結(jié)束時(shí)間;
26、為發(fā)送第i個(gè)任務(wù)到云服務(wù)器的結(jié)束時(shí)間,為發(fā)送第j個(gè)任務(wù)到云服務(wù)器的結(jié)束時(shí)間;
27、fue為用戶終端的計(jì)算能力,fes為邊緣服務(wù)器的計(jì)算能力,fcs為云端服務(wù)器的計(jì)算能力;res為用戶設(shè)備到邊緣服務(wù)器的鏈路傳輸速率,rcs為用戶設(shè)備到云端服務(wù)器的鏈路傳輸速率;ci為第i個(gè)任務(wù)的數(shù)據(jù)大小,vi為運(yùn)行第i個(gè)任務(wù)所需資源;parent(i)為第i個(gè)任務(wù)的父任務(wù),i=1,2,…,n,n為任務(wù)總數(shù)。
28、上述步驟3中,需要將任務(wù)的預(yù)計(jì)完成時(shí)間轉(zhuǎn)換為任務(wù)的權(quán)重來(lái)對(duì)所有任務(wù)進(jìn)行排序,以得到任務(wù)嵌入序列;其中第i個(gè)任務(wù)的權(quán)重weighti為:
29、
30、式中,timei為第i個(gè)任務(wù)的預(yù)計(jì)完成時(shí)間,weightj為第j個(gè)任務(wù)的權(quán)重,child(i)表示第i個(gè)任務(wù)的子任務(wù),k為葉節(jié)點(diǎn)集。
31、與現(xiàn)有技術(shù)相比,本發(fā)明設(shè)定兩個(gè)卸載決策者,分別從不同角度學(xué)習(xí)和優(yōu)化任務(wù)卸載策略,其中一個(gè)決策者負(fù)責(zé)決定是否以及在何處卸載任務(wù),另一個(gè)則專注于資源分配細(xì)節(jié),即開(kāi)發(fā)基于元強(qiáng)化學(xué)習(xí)的雙決策者卸載模型(ma-ddto模型),共同基于任務(wù)特性、設(shè)備狀態(tài)等信息生成最優(yōu)動(dòng)作,并根據(jù)實(shí)時(shí)反饋不斷調(diào)整策略以實(shí)現(xiàn)邊緣計(jì)算環(huán)境下的高效任務(wù)執(zhí)行。本發(fā)明可以解決因任務(wù)規(guī)模較大而導(dǎo)致時(shí)延高和耗能大的問(wèn)題。
1.一種基于元強(qiáng)化學(xué)習(xí)的雙決策者任務(wù)卸載方法,其特征是,包括步驟如下:
2.根據(jù)權(quán)利要求1所述的一種基于元強(qiáng)化學(xué)習(xí)的雙決策者任務(wù)卸載方法,其特征是,用戶任務(wù)信息包括任務(wù)數(shù)據(jù)大小、運(yùn)行該任務(wù)所需資源及任務(wù)之間的依賴關(guān)系;設(shè)備狀態(tài)信息包括設(shè)備即用戶終端、邊緣服務(wù)器和云端服務(wù)器的計(jì)算能力、以及設(shè)備之間的傳輸速率。
3.根據(jù)權(quán)利要求1或2所述的一種基于元強(qiáng)化學(xué)習(xí)的雙決策者任務(wù)卸載方法,其特征是,第i個(gè)任務(wù)的預(yù)計(jì)完成時(shí)間timei為:
4.根據(jù)權(quán)利要求1所述的一種基于元強(qiáng)化學(xué)習(xí)的雙決策者任務(wù)卸載方法,其特征是,步驟3中,需要將任務(wù)的預(yù)計(jì)完成時(shí)間轉(zhuǎn)換為任務(wù)的權(quán)重來(lái)對(duì)所有任務(wù)進(jìn)行排序,以得到任務(wù)嵌入序列;其中第i個(gè)任務(wù)的權(quán)重weighti為: