摘 要: 移動(dòng)邊緣計(jì)算的計(jì)算密集型任務(wù)多為工作流任務(wù),傳統(tǒng)方法在解決工作流任務(wù)卸載問題時(shí)很難充分考慮子任務(wù)之間的依賴關(guān)系,并且計(jì)算卸載算法性能不佳。為了解決以上問題,將工作流任務(wù)卸載問題建模為馬爾可夫決策過程下的最優(yōu)策略問題,構(gòu)建問題的狀態(tài)空間、動(dòng)作空間和獎(jiǎng)勵(lì)函數(shù)。以最小化工作流任務(wù)的任務(wù)完成時(shí)間和系統(tǒng)能耗為目標(biāo),提出一種融合注意力機(jī)制的基于深度強(qiáng)化學(xué)習(xí)(DRL)的工作流任務(wù)卸載算法(DWTOAA)。該方法使用分段式獎(jiǎng)勵(lì)函數(shù)來(lái)提高模型訓(xùn)練速度,并結(jié)合注意力機(jī)制提高算法對(duì)工作流任務(wù)終止執(zhí)行狀態(tài)的識(shí)別能力。實(shí)驗(yàn)結(jié)果表明,DWTOAA方法相較于DRL算法具有更快的訓(xùn)練速度,同時(shí)在求解不同子任務(wù)數(shù)的工作流任務(wù)時(shí),DWTOAA得到的卸載決策均具有更少的任務(wù)完成時(shí)間和系統(tǒng)能耗。
關(guān)鍵詞: 移動(dòng)邊緣計(jì)算; 注意力機(jī)制; 工作流任務(wù); 任務(wù)卸載; 深度強(qiáng)化學(xué)習(xí); 馬爾可夫決策過程; 系統(tǒng)能耗
中圖分類號(hào): TN929.5?34" " " " " " " " " " " " " 文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " " " " "文章編號(hào): 1004?373X(2025)06?0045?07
DRL workflow task offloading algorithm with attention mechanism in MEC
LEI Xuemei1, ZHANG Hetong2
(1. Office of Information Technology, University of Science and Technology Beijing, Beijing 100083, China;
2. School of Automation and Electrical Engineering, University of Science and Technology Beijing, Beijing 100083, China)
Abstract: Most of the computing intensive tasks of mobile edge computing (MEC) are workflow tasks. It is difficult for traditional methods to fully consider the dependency between sub tasks when solving the workflow task offloading, and the performance of computing offloading algorithm is poor. In order to solve above problems, the problem of workflow task offloading is modeled as the problem of the optimal strategy under the Markov decision process, and the state space, action space, and reward function of problems are constructed. In order to minimize the task completion time and system energy consumption of the workflow tasks, a deep reinforcement learning (DRL) based workflow task offloading algorithm integrating attention mechanism (DWTOAA) is proposed. In this method, the segmented reward function is used to increase the training speed of the model, and the attention mechanism is combined to improve the algorithm's ability to recognize the termination status of workflow tasks. The experimental results show that the DWTOAA has a faster training speed compared with the DRL algorithm, and the offloading decisions obtained by DWTOAA have smaller task completion time and system energy consumption when solving workflow tasks with different numbers of subtasks.
Keywords: mobile edge computing; attention mechanism; workflow task; task offloading; deep reinforcement learning; Markov decision process; system energy consumption
0" 引" 言
隨著智能移動(dòng)終端飛速發(fā)展,大數(shù)據(jù)時(shí)代的來(lái)臨,移動(dòng)設(shè)備承載了越來(lái)越多的計(jì)算密集型實(shí)時(shí)應(yīng)用[1?2],而這些應(yīng)用對(duì)移動(dòng)設(shè)備的計(jì)算能力和實(shí)時(shí)性也提出了更高的要求。為解決這一問題,移動(dòng)邊緣計(jì)算(Mobile Edge Computing, MEC)技術(shù)得到了學(xué)界的廣泛關(guān)注[3]。
MEC技術(shù)中計(jì)算卸載問題是關(guān)鍵,一直以來(lái)都有學(xué)者采用啟發(fā)式方法研究這一問題。文獻(xiàn)[4]改進(jìn)了遺傳算法中選擇、交叉和變異操作,提高了算法求解最優(yōu)卸載策略的效率。文獻(xiàn)[5]針對(duì)通過能量收集技術(shù)獲取能源的MEC環(huán)境,使用改進(jìn)的灰狼算法獲取最小任務(wù)執(zhí)行代價(jià)。但是啟發(fā)式方法很依賴專家經(jīng)驗(yàn),且在模型變化后很難將原有方法遷移。因此,越來(lái)越多的機(jī)器學(xué)習(xí)方法被應(yīng)用于這一領(lǐng)域。其中,深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning, DRL)方法被廣泛應(yīng)用,不論是車聯(lián)網(wǎng)環(huán)境[6?7]還是多移動(dòng)設(shè)備多服務(wù)器的復(fù)雜環(huán)境[8],又或者是無(wú)人機(jī)輔助的新興環(huán)境[9],DRL方法都可以達(dá)到良好的卸載效果。但是上述研究考慮的均為獨(dú)立任務(wù)模型的計(jì)算卸載問題,沒有考慮到更復(fù)雜的工作流任務(wù)模型。
工作流任務(wù)模型更符合計(jì)算任務(wù)的實(shí)際情況,可用有向無(wú)環(huán)圖(Directed Acyclic Graph, DAG)表示任務(wù)之間的依賴關(guān)系。針對(duì)工作流任務(wù)的計(jì)算卸載問題,文獻(xiàn)[10]考慮了用戶數(shù)據(jù)共享模型中局部模型質(zhì)量差導(dǎo)致整體參數(shù)通用性差的問題,提出了一種基于注意力機(jī)制的聯(lián)邦強(qiáng)化學(xué)習(xí)方法聚合參數(shù)權(quán)重,使新模型更具通用性。文獻(xiàn)[11]考慮了信道動(dòng)態(tài)變化對(duì)卸載策略的影響,提出一種基于優(yōu)先經(jīng)驗(yàn)回放的雙深度Q網(wǎng)絡(luò)依賴任務(wù)卸載算法求解卸載策略。文獻(xiàn)[12]提出一種基于混合參與者?評(píng)論家的工作流調(diào)度框架,該框架通過近端策略優(yōu)化技術(shù)增強(qiáng),可有效處理邊緣云環(huán)境中的復(fù)雜工作流調(diào)度問題。文獻(xiàn)[13]使用長(zhǎng)短期記憶網(wǎng)絡(luò)層來(lái)增強(qiáng)深度Q網(wǎng)絡(luò)算法,優(yōu)化大規(guī)模異構(gòu)MEC環(huán)境中的延遲、網(wǎng)絡(luò)負(fù)載和能源消耗。文獻(xiàn)[14]研究了具有不同拓?fù)銬AG的物聯(lián)網(wǎng)應(yīng)用程序的執(zhí)行策略,提出了一種基于參與者?評(píng)論家的分布式應(yīng)用程序布局技術(shù),顯著降低了智能體的勘探成本。此外,還使用一種自適應(yīng)的偏離策略校正方法,以更快地收斂到最優(yōu)解。
文獻(xiàn)[10?14]都使用DRL方法解決工作流任務(wù)的卸載問題,在處理工作流任務(wù)時(shí)也都選擇先對(duì)子任務(wù)進(jìn)行排序,再當(dāng)作已知順序的獨(dú)立任務(wù)序列,用DRL方法卸載,不能充分利用工作流任務(wù)中的依賴關(guān)系。
針對(duì)MEC環(huán)境中工作流任務(wù)卸載問題,本文提出了一種融合注意力機(jī)制的DRL工作流任務(wù)計(jì)算卸載算法(DRL Workflow Task Offloading Algorithm Integrating Attention Mechanism, DWTOAA),該算法根據(jù)當(dāng)前系統(tǒng)狀態(tài)編碼給出任務(wù)卸載策略,以最小化MEC網(wǎng)絡(luò)中所有移動(dòng)設(shè)備、邊緣服務(wù)器和云端的最大完工時(shí)間和總能耗。
1 系統(tǒng)模型
本文選擇一個(gè)具有多移動(dòng)設(shè)備、多邊緣服務(wù)器和云端構(gòu)成的MEC網(wǎng)絡(luò),如圖1所示。其中移動(dòng)設(shè)備集合為[?={1,2,…,M}],邊緣服務(wù)器集合為[?={1,2,…,N}],移動(dòng)設(shè)備m([m∈?])單次只產(chǎn)生一個(gè)工作流任務(wù)[Jm],子任務(wù)數(shù)為K。移動(dòng)設(shè)備通過無(wú)線網(wǎng)絡(luò)與邊緣服務(wù)器進(jìn)行數(shù)據(jù)傳輸,云端則通過光纖與邊緣服務(wù)器交換數(shù)據(jù),幫助移動(dòng)設(shè)備計(jì)算子任務(wù)。目標(biāo)是根據(jù)任務(wù)最大執(zhí)行時(shí)間、系統(tǒng)能耗等評(píng)價(jià)指標(biāo)優(yōu)化工作流任務(wù)的卸載決策。
本文用DAG表示工作流任務(wù)[Jm]的K個(gè)子任務(wù),如圖2所示。任務(wù)之間的依賴關(guān)系使用[G=(V,E)]表示,[V={v1,v2,…,vK}]是工作流任務(wù)全部子任務(wù)的集合,E為任務(wù)之間的依賴關(guān)系集合,[ea,b∈E],表示子任務(wù)[vb]必須在子任務(wù)[va]執(zhí)行完成后才能執(zhí)行。
1.1" 本地計(jì)算模型
子任務(wù)k是工作流任務(wù)第k[(1≤k≤K)]步執(zhí)行的子任務(wù),本地計(jì)算延遲[Tcomputek0]為:
式中:[Dk]為計(jì)算子任務(wù)k所需的CPU周期數(shù);[Clocalm]為移動(dòng)設(shè)備m的CPU計(jì)算頻率。
本地計(jì)算能耗[Elocalk0]為:
式中[Pcomputem]為移動(dòng)設(shè)備m的計(jì)算功率。
1.2 卸載模型
當(dāng)子任務(wù)k卸載到邊緣服務(wù)器n([n∈?])計(jì)算時(shí),用戶通過無(wú)線鏈路傳輸子任務(wù),移動(dòng)設(shè)備m到邊緣服務(wù)器n的數(shù)據(jù)傳輸速率[15][Rmn]為:
式中:[Wmn]是移動(dòng)設(shè)備m和邊緣服務(wù)器n間的無(wú)線鏈路帶寬;[Pm]為移動(dòng)設(shè)備m的發(fā)射功率;[hmn]為移動(dòng)設(shè)備m和邊緣服務(wù)器n之間無(wú)線信道的信道參數(shù);[σ2]為加性高斯白噪聲的方差。
卸載到邊緣服務(wù)器n的通信延遲[Ttransmissionkn]為:
式中[Dupk]為上傳子任務(wù)k所需數(shù)據(jù)量。接收到子任務(wù)k后,邊緣服務(wù)器n開始計(jì)算任務(wù),計(jì)算延遲[Tcomputekn]為:
式中[Cedgen]為邊緣服務(wù)器n的CPU計(jì)算頻率。
本文將計(jì)算所得結(jié)果近似為極小數(shù)據(jù)量,忽略結(jié)果傳回移動(dòng)設(shè)備的延遲,因此在邊緣服務(wù)器執(zhí)行任務(wù)的卸載總延遲[Tedgekn]包括邊緣服務(wù)器處的通信延遲和計(jì)算延遲,表示為:
進(jìn)而得到子任務(wù)k卸載到邊緣服務(wù)器n計(jì)算的卸載總能耗[Eedgekn]為:
式中:[Ptransmissionn]和[Pcomputen]分別表示數(shù)據(jù)傳輸時(shí)的系統(tǒng)總功率(包括移動(dòng)設(shè)備的發(fā)送功率和邊緣服務(wù)器的接收功率)和邊緣服務(wù)器的計(jì)算功率。
當(dāng)子任務(wù)k卸載到云端進(jìn)行計(jì)算時(shí),因?yàn)檫吘壏?wù)器與云端通過光纖傳輸數(shù)據(jù),所以忽略這一過程的傳輸時(shí)間,只考慮從移動(dòng)設(shè)備到邊緣服務(wù)器的最短傳輸時(shí)間。因此,子任務(wù)k卸載到云端的通信延遲[Ttransmissionkc]為:
在云端執(zhí)行子任務(wù)k的卸載總能耗[Ecloudkc]為:
式中:[Ptransmissionc]和[Pcomputec]分別為數(shù)據(jù)傳輸時(shí)的系統(tǒng)總功率和云端的計(jì)算功率。
1.3 問題模型
分別用[?k0]、[?kn]和[?kc]表示子任務(wù)k對(duì)移動(dòng)設(shè)備本地、邊緣服務(wù)器和云端的卸載決策變量。由于子任務(wù)是不可分割的,因此這些調(diào)度決策變量為0和1的整數(shù)變量,同時(shí)在每個(gè)子任務(wù)k的決策中有且只有一個(gè)決策變量為1,代表所選擇的卸載位置,其余為0。如果[?k0=1],表示子任務(wù)k在移動(dòng)設(shè)備本地執(zhí)行;如果[?kc=1],表示子任務(wù)k在云端執(zhí)行;如果[?kn=1],[n∈?],表示在第n個(gè)邊緣服務(wù)器上執(zhí)行子任務(wù)k。
用Pk表示子任務(wù)k直接前置任務(wù)的集合,將MEC環(huán)境中移動(dòng)設(shè)備m、邊緣服務(wù)器、云端統(tǒng)稱為計(jì)算節(jié)點(diǎn)。執(zhí)行子任務(wù)k要滿足兩個(gè)條件:第一是子任務(wù)k的前置任務(wù)p([p∈Pk])全部被完成;第二是執(zhí)行子任務(wù)k的計(jì)算節(jié)點(diǎn)上沒有未完成的其他子任務(wù)。因此子任務(wù)在計(jì)算節(jié)點(diǎn)上的完成時(shí)間分為兩部分,包括子任務(wù)k在計(jì)算節(jié)點(diǎn)上執(zhí)行任務(wù)需要的時(shí)間和子任務(wù)等待執(zhí)行的等待時(shí)間。等待時(shí)間取子任務(wù)k前置任務(wù)p全部完成的時(shí)間和計(jì)算節(jié)點(diǎn)上已被分配子任務(wù)的最大完成時(shí)間的最大值。因此,子任務(wù)k在移動(dòng)設(shè)備本地、邊緣服務(wù)器、云端的完成延遲分別為:
式中:[Tfink0]、[Tfinkn]、[Tfinkc]分別表示子任務(wù)k在移動(dòng)設(shè)備本地、邊緣服務(wù)器、云端上的完成延遲。子任務(wù)k前繼子任務(wù)p的完成延遲[Tfinp]為:
式中[k={1,2,…,K}]。子任務(wù)數(shù)較少時(shí),可通過遍歷找到計(jì)算卸載問題的最佳解決方案。但隨著子任務(wù)數(shù)增加,解決方案的規(guī)模會(huì)迅速增加并變得過大,在這種情況下式(20)不再是凸優(yōu)化問題,而是NP困難問題。
1.4 融合注意力機(jī)制的DRL計(jì)算卸載方法
針對(duì)MEC的計(jì)算卸載問題,提出一種融合注意力機(jī)制的DRL計(jì)算卸載方法DWTOAA。該方法基于馬爾可夫決策過程(Markov Decision Process, MDP)進(jìn)行建模,包括狀態(tài)空間S、動(dòng)作空間A和獎(jiǎng)勵(lì)函數(shù)R,使用DRL中的深度Q網(wǎng)絡(luò)解決模型中的復(fù)雜問題。
狀態(tài)空間S中狀態(tài)[sk]為工作流任務(wù)分配到第k步時(shí)的系統(tǒng)狀態(tài),其中當(dāng)[k=K+1]時(shí),[sk]為工作流任務(wù)不可繼續(xù)執(zhí)行的狀態(tài)。
式中:第k步時(shí)子任務(wù)集表示為[taskk={subtask1,exe1,k,subtask2,exe2,k,…,subtaskK,exeK,k}],其中[subtaski]和[exei,k]分別表示子任務(wù)i([1≤i≤K])的前繼子任務(wù)集和子任務(wù)在第k步的可執(zhí)行狀態(tài);[netk={Clocalm,Tlocalk,Cedge1,T1k,Cedge2,T2k,…,CedgeN,TNk,Ccloud,Tcloudk}]分別表示各個(gè)計(jì)算節(jié)點(diǎn)的CPU計(jì)算頻率和第k步時(shí)被分配的完成延遲;[overk]表示工作流任務(wù)[Jm]的當(dāng)前狀態(tài)[sk]能否繼續(xù)執(zhí)行到下一步,該值為1時(shí)[sk]可以進(jìn)行到下一步,當(dāng)狀態(tài)[sk]執(zhí)行了未滿足前繼子任務(wù)條件的子任務(wù)或子任務(wù)全部被執(zhí)行,該值為0。
動(dòng)作空間[A={a1,a2,…,ak,…,aK}],決定下一步的狀態(tài)。卸載工作流任務(wù)時(shí),需要決定各子任務(wù)應(yīng)該以什么順序、在哪個(gè)設(shè)備被執(zhí)行。第k步時(shí),狀態(tài)[sk]有對(duì)應(yīng)Q值表 [Qk={Qk,0,Qk,1,Qk,2,…,Qk,(N+2)×(k-1)}],[Qk,(N+2)×(k-1)+n]為子任務(wù)k被分配到各個(gè)計(jì)算節(jié)點(diǎn)執(zhí)行對(duì)應(yīng)的Q值,其中[n=0]表示在本地執(zhí)行,[n=N+1]表示在云端執(zhí)行,[1≤n≤N]表示在邊緣服務(wù)器n執(zhí)行。選取最小Q值對(duì)應(yīng)的決策作為當(dāng)前動(dòng)作對(duì)應(yīng)的操作[ak],進(jìn)而得到下一狀態(tài)[sk+1]。
獎(jiǎng)勵(lì)函數(shù)用來(lái)評(píng)價(jià)調(diào)度決策變量[?k0]、[?kn]和[?kc],相當(dāng)于動(dòng)作[ak]的評(píng)價(jià)指標(biāo)。本文中優(yōu)化目標(biāo)是降低工作流任務(wù)[Jm]的計(jì)算代價(jià)[CostJ]。研究發(fā)現(xiàn),DRL方法分配工作流任務(wù)失敗的主要原因是狀態(tài)空間中存在大量不可執(zhí)行狀態(tài)。如在圖2所示的工作流任務(wù)中,未執(zhí)行子任務(wù)1之前先執(zhí)行子任務(wù)2的狀態(tài)以及在這一狀態(tài)基礎(chǔ)上全部的后續(xù)狀態(tài)都被稱為不可執(zhí)行狀態(tài),這樣的狀態(tài)大量出現(xiàn)在模型訓(xùn)練的過程中,會(huì)導(dǎo)致訓(xùn)練速度非常緩慢。因此,本文設(shè)計(jì)了分段式獎(jiǎng)勵(lì)函數(shù)[rk],當(dāng)[sk]為可執(zhí)行狀態(tài)時(shí),獎(jiǎng)勵(lì)為第k步的計(jì)算代價(jià)[CostkJ];當(dāng)[sk]為不可執(zhí)行狀態(tài)時(shí),獎(jiǎng)勵(lì)為一個(gè)遠(yuǎn)大于[CostkJ]的正數(shù)[α],表示為:
這種方法可以快速區(qū)分可執(zhí)行狀態(tài)和不可執(zhí)行狀態(tài),減少訓(xùn)練過程中不可執(zhí)行狀態(tài)出現(xiàn)的頻率,進(jìn)而提高模型的訓(xùn)練速度。
基于上述定義,本文算法結(jié)構(gòu)如圖3所示。在DRL中采用兩個(gè)神經(jīng)網(wǎng)絡(luò):當(dāng)前網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò),它們具有相同的結(jié)構(gòu),但參數(shù)不同,當(dāng)前網(wǎng)絡(luò)使用損失函數(shù)實(shí)時(shí)更新參數(shù)[θ],目標(biāo)網(wǎng)絡(luò)則每一步復(fù)制當(dāng)前網(wǎng)絡(luò)的參數(shù),得到參數(shù)[θ-]。
在本文算法中,除了使用卷積層進(jìn)行數(shù)據(jù)降維,還引入注意力機(jī)制,將狀態(tài)[sk]中的參數(shù)[overk]與定制的矩陣相乘,再與網(wǎng)絡(luò)輸出相乘,得到Q值表[Qk],進(jìn)而得到動(dòng)作[ak]。該方法統(tǒng)一了不可執(zhí)行狀態(tài)對(duì)應(yīng)的Q值表,降低了訓(xùn)練過程中Loss的波動(dòng),提高了訓(xùn)練速度。
當(dāng)智能體執(zhí)行動(dòng)作[ak]后,環(huán)境狀態(tài)從[sk]變?yōu)閇sk+1],并向智能體返回獎(jiǎng)勵(lì)[rk],最后將四元組[(sk,ak,rk,sk+1)]存儲(chǔ)到經(jīng)驗(yàn)池中。環(huán)境與智能體循環(huán)交互,當(dāng)經(jīng)驗(yàn)池中元組數(shù)量達(dá)到一定數(shù)目時(shí),將隨機(jī)抽取批量元組用于訓(xùn)練當(dāng)前網(wǎng)絡(luò)的參數(shù),同時(shí)每訓(xùn)練1步就同步目標(biāo)網(wǎng)絡(luò)和當(dāng)前網(wǎng)絡(luò)的參數(shù)。
訓(xùn)練當(dāng)前網(wǎng)絡(luò)要使用四元組[(sk,ak,rk,sk+1)],將狀態(tài)[sk]輸入當(dāng)前網(wǎng)絡(luò)得到[Qvalue=Q(sk,ak;θ)],再將狀態(tài)[sk+1]輸入目標(biāo)網(wǎng)絡(luò)中得到真實(shí)值:
式中[γ]是折扣因子,用于函數(shù)收斂。
損失函數(shù)定義為當(dāng)前網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)的值函數(shù)之間的均方誤差,公式為:
本文基于DRL的計(jì)算卸載算法在算法1中給出。
算法1:DWTOAA算法
輸入:task:工作流任務(wù)結(jié)構(gòu)、各子任務(wù)需要上傳的數(shù)據(jù)量、完成各子任務(wù)需要的CPU周期數(shù)
輸出:卸載策略[Φ={?k0,?kn,?kc}]
1.初始化MEC環(huán)境資源和網(wǎng)絡(luò)參數(shù)
2.初始化經(jīng)驗(yàn)池和網(wǎng)絡(luò)參數(shù)
3.for g in G do" " " " " " " " " " " " " " " " " "http://訓(xùn)練的每次迭代
4.read batch size tasks data
5.將任務(wù)數(shù)據(jù)編碼為state
6.for state in N do" " " " " " " " " " " " //迭代N步可執(zhí)行狀態(tài)
7.用融合注意力機(jī)制的DRL選擇當(dāng)前狀態(tài)要卸載的子任務(wù)和子任務(wù)執(zhí)行計(jì)算的節(jié)點(diǎn)
8.根據(jù)使用的計(jì)算節(jié)點(diǎn)計(jì)算子任務(wù)的完成時(shí)間和系統(tǒng)能耗
9.根據(jù)式(18)計(jì)算工作流任務(wù)當(dāng)前步的計(jì)算代價(jià)
10.根據(jù)式(23)計(jì)算獎(jiǎng)勵(lì)值
11.存儲(chǔ)四元組[(sk,ak,rk,sk+1)]到經(jīng)驗(yàn)池
12. if經(jīng)驗(yàn)數(shù)量大于一定數(shù)目
13.更新網(wǎng)絡(luò)參數(shù)
14.end if
15.end for
16.end for
2 實(shí)驗(yàn)結(jié)果分析
2.1 實(shí)驗(yàn)參數(shù)
為評(píng)估基于DRL的卸載決策算法的性能,在Windows 10系統(tǒng)的Python環(huán)境中使用PyTorch框架進(jìn)行實(shí)驗(yàn)。
設(shè)置移動(dòng)設(shè)備m的發(fā)射功率[Pm=0.1" W],計(jì)算功率[Pcomputem=5" W],計(jì)算頻率[Clocalm=1" MHz]。移動(dòng)設(shè)備m和邊緣服務(wù)器n之間無(wú)線鏈路帶寬[Wmn=2] MHz;移動(dòng)設(shè)備m和邊緣服務(wù)器n之間的無(wú)線信道參數(shù)[hmn=Ad[(3×108)(4πfcdmn)]de],其中[dmn]是移動(dòng)設(shè)備m和邊緣服務(wù)器n之間的距離,天線增益系數(shù)[Ad=4.11],載波頻率[fc=915 MHz],路徑損耗指數(shù)[de=3];噪聲功率[σ2=10-10" W]。邊緣服務(wù)器的計(jì)算頻率在5~20 MHz之間隨機(jī)生成,云端的計(jì)算頻率設(shè)置為100 MHz。假定邊緣服務(wù)器和云端的計(jì)算功率與計(jì)算頻率呈正相關(guān),且二者比值隨計(jì)算頻率線性增大,取值范圍為[1,2]。
為保證工作流任務(wù)數(shù)據(jù)的多樣性,本文采用文獻(xiàn)[16]的DAG生成器生成數(shù)據(jù)。在給定子任務(wù)數(shù)等參數(shù)的情況下,該方法可以生成具有隨機(jī)依賴關(guān)系的工作流任務(wù)數(shù)據(jù)。其中,每個(gè)子任務(wù)上傳所需數(shù)據(jù)量在30~50 KB之間隨機(jī)生成,計(jì)算所需CPU周期數(shù)在[10,20]MB之間隨機(jī)生成。本文使用此方法生成了5個(gè)子任務(wù)、10個(gè)子任務(wù)、15個(gè)子任務(wù)、20個(gè)子任務(wù)的工作流數(shù)據(jù)各5 000條。
權(quán)重因子[βT]和[βE]會(huì)顯著影響卸載策略,當(dāng)[βT=0.1]、[βE=0.9]時(shí),系統(tǒng)能耗的權(quán)重因子較大,卸載策略會(huì)優(yōu)先降低系統(tǒng)能耗;而當(dāng)[βT=0.9]、[βE=0.1]時(shí),任務(wù)完成時(shí)間的權(quán)重因子較大,卸載策略會(huì)優(yōu)先降低任務(wù)完成時(shí)間,計(jì)算代價(jià)也會(huì)發(fā)生變化。因此定義均勻分布的權(quán)重因子[βT∈{0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1}],將上述4組子任務(wù)各5 000條數(shù)據(jù)分別與[βT]的不同值拼接,得到4組子任務(wù)各55 000條的新數(shù)據(jù)用于訓(xùn)練和測(cè)試,訓(xùn)練集和測(cè)試集的比例為4∶1。用這樣的數(shù)據(jù)訓(xùn)練,使算法能夠在處理同一工作流任務(wù)時(shí)根據(jù)不同權(quán)重因子得到合適的卸載決策。測(cè)試時(shí)將同一工作流任務(wù)但不同權(quán)重因子的11條數(shù)據(jù)作為一組進(jìn)行測(cè)試,選擇其中計(jì)算代價(jià)最大的作為該工作流任務(wù)的卸載策略。
DWTOAA中包含兩個(gè)結(jié)構(gòu)完全相同的神經(jīng)網(wǎng)絡(luò),都由3層卷積層、3層全連接層和注意力層構(gòu)成。網(wǎng)絡(luò)的輸入為系統(tǒng)狀態(tài),輸出為卸載決策。第1層卷積層的卷積核大小等于任務(wù)數(shù),步長(zhǎng)為1;第2層卷積層的卷積核為2,步長(zhǎng)為2;第3層卷積層的卷積核為5,步長(zhǎng)為1。全連接層神經(jīng)元數(shù)分別為2 048、1 024、計(jì)算節(jié)點(diǎn)總數(shù)。學(xué)習(xí)率(learning rate)為0.01,訓(xùn)練批次大?。╞atchsize)為512,經(jīng)驗(yàn)池容量(memory)為40 000,使用PReLU激活函數(shù),參數(shù)更新使用絕對(duì)值損失函數(shù)L1Loss和梯度下降法。
考慮5個(gè)子任務(wù)數(shù)的工作流任務(wù)情況,使用DWTOAA方法比較MEC環(huán)境中不同節(jié)點(diǎn)數(shù)對(duì)平均計(jì)算代價(jià)的影響,如圖4所示。結(jié)果表明:在節(jié)點(diǎn)數(shù)大于等于子任務(wù)數(shù)時(shí),平均計(jì)算代價(jià)受節(jié)點(diǎn)數(shù)變化影響較??;當(dāng)節(jié)點(diǎn)數(shù)小于子任務(wù)數(shù)時(shí),平均計(jì)算代價(jià)與節(jié)點(diǎn)數(shù)呈負(fù)相關(guān)。因此下述實(shí)驗(yàn)均在節(jié)點(diǎn)數(shù)等于子任務(wù)數(shù)的MEC環(huán)境中進(jìn)行。
2.2 結(jié)果分析
2.2.1 不同損失函數(shù)的平均損失比較
圖5比較了DWTOAA分別使用分段式獎(jiǎng)勵(lì)函數(shù)和普通獎(jiǎng)勵(lì)函數(shù)求解5個(gè)子任務(wù)數(shù)的工作流任務(wù)時(shí)神經(jīng)網(wǎng)絡(luò)的平均損失變化。普通獎(jiǎng)勵(lì)函數(shù)為[rt=CosttJ]。
由圖5可以看出,使用分段式獎(jiǎng)勵(lì)函數(shù)訓(xùn)練的收斂速度與最小損失均明顯小于普通獎(jiǎng)勵(lì)函數(shù)。這是因?yàn)榉侄问姜?jiǎng)勵(lì)函數(shù)能夠突顯工作流任務(wù)終止的狀態(tài),提高網(wǎng)絡(luò)識(shí)別特殊狀態(tài)的能力以及模型的訓(xùn)練速度。
2.2.2 不同子任務(wù)數(shù)工作流任務(wù)比較
圖6a)~圖6c)分別表示DRL算法與DWTOAA在求解不同子任務(wù)數(shù)的工作流任務(wù)時(shí)的計(jì)算代價(jià)、任務(wù)完成時(shí)間和系統(tǒng)能耗。
在子任務(wù)數(shù)為5、10、15、20四種不同情況中,DWTOAA得到的平均計(jì)算代價(jià)相較DRL算法小2%~5%,平均任務(wù)完成時(shí)間相較DRL算法小1%~5%,平均系統(tǒng)能耗相較DRL算法小3%~7%。注意力機(jī)制提高了算法對(duì)任務(wù)終止?fàn)顟B(tài)的識(shí)別能力,減小了經(jīng)驗(yàn)池中作用重復(fù)的數(shù)據(jù)的比例,進(jìn)而提高了算法找到更小任務(wù)完成時(shí)間和系統(tǒng)能耗的能力。同時(shí)可以看出,隨著子任務(wù)數(shù)的增加,平均任務(wù)完成時(shí)間和平均系統(tǒng)能耗也逐漸增長(zhǎng),其中平均系統(tǒng)能耗隨子任務(wù)數(shù)量增長(zhǎng)而增長(zhǎng)是顯而易見的,而工作流任務(wù)的平均層數(shù)隨子任務(wù)數(shù)增加而增長(zhǎng),最后一層任務(wù)等待的平均時(shí)間變長(zhǎng),導(dǎo)致平均任務(wù)完成時(shí)間也隨之增長(zhǎng)。因此相對(duì)而言,系統(tǒng)能耗的增長(zhǎng)速度快于任務(wù)完成時(shí)間的增長(zhǎng)速度。
3 結(jié)" 論
在MEC環(huán)境中,本文將具有依賴關(guān)系的工作流任務(wù)建模為DAG,將其卸載任務(wù)構(gòu)建為MDP下的最優(yōu)策略決定問題,提出一種融合注意力機(jī)制的DRL工作流任務(wù)卸載算法(DWTOAA),學(xué)習(xí)工作流任務(wù)的卸載策略,并使用分段式獎(jiǎng)勵(lì)函數(shù)提高模型訓(xùn)練速度。
實(shí)驗(yàn)結(jié)果表明:分段式獎(jiǎng)勵(lì)函數(shù)相較于普通獎(jiǎng)勵(lì)函數(shù)具有識(shí)別工作量任務(wù)終止?fàn)顟B(tài)的能力,能夠提高模型的訓(xùn)練速度;同時(shí)DWTOAA相較于普通DRL算法,在求解不同子任務(wù)數(shù)量的工作流任務(wù)的卸載決策時(shí),都能夠得到具有更小任務(wù)完成時(shí)間和系統(tǒng)能耗的卸載策略。
注:本文通訊作者為張賀同。
參考文獻(xiàn)
[1] LIU X, YANG Q, LUO J, et al. An energy?aware offloading framework for edge?augmented mobile RFID systems [J]. IEEE Internet of Things journal, 2018, 6(3): 3994?4004.
[2] PERSONE V D N, GRASSI V. Architectural issues for self?adaptive service migration management in mobile edge computing scenarios [C]// 2019 IEEE International Conference on Edge Computing (EDGE). Milan, Italy: IEEE, 2019: 27?29.
[3] 呂潔娜,張家波,張祖凡,等.移動(dòng)邊緣計(jì)算卸載策略綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2020,41(9):1866?1877.
[4] 蔣金陵,徐勝超.基于多目標(biāo)優(yōu)化的移動(dòng)邊緣計(jì)算任務(wù)卸載方法[J].現(xiàn)代電子技術(shù),2024,47(3):73?79.
[5] 蔣欣秀,楊俊東,楊志軍,等.移動(dòng)邊緣計(jì)算中支持能量收集的計(jì)算卸載策略[J].現(xiàn)代電子技術(shù),2022,45(1):17?23.
[6] XIAO S, WANG S Z, ZHUANG J, et al. Research on a task offloading strategy for the internet of vehicles based on reinforcement learning [J]. Sensors, 2021, 21(18): 6058.
[7] WANG G, XU F M. Regional intelligent resource allocation in mobile edge computing based vehicular network [J]. IEEE access, 2020, 8: 7173?7182.
[8] FANG J, ZHANG M Y, YE Z Y, et al. Smart collaborative optimizations strategy for mobile edge computing based on deep reinforcement learning [J]. Computers and electrical engineering, 2021, 96: 107539.
[9] 李校林,江雨桑.無(wú)人機(jī)輔助移動(dòng)邊緣計(jì)算中的任務(wù)卸載算法[J].計(jì)算機(jī)應(yīng)用,2023,43(6):1893?1899.
[10] DAI Y, XUE Q, GAO Z, et al. Offloading in mobile edge computing based on federated reinforcement learning [J]. Wireless communications and mobile computing, 2022, 2022(2022): 1?10.
[11] 李強(qiáng),杜婷婷,童釗,等.移動(dòng)邊緣計(jì)算中基于深度強(qiáng)化學(xué)習(xí)的依賴任務(wù)卸載研究[J].小型微型計(jì)算機(jī)系統(tǒng),2023,44(7):1463?1468.
[12] AMANDA J, SAMAN H, RAJKUMAR B. Deep reinforcement learning for energy and time optimized scheduling of precedence?constrained tasks in edge?cloud computing environments [J]. Future generation computer systems, 2022, 137: 14?30.
[13] LU H F, GU C H, LUO F, et al. Optimization of lightweight task offloading strategy for mobile edge computing based on deep reinforcement learning [J]. Future generation computer systems, 2020, 102: 847?861.
[14] MOHAMMAD G, MARIMUTHU P, RAJKUMAR B. A distributed deep reinforcement learning technique for application placement in edge and fog computing environments [J]. IEEE transactions on mobile computing, 2023, 22(5): 2491?2505.
[15] YAN J, BI S Z, HUANG L, et al. Offloading and resource allocation with general task graph in mobile edge computing: a deep reinforcement learning approach [J]. IEEE transactions on wireless communications, 2020, 19(8): 5404?5419.
[16] HAMID A, JORGEG B. List scheduling algorithm for heterogeneous systems by an optimistic cost table [J]. IEEE transactions on parallel and distributed systems, 2013, 25(3): 682?694.
作者簡(jiǎn)介:雷雪梅(1972—),女,天津人,博士研究生,高級(jí)工程師,研究方向?yàn)閿?shù)據(jù)分析、 深度學(xué)習(xí)。
張賀同(1998—),男,內(nèi)蒙古呼和浩特人,碩士研究生,研究方向?yàn)閺?qiáng)化學(xué)習(xí)、移動(dòng)邊緣計(jì)算。
收稿日期:2024?03?03" " " " " "修回日期:2024?04?11