摘 要:邊緣計(jì)算允許物聯(lián)網(wǎng)設(shè)備卸載任務(wù)到邊云環(huán)境中執(zhí)行,以滿足任務(wù)對(duì)資源的需求。由于邊云環(huán)境的高度隨機(jī)性和動(dòng)態(tài)性,啟發(fā)式算法和基于Q表格的強(qiáng)化學(xué)習(xí)算法難以實(shí)現(xiàn)異構(gòu)任務(wù)的高效卸載決策,所以提出了一個(gè)新穎的競爭和雙深度Q網(wǎng)絡(luò)(novel dueling and double deep Q network,ND3QN)的深度強(qiáng)化學(xué)習(xí)算法,用于任務(wù)高效卸載和資源分配。ND3QN聯(lián)合優(yōu)化任務(wù)完成時(shí)間和費(fèi)用,并創(chuàng)新地構(gòu)建了包含環(huán)境動(dòng)態(tài)信息的狀態(tài);設(shè)計(jì)了能有效指導(dǎo)算法訓(xùn)練的獎(jiǎng)勵(lì)函數(shù);實(shí)現(xiàn)了細(xì)粒度卸載,即任務(wù)卸載到服務(wù)器的虛擬機(jī)。實(shí)驗(yàn)結(jié)果表明,ND3QN在不同探索率和學(xué)習(xí)率下的收斂速度和收斂值存在明顯差異,且在任務(wù)丟棄率、完成時(shí)間和費(fèi)用等方面優(yōu)于基線算法;消融實(shí)驗(yàn)證明了狀態(tài)和獎(jiǎng)勵(lì)函數(shù)改進(jìn)的有效性。因此,ND3QN可有效提升邊云環(huán)境中的任務(wù)卸載和資源分配效率。
關(guān)鍵詞: 深度強(qiáng)化學(xué)習(xí); 邊緣計(jì)算; 任務(wù)卸載; 資源分配; 深度Q網(wǎng)絡(luò)
中圖分類號(hào): TP393 文獻(xiàn)標(biāo)志碼: A 文章編號(hào): 1001-3695(2025)02-022-0486-08
doi: 10.19734/j.issn.1001-3695.2024.07.0228
Deep reinforcement learning based task offloading decision and resource
allocation method in edge and cloud environments
He Dahanga, Wang Yub, Zuo Liyuna’
(a.College of Computer, b.Network amp; Education Information Technology Center, Guangdong University of Petrochemical Technology, Maoming Guangdong 525000, China)
Abstract:Edge computing allows Internet of Things devices to offload tasks to the edge and cloud environments for execution to meet the task’s demand for resources. Due to the highly stochastic and dynamic nature of edge and cloud environments, heuristic algorithms and Q-table based reinforcement learning algorithms struggle to achieve efficient offloading decisions for heterogeneous tasks. Therefore, this paper proposed a novel deep reinforcement learning algorithm called novel dueling and double deep Q network (ND3QN) for efficient offloading of tasks and resource allocation in edge and cloud environments. ND3QN jointly optimized the completion time and cost, and innovatively constructed state containing dynamic information about the environments. It designed reward functions guiding the training of the algorithm efficiently and realized fine-grained offloading, i.e., the offloading of tasks to the servers’ virtual machines. The experimental results show that ND3QN has significant differences in convergence speed and convergence values under different exploration rates and learning rates, and outperforms the baseline algorithms in terms of task discard rate, completion time and cost. The ablation experiments prove the effectiveness of the state and reward function improvements. Therefore, ND3QN can effectively improve the efficiency of task offloading and resource allocation in edge and cloud environments.
Key words:deep reinforcement learning(DRL); edge computing; task offloading; resource allocation; deep Q network
0 引言
隨著物聯(lián)網(wǎng)(IoT)的快速發(fā)展,IoT使用的嵌入式設(shè)備數(shù)量激增[1],預(yù)計(jì)到2030年將有近5 000億臺(tái)設(shè)備,而這些設(shè)備的電量、通信、計(jì)算和存儲(chǔ)能力有限,不足以滿足IoT設(shè)備產(chǎn)生的、計(jì)算密集型或存儲(chǔ)密集型任務(wù)對(duì)資源的需求[2, 3]。因此,傳統(tǒng)的云計(jì)算通過將任務(wù)卸載到云數(shù)據(jù)中心執(zhí)行,能夠解決任務(wù)對(duì)資源的需求[4]。但云數(shù)據(jù)中心與IoT設(shè)備之間的距離一般很遠(yuǎn),使用廣域網(wǎng)連接[5, 6]且?guī)捯话爿^小,導(dǎo)致了兩者之間存在大的傳播延遲[7, 8],甚至網(wǎng)絡(luò)阻塞的情況,可能無法滿足一些延遲敏感的任務(wù),如遠(yuǎn)程醫(yī)療、交通監(jiān)控[9]。而邊緣計(jì)算可以為IoT設(shè)備產(chǎn)生的任務(wù)提供低延遲、高帶寬的計(jì)算環(huán)境[10],彌補(bǔ)了云計(jì)算的不足[11]。邊緣計(jì)算的服務(wù)器(edge servers, ES)與云計(jì)算的服務(wù)器(cloud servers, CS)相比,ES是異構(gòu)的,并且距離IoT設(shè)備的物理距離更近,在地理上分散部署[12],但資源更為有限,可能無法處理IoT設(shè)備卸載的所有任務(wù)[8]。ES的資源一般比IoT設(shè)備更充沛,比CS更匱乏[13]。
在邊云環(huán)境中,為滿足IoT任務(wù)的時(shí)延和費(fèi)用等約束條件,可以將任務(wù)保留在本地執(zhí)行,或是卸載到ES或CS執(zhí)行[12, 14, 15]。然而,IoT設(shè)備和ES通常是異構(gòu)的,任務(wù)的長度、截止時(shí)間和對(duì)資源的需求等均帶有異構(gòu)性[15, 16]。因此,對(duì)于充滿隨機(jī)性和動(dòng)態(tài)性的邊云環(huán)境,做出一個(gè)最優(yōu)的卸載決策是NP-難問題[17]。此外,任務(wù)通常被建模為有向無環(huán)圖(directed acyclic graph, DAG),DAG包含了若干個(gè)相互之間存在依賴關(guān)系的子任務(wù),子任務(wù)建模為節(jié)點(diǎn),子任務(wù)之間的依賴關(guān)系建模為邊,即邊的出發(fā)節(jié)點(diǎn)必須完成后,邊的到達(dá)節(jié)點(diǎn)才能開始執(zhí)行[6, 8],各節(jié)點(diǎn)可相互獨(dú)立地卸載,但必須滿足依賴關(guān)系。這進(jìn)一步加劇了任務(wù)卸載的復(fù)雜度。
Goudarzi等人[6]為最大化DAG子任務(wù)并行執(zhí)行的數(shù)量,設(shè)計(jì)了一種預(yù)調(diào)度技術(shù),并提出了基于Memetic算法(結(jié)合了基于進(jìn)化的算法和局部搜索策略)的批量任務(wù)卸載技術(shù),以最小化任務(wù)執(zhí)行時(shí)間和IoT設(shè)備的能耗。Zhang等人[18]基于服務(wù)器負(fù)載均衡等5個(gè)優(yōu)化目標(biāo),提出了一種基于動(dòng)態(tài)概率選擇的多目標(biāo)進(jìn)化算法。該算法通過動(dòng)態(tài)調(diào)整多種進(jìn)化策略的使用概率,克服了單一策略的局限性。Laboni等人[19]提出了AWSH超啟發(fā)式算法,算法結(jié)合了多種啟發(fā)式策略,為任務(wù)卸載提供了一種魯棒的解決方案。Natesha等人[20]開發(fā)了基于元啟發(fā)式的混合卸載算法,優(yōu)化服務(wù)成本及質(zhì)量。文獻(xiàn)[6, 18~20]旨在結(jié)合多種策略以提高算法性能,但可能會(huì)增加計(jì)算復(fù)雜度。Yakubu等人[21]將任務(wù)按優(yōu)先級(jí)均勻分配到邊緣層和云層,在層內(nèi)使用基于MHHO的元啟發(fā)式算法分配任務(wù)到具體的服務(wù)器上,降低任務(wù)完成時(shí)間、執(zhí)行成本和能耗。
然而,由于邊云環(huán)境的高度隨機(jī)性和動(dòng)態(tài)性,上述的啟發(fā)式算法不能有效解決邊云環(huán)境中的異構(gòu)任務(wù)卸載決策問題[8, 17]。此外,文獻(xiàn)[22]提出了基于Q表格的強(qiáng)化學(xué)習(xí)(reinforcement learning, RL)算法,優(yōu)化負(fù)載、任務(wù)響應(yīng)時(shí)間和能耗。但Q表格存儲(chǔ)著狀態(tài)-動(dòng)作對(duì)的動(dòng)作價(jià)值,而邊云環(huán)境的狀態(tài)空間維度極高,容易造成Q表格爆炸,卸載策略學(xué)習(xí)低效。
針對(duì)此種情況,基于深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning, DRL)的算法結(jié)合了深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí),利用深度神經(jīng)網(wǎng)絡(luò)擬合,替代了Q表格,使得DRL的智能體(agent)能夠在邊云環(huán)境中更高效地學(xué)習(xí)最優(yōu)的卸載策略[23]。
文獻(xiàn)[8]提出了基于異步近端策略優(yōu)化(APPO)的DRL算法,僅考慮最小化任務(wù)的執(zhí)行時(shí)間。文獻(xiàn)[13]為了優(yōu)化加權(quán)成本,提出了基于actor-critic的DRL算法,算法使用循環(huán)層捕捉環(huán)境狀態(tài)的時(shí)序關(guān)系,但可能增加訓(xùn)練的計(jì)算復(fù)雜度。Chen等人[23]提出基于DQN的DODQ算法,優(yōu)化應(yīng)用響應(yīng)時(shí)間和決策速度。Tang 等人[24]提出了一個(gè)基于DQN的任務(wù)卸載算法,以最小化長期成本,但算法含有LSTM層,可能增大資源依賴性。Lu等人[25]提出了一個(gè)基于A2C的卸載算法,并引入負(fù)載均衡因子來評(píng)估算法的負(fù)載均衡能力。文獻(xiàn)[26]提出了DDTO的DRL算法,并優(yōu)化服務(wù)延遲和設(shè)備能耗。此外,這些文獻(xiàn)均是卸載任務(wù)至服務(wù)器,而不是服務(wù)器上的虛擬機(jī)(virtual machine, VM)或容器。這雖然能大幅降低狀態(tài)空間的維度,但是分配到同一服務(wù)器的任務(wù)可能相互影響,不利于支持邊云環(huán)境的多租戶特性。
在邊云環(huán)境中,任務(wù)卸載和資源分配面臨著環(huán)境高度隨機(jī)和動(dòng)態(tài)變化等問題,而傳統(tǒng)基于DRL的算法在處理這些問題時(shí)常常存在狀態(tài)表示不充分以至于需要復(fù)雜的神經(jīng)網(wǎng)絡(luò)、獎(jiǎng)勵(lì)函數(shù)無法充分指導(dǎo)算法訓(xùn)練等局限性。因此,本文提出了一個(gè)新穎的競爭和雙深度Q網(wǎng)絡(luò)(novel dueling and double deep Q network,ND3QN)的DRL算法,用以實(shí)現(xiàn)任務(wù)卸載和資源分配。相比于其他DRL算法,ND3QN是基于Dueling DQN[27]和Double DQN[28]的算法,能有效地、相互獨(dú)立地學(xué)習(xí)狀態(tài)-動(dòng)作對(duì)的價(jià)值(即Q值),解決Q值過度估計(jì)的問題,提高策略的準(zhǔn)確性;采用了經(jīng)驗(yàn)回放和目標(biāo)網(wǎng)絡(luò),提高了策略學(xué)習(xí)的穩(wěn)定性。此外,ND3QN構(gòu)建了包含環(huán)境動(dòng)態(tài)信息的狀態(tài)和有效指導(dǎo)訓(xùn)練的獎(jiǎng)勵(lì)函數(shù),加快算法的訓(xùn)練速度并降低算法對(duì)計(jì)算資源依賴。本文的主要工作和貢獻(xiàn)如下:
a)提出了一個(gè)由完成時(shí)間和費(fèi)用組成的加權(quán)成本模型。該模型可根據(jù)用戶需求,賦予完成時(shí)間和費(fèi)用合適的權(quán)重,進(jìn)而在任務(wù)卸載和資源分配過程中最小化加權(quán)成本。
b)提出了ND3QN算法。ND3QN構(gòu)建了包含環(huán)境動(dòng)態(tài)信息的狀態(tài),由此可用簡單的神經(jīng)網(wǎng)絡(luò)捕捉環(huán)境的動(dòng)態(tài)信息;設(shè)計(jì)了能有效指導(dǎo)算法訓(xùn)練的獎(jiǎng)勵(lì)函數(shù),提高算法學(xué)習(xí)效果;實(shí)現(xiàn)了細(xì)粒度卸載,即任務(wù)卸載到服務(wù)器的VM,從而更好地滿足任務(wù)對(duì)資源的需求,提高資源利用率。
c)進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,在不同探索率和學(xué)習(xí)率下,ND3QN的訓(xùn)練收斂速度和收斂值存在明顯的差異;與三個(gè)基線算法相比,ND3QN在任務(wù)丟棄率、完成時(shí)間和費(fèi)用等方面具有更好的表現(xiàn);消融實(shí)驗(yàn)證明了狀態(tài)和獎(jiǎng)勵(lì)函數(shù)改進(jìn)的有效性。
1 系統(tǒng)模型與問題表述
本文設(shè)定了一個(gè)現(xiàn)實(shí)的卸載場景,即以任務(wù)為最小的獨(dú)立卸載調(diào)度單元,并卸載任務(wù)至ES或CS中的VM上執(zhí)行。這種場景的合理性體現(xiàn)在:若任務(wù)中的子任務(wù)卸載到不同的VM,則a)為滿足依賴關(guān)系,必須將出發(fā)節(jié)點(diǎn)的輸出傳輸至到達(dá)節(jié)點(diǎn),增加了通信開銷;b)雖可使子任務(wù)并行執(zhí)行,減少任務(wù)完成時(shí)間,但增加了子任務(wù)同步執(zhí)行、保證一致性的時(shí)空開銷,提高了卸載模型的復(fù)雜度。因此以任務(wù)為最小的獨(dú)立卸載調(diào)度單元,可降低卸載調(diào)度算法的時(shí)空復(fù)雜度和調(diào)度開銷,并提高其性能,這可能對(duì)延遲敏感的任務(wù)至關(guān)重要。
1.1 系統(tǒng)模型
系統(tǒng)由IoT設(shè)備、ES和CS組成,如圖1所示。分布式放置的IoT設(shè)備通過局域網(wǎng)連接距其物理位置最近的一臺(tái)ES。ES亦是分布式放置的,且相互之間通過高速光纖連接,因此忽略任務(wù)在ES之間的傳輸時(shí)間。此外,CS與每臺(tái)ES通過廣域網(wǎng)連接。在CS與ES中,含有若干臺(tái)異構(gòu)的VM。位于ES中的調(diào)度器負(fù)責(zé)接收IoT設(shè)備的任務(wù)請(qǐng)求,收集所有VM的資源信息,并將任務(wù)通過ND3QN卸載至VM中執(zhí)行。VM分配任務(wù)所需的資源以供任務(wù)執(zhí)行。
1.2 問題表述
1.2.1 任務(wù)模型
定義vi為IoT設(shè)備在時(shí)間步i生成的任務(wù),且使用五元組(vLengthi,vFileSizei,vDeadlinei,vRAMi,vCPUi)來描述vi。其中,vLengthi表示任務(wù)需運(yùn)行的指令數(shù);vFileSizei表示任務(wù)的數(shù)據(jù)文件大小,代表著任務(wù)對(duì)存儲(chǔ)和網(wǎng)絡(luò)傳輸?shù)男枨螅籿Deadlinei表示任務(wù)的截止時(shí)間,任務(wù)必須在截止時(shí)間內(nèi)完成;vRAMi表示任務(wù)執(zhí)行過程中所需的內(nèi)存大?。籿CPUi表示任務(wù)所需的CPU數(shù)量。
1.2.2 資源模型
1.2.3 完成時(shí)間模型
定義ψvi為vi的完成時(shí)間,表示預(yù)計(jì)從IoT設(shè)備生成vi、vi執(zhí)行完畢并返回計(jì)算結(jié)果到IoT設(shè)備所耗費(fèi)的時(shí)間:
ψvi=ψvi,trans+ψvi,queue+ψvi,exec(6)
其中:ψvi,trans表示將vi卸載至esm或csn,并且返回計(jì)算結(jié)果到IoT設(shè)備上所耗費(fèi)的網(wǎng)絡(luò)傳輸時(shí)間,即
ψvi,trans=vFileSizeibwvi,esm+espropagationm×2+[vFileSizeibwesm,csn+cspropagationn×2]×
isCloud(Dvi)(7)
其中:vFileSizei/bwvi,esm與vFileSizei/bwesm,csn均表示vi的傳輸延遲;bwvi,esm表示生成vi的IoT設(shè)備與其直接相連的esm之間的網(wǎng)絡(luò)帶寬;espropagationm則表示其傳播延遲;bwesm,csn表示esm與csn之間的網(wǎng)絡(luò)帶寬;cspropagationm則表示其傳播延遲。當(dāng)Dvi=vmz0,k,則isCloud(Dvi)=0;當(dāng)Dvi=vmz1,k,則isCloud(Dvi)=1。由于計(jì)算結(jié)果通常較小,所以忽略了計(jì)算結(jié)果的傳輸延遲,但不忽略其傳播延遲。
ψvi,queue表示:當(dāng)vi卸載至vmzj,k時(shí),vmzj,k中的任務(wù)等待隊(duì)列(waiting queue)WQzj,k和執(zhí)行隊(duì)列(execution queue)EQzj,k可能不全為空,vi需要排隊(duì)等待的時(shí)間。設(shè)定每個(gè)VM的EQ在任意時(shí)刻至多只有一個(gè)任務(wù),EQ中的任務(wù)執(zhí)行完畢后,從WQ中按FCFS取一任務(wù)送至EQ。
ψvi,queue=∑vl∈WQzj,kvLengthl+∑vl∈EQzj,kvLengthlDMIPSvi(8)
其中:DMIPSvi表示vi卸載到的VM的計(jì)算能力,即每秒百萬條指令(million instructions per seconds, MIPS)[15]。ψvi,exec表示vi的執(zhí)行時(shí)間,即
ψvi,exec=vLengthiDMIPSvi(9)
1.2.4 費(fèi)用模型
定義ζvi為vi在卸載和計(jì)算結(jié)果返回過程中所花費(fèi)的費(fèi)用:
ζvi=ψvi×Dcostvi(10)
其中:Dcostvi代表vi卸載到的VM的使用成本。
1.2.5 加權(quán)成本模型
從用戶的角度出發(fā),除了關(guān)心任務(wù)是否能按時(shí)完成外,用戶可能還關(guān)注所花費(fèi)的費(fèi)用。因此,在綜合考慮任務(wù)的完成時(shí)間和費(fèi)用的基礎(chǔ)上,建立一個(gè)加權(quán)成本模型Θvi:
Θvi=ω1×ψvi+ω2×ζvi(11)
其中:ω1和ω2為可調(diào)權(quán)重,均為自然數(shù),分別代表ψvi和ζvi在成本中的相對(duì)重要性。Θvi可根據(jù)用戶需求,賦予完成時(shí)間和費(fèi)用合適的權(quán)重,在最小化加權(quán)成本時(shí),達(dá)到不同的優(yōu)化效果,例如令ω1為1,ω2為0,即表示卸載過程僅優(yōu)化完成時(shí)間,而不必考慮費(fèi)用。
因此,本文的任務(wù)卸載優(yōu)化問題可定義為
min∑+∞i=0Θvi=min∑+∞i=0(ω1×ψvi+ω2×ζvi)(12)
s.t. C1:ψvi≤vDeadlinei(13)
C2:vRAMi≤DRAMvi(14)
C3:vCPUi≤DCPUvi(15)
C4:∑vl∈WQzj,kvFileSizel+∑vl∈EQzj,kvFileSizel+vFileSizei≤DFileSizevi(16)
其中:ψvi和ζvi分別由式(6)和(10)計(jì)算而得。此外,C1表示vi的完成時(shí)間必須不大于其截止時(shí)間;C2表明vi所需的內(nèi)存不能大于對(duì)應(yīng)VM的內(nèi)存(即DRAMvi);C3表示vi所需的CPU數(shù)量應(yīng)當(dāng)不超過所配置VM的CPU數(shù)量(即DCPUvi);C4要求vi所在的VM存儲(chǔ)資源(即DFileSizevi)應(yīng)足夠大,以便容納其所承載任務(wù)的存儲(chǔ)空間總和;C5表明ω1和ω2均為自然數(shù),通過控制其取值,達(dá)到不同的優(yōu)化效果。C1~C4均是資源約束條件,以確保資源分配的可行性。因此,當(dāng)不滿足資源約束條件時(shí),validate(Dvi)=0,vi將被丟棄;否則validate(Dvi)=1。
2 基于邊云環(huán)境的DRL模型
DRL模型是基于深度學(xué)習(xí)的強(qiáng)化學(xué)習(xí)框架,能有效處理高維的、包含環(huán)境信息的狀態(tài)。DRL的agent在時(shí)間步i使用深度神經(jīng)網(wǎng)絡(luò)提取狀態(tài)si的特征,并根據(jù)si做出卸載決策(即動(dòng)作ai),ai作用于環(huán)境(即任務(wù)和邊云環(huán)境中的全體VM)并影響環(huán)境的狀態(tài),環(huán)境則返回ai的獎(jiǎng)勵(lì)ri。agent的目標(biāo)則是通過選擇動(dòng)作來最大化其獲得的累積獎(jiǎng)勵(lì)∑i∈Euclid Math TwoNApri。因此,必須定義邊云環(huán)境下卸載決策問題的狀態(tài)空間、動(dòng)作空間和獎(jiǎng)勵(lì)函數(shù)。
2.1 狀態(tài)空間
其中: fvmi表示在時(shí)間步i時(shí)的一臺(tái)VM的特征,例如MIPS、CPU數(shù)量、內(nèi)存、外存、帶寬、傳播延遲、每秒費(fèi)用、WQ和EQ中的任務(wù)數(shù)量; fvii表示vi的特征,例如五元組(vLengthi,vFileSizei,vDeadlinei,vRAMi,vCPUi)和時(shí)間步i對(duì)應(yīng)的時(shí)間戳。
顯然,si不僅考慮時(shí)間步i時(shí)的特征,也要考慮時(shí)間步i-1時(shí)的特征。特殊地,當(dāng)i=0時(shí),則不考慮時(shí)間步i-1時(shí)的特征。因此si包含了環(huán)境的動(dòng)態(tài)信息,所以可用簡單的神經(jīng)網(wǎng)絡(luò)捕捉環(huán)境的復(fù)雜動(dòng)態(tài)信息,降低了DRL模型對(duì)計(jì)算資源的依賴性,提高了模型的計(jì)算效率和泛化能力。
2.2 動(dòng)作空間
因此,在時(shí)間步i時(shí)采取的動(dòng)作ai可定義為
ai=Dvi=vmzj,k(22)
這實(shí)現(xiàn)了細(xì)粒度卸載,即卸載任務(wù)到服務(wù)器的VM上執(zhí)行,從而更好地滿足任務(wù)對(duì)資源的需求,并提高了資源利用率。
2.3 獎(jiǎng)勵(lì)函數(shù)
獎(jiǎng)勵(lì)函數(shù)ri在agent訓(xùn)練過程中起到重要作用,其定義如式(23)所示。ri是ai的即時(shí)評(píng)價(jià),用于幫助agent在學(xué)習(xí)過程中調(diào)整學(xué)習(xí)方向,加速學(xué)習(xí)和收斂速度,以獲得最大化累積獎(jiǎng)勵(lì)的最優(yōu)卸載策略。
ri=-Θvi+bias1 validate(Dvi)=1
-penalty×count+bias2validate(Dvi)=0(23)
其中:bias1和bias2均為非負(fù)常數(shù)偏置項(xiàng),是基準(zhǔn)獎(jiǎng)勵(lì),其作用是避免不帶偏置項(xiàng)的獎(jiǎng)勵(lì)值均為負(fù)值而影響agent訓(xùn)練情況的發(fā)生。當(dāng)滿足資源約束條件時(shí),即validate(Dvi)=1,ri為負(fù)的加權(quán)成本值(由式(11)可知)加上偏置項(xiàng),這意味著agent在最大化獎(jiǎng)勵(lì)的同時(shí),最小化加權(quán)成本;當(dāng)validate(Dvi)=0時(shí),ri為線性懲罰函數(shù),懲罰力度隨著不滿足約束條件的數(shù)量(即count)線性增加,每個(gè)不滿足約束條件的懲罰值(即penalty)相同。若懲罰力度越大,則說明ai違反的資源約束條件越多,從而避免agent再次做出這種動(dòng)作。因此,ri能更有效指導(dǎo)算法訓(xùn)練,提高算法學(xué)習(xí)效果。
3 基于DRL的任務(wù)卸載和資源分配算法ND3QN
ND3QN擁有兩個(gè)結(jié)構(gòu)完全相同的神經(jīng)網(wǎng)絡(luò)(即當(dāng)前網(wǎng)絡(luò)Netcurrentθ和目標(biāo)網(wǎng)絡(luò)Nettargetθt),用于任務(wù)卸載和資源分配。其中,θ和θt分別是對(duì)應(yīng)網(wǎng)絡(luò)的參數(shù),且每當(dāng)當(dāng)前網(wǎng)絡(luò)訓(xùn)練并更新參數(shù)若干次后,就把參數(shù)復(fù)制到目標(biāo)網(wǎng)絡(luò)中。
3.1 ND3QN運(yùn)行原理
其中:rand是一個(gè)在[0,1]均勻分布的隨機(jī)變量;探索率ε表示agent對(duì)環(huán)境的探索程度,ε越大,agent對(duì)環(huán)境的探索越充分,但模型收斂速度可能降低。而在模型部署階段中,模型已訓(xùn)練完畢,agent將使用貪心策略選擇具有最大Q值的動(dòng)作:
ai=arg maxaQθ(si,a)(27)
卸載決策ai將vi卸載至對(duì)應(yīng)的VM,VM返回ri并分配vi所需的資源以供vi執(zhí)行。
agent從經(jīng)驗(yàn)緩沖區(qū)(experience replay buffer, ERB)中隨機(jī)取樣批量的經(jīng)驗(yàn)以進(jìn)行訓(xùn)練。其中,經(jīng)驗(yàn)由四元組(si,ai,ri,si+1)組成。因此,在訓(xùn)練階段中,必須存儲(chǔ)經(jīng)驗(yàn)至ERB中,以供模型訓(xùn)練使用。
3.2 ND3QN網(wǎng)絡(luò)結(jié)構(gòu)
顯然,θ由θ1和θ2構(gòu)成,即θ=(θ1,θ2)。
A(si,a;θ1)描述了在si下的某個(gè)動(dòng)作相對(duì)于其他動(dòng)作的優(yōu)勢,V(si;θ2)則描述了si的狀態(tài)價(jià)值。之所以使用優(yōu)勢塊和價(jià)值塊分別學(xué)習(xí)A(si,a;θ1)和V(si;θ2),是因?yàn)橄啾扔谥苯訉W(xué)習(xí)Qθ(si,a),它能實(shí)現(xiàn)更小粒度的學(xué)習(xí),使模型能更有效地捕捉到不同狀態(tài)與動(dòng)作之間的關(guān)系。因此,這降低了學(xué)習(xí)的不穩(wěn)定性,并提高了網(wǎng)絡(luò)的訓(xùn)練效率。Nettargetθt的輸入到輸出的過程同Netcurrentθ。
3.3 算法訓(xùn)練框架
ND3QN在ES上進(jìn)行訓(xùn)練和部署,具有降低卸載決策延遲和減少帶寬需求等優(yōu)點(diǎn)。圖3展示了模型的訓(xùn)練框架,在每個(gè)ES中均部署了調(diào)度器(內(nèi)含Netcurrentθ),但學(xué)習(xí)器(內(nèi)含訓(xùn)練器和ERB)僅部署在用于訓(xùn)練的ES(即訓(xùn)練節(jié)點(diǎn))中。
在訓(xùn)練節(jié)點(diǎn)中,調(diào)度器負(fù)責(zé)接收任務(wù)請(qǐng)求,收集所有VM的資源信息,并將任務(wù)卸載至VM中執(zhí)行,即從環(huán)境中接收狀態(tài)si,由式(24)從Netcurrentθ得到Qθ(si,a),然后根據(jù)式(26)返回動(dòng)作ai,并接收獎(jiǎng)勵(lì)ri。與此同時(shí),調(diào)度器將經(jīng)驗(yàn)發(fā)送至ERB中。當(dāng)ERB中的經(jīng)驗(yàn)足夠多時(shí),訓(xùn)練器從ERB中隨機(jī)抽樣一批量經(jīng)驗(yàn),并在訓(xùn)練過程中將經(jīng)驗(yàn)中的狀態(tài)傳輸?shù)絅etcurrentθ,并接收對(duì)應(yīng)的Q值用于訓(xùn)練模型和更新參數(shù)。訓(xùn)練器將更新后的參數(shù)傳輸至Netcurrentθ中,以供調(diào)度器在下一時(shí)間步中使用。此外,每當(dāng)Netcurrentθ更新參數(shù)若干次后,就把參數(shù)復(fù)制到Nettargetθt中。這一過程如算法1所示。
特別地,在算法1中,為了方便評(píng)估模型的訓(xùn)練效果,將訓(xùn)練過程劃分為episodes個(gè)回合,其中每回合包含one_episode個(gè)時(shí)間步[24]。在3、4行中,調(diào)度器獲取當(dāng)前時(shí)間步的狀態(tài),并對(duì)狀態(tài)進(jìn)行標(biāo)準(zhǔn)化處理,有助于提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度和穩(wěn)定性。7行進(jìn)行了任務(wù)卸載和資源分配。在模型訓(xùn)練過程(即13~19行)中,當(dāng)ERB中的經(jīng)驗(yàn)數(shù)量不小于其容量的一半時(shí),開始訓(xùn)練模型并更新參數(shù)。從ERB中隨機(jī)取樣batch,對(duì)其中的每條經(jīng)驗(yàn)計(jì)算當(dāng)前Q值Qθ(si,ai)和目標(biāo)Q值Qtargetθt(si,ai)(16行):
Qθ(si,ai)=Netcurrentθ(si,ai)(29)
式(29)表示在Netcurrentθ(si)中,a=ai時(shí)的Q值[28]。
Qtargetθt(si,ai)=ri+γ[Nettargetθt(si+1,ai+1)](30)
ai+1由式(27)計(jì)算可得,可解決Qtargetθt(si,ai)過度估計(jì)的問題;Nettargetθt(si,ai)的定義同式(29)。基于此,可構(gòu)建損失函數(shù)L(θ),以更新Netcurrentθ的參數(shù)(17、18行):
L(θ)=1batch_size(Qθ-Qtargetθt)2(31)
其中:Qθ和Qtargetθt是分別由batch中每條經(jīng)驗(yàn)的Qθ(si,ai)和Qtargetθt(si,ai)組成的向量。
每訓(xùn)練update_frequency次后,更新Nettargetθt的參數(shù)(20、21行)。在每個(gè)回合末,記錄該回合得到的累積獎(jiǎng)勵(lì)episode_reward,即回合中獲取的獎(jiǎng)勵(lì)之和(22行):
episode_reward=∑i∈one_episoderi(32)
然后衰減探索率ε,但衰減到一定程度后會(huì)保持一個(gè)最小的探索率,即ε_(tái)min(23行)。
算法1 任務(wù)卸載和資源分配算法ND3QN
輸入:時(shí)間步i時(shí)的si。
輸出:ai,Netcurrentθ。
/* episodes:訓(xùn)練的總回合數(shù);one_episode:每回合的時(shí)間步數(shù)量;
ε:探索率;ε_(tái)min:最小探索率;ε_(tái)decay:探索衰減率;
buffer_size:ERB的容量;batch_size:批量大小 */
1 初始化ERB和Netcurrentθ,i=0,count=0; // count為計(jì)數(shù)器
2 令θt=θ,并初始化Nettargetθt;
3 si=getState (); // 獲取si
4 si=preprocess(si); // 對(duì)si進(jìn)行標(biāo)準(zhǔn)化處理
5 for episode in range(episodes):
6 for _ in range(one_episode):
7
輸入si,輸出ai; // 式(26),卸載決策與資源分配
8
獲取ri;
9
si+1=getState ();
10
si+1=preprocess(si+1);
11
ERB.push(si,ai,ri,si+1); // 存儲(chǔ)經(jīng)驗(yàn)到ERB中
12
si=si+1;
13
if ERB.getlength ()≥0.5×buffer_size:
14 從ERB中隨機(jī)取樣batch_size的經(jīng)驗(yàn),記為batch;
15 for each 經(jīng)驗(yàn) in batch:
16 計(jì)算Qθ(si,ai)和Qtargetθt(si,ai);
17 將batch中所有的Qθ(si,ai)和Qtargetθt(si,ai)分別組成Qθ和Qtargetθt;
18 最小化L(θ),并更新Netcurrentθ的參數(shù)θ; // 式(31)
19 count=count+1;
20
if count % update_frequency==0:
21 θt=θ; // 更新Nettargetθt參數(shù)
22 記錄episode_reward;
23 ε=max(ε_(tái)min,ε×ε_(tái)decay); // 衰減ε
3.4 復(fù)雜度分析
由3.2節(jié)內(nèi)容可知,輸入層和輸出層的節(jié)點(diǎn)數(shù)分別為|si|和|Euclid Math TwoAAp|。為不失一般性,設(shè)定隱藏層中的優(yōu)勢塊和價(jià)值塊獨(dú)立擁有L層神經(jīng)元,優(yōu)勢塊的每層神經(jīng)元數(shù)量為hA1,hA2,…,hAL,價(jià)值塊的每層神經(jīng)元數(shù)量為hV1,hV2,…,hVL,其中,hAL=|Euclid Math TwoAAp|,hVL=1。
因此,在神經(jīng)網(wǎng)絡(luò)的前向傳播中,優(yōu)勢塊的時(shí)間復(fù)雜度為O(|si|×hA1+∑L-1i=1hAi×hAi+1),價(jià)值塊的時(shí)間復(fù)雜度為O(|si|×hV1+∑L-1i=1hVi×hVi+1),而在輸出層中,由式(28)可知其時(shí)間復(fù)雜度為O(|Euclid Math TwoAAp|)。為便于表述,記T=|si|×hA1+∑L-1i=1hAi×hAi+1+|si|×hV1+∑L-1i=1hVi×hVi+1+|Euclid Math TwoAAp|,所以前向傳播的時(shí)間復(fù)雜度即為O(T)。
由于參數(shù)的空間復(fù)雜度主要由權(quán)重矩陣決定,即可知其空間復(fù)雜度為O(T)。ERB的空間復(fù)雜度為O(buffer_size)。因此,在訓(xùn)練過程中,ND3QN的空間復(fù)雜度為O(T+buffer_size);在測試過程中,其空間復(fù)雜度為O(T)。
所以當(dāng)邊云環(huán)境中的VM數(shù)量以及神經(jīng)網(wǎng)絡(luò)的復(fù)雜程度增加時(shí),算法的時(shí)空復(fù)雜度會(huì)隨之增大。
4 實(shí)驗(yàn)與結(jié)果分析
實(shí)驗(yàn)采用基于Java的CloudSim[29]仿真工具以模擬邊云環(huán)境和任務(wù)的生成,使用Python 3.10實(shí)現(xiàn)ND3QN算法,并且使用仿真任務(wù)數(shù)據(jù)集進(jìn)行訓(xùn)練和測試。
4.1 實(shí)驗(yàn)設(shè)置
在邊云環(huán)境中,設(shè)定ES的數(shù)量e為4,每臺(tái)ES擁有5臺(tái)異構(gòu)且資源受限的VM;CS的數(shù)量c為1,每臺(tái)CS擁有3臺(tái)異構(gòu)且資源豐富的VM。VM的配置參考阿里云云服務(wù)器ECS(https://www.aliyun.com/price/product?spm=5176.8789780.J_4267641240.6.6f8539fbvqxYOw#/commodity/vm),類似于文獻(xiàn)[15],如表1所示,其中MIPS由對(duì)應(yīng)VM的配置而設(shè)定。espropagationm和cspropagationm分別設(shè)定為1 ms和10 ms[13, 15]。
在任務(wù)數(shù)據(jù)集的生成過程中,采用了任務(wù)到達(dá)率和五元組(vLengthi,vFileSizei,vDeadlinei,vRAMi,vCPUi)來控制任務(wù)的生成。任務(wù)到達(dá)率是任務(wù)數(shù)據(jù)集的大小與時(shí)間周期(單位為小時(shí))的比值,表示在每小時(shí)內(nèi)生成的任務(wù)數(shù)量。為便于描述,下文不顯式給出任務(wù)到達(dá)率,而是給出任務(wù)數(shù)據(jù)集大小和時(shí)間周期。vLengthi的取值為[100,550]且步長為50,單位是百萬條指令(million instructions, MI)[15];vFileSizei的取值為[5,50]且步長為10,單位為KB;vDeadlinei的取值為[0.5,0.59],單位為s;vRAMi的取值為[25,100]且步長為8,單位為MB;vCPUi從{1,2,3,4}中隨機(jī)取樣,取樣概率對(duì)應(yīng)為{0.55,0.4,0.025,0.05}。
通過控制任務(wù)到達(dá)率和五元組內(nèi)的變量取值,可以隨機(jī)生成大量的異構(gòu)任務(wù),以充分模擬IoT設(shè)備在現(xiàn)實(shí)環(huán)境中的任務(wù)生成特性。算法的重要參數(shù)如表2所示。
4.2 評(píng)價(jià)指標(biāo)
評(píng)價(jià)指標(biāo)分別是累積獎(jiǎng)勵(lì)、任務(wù)丟棄率和加權(quán)成本,以衡量算法在任務(wù)卸載和資源分配中的性能表現(xiàn)。其中,累積獎(jiǎng)勵(lì)由式(32)可得;任務(wù)丟棄率表示任務(wù)被丟棄的數(shù)量比例;加權(quán)成本由式(11)可得。顯然,累積獎(jiǎng)勵(lì)越大,任務(wù)丟棄率和加權(quán)成本越小,則表明算法性能更優(yōu)越。
4.3 超參數(shù)和收斂性
為了驗(yàn)證DRL算法的收斂性,并研究超參數(shù)對(duì)算法的累積獎(jiǎng)勵(lì)和任務(wù)丟棄率的收斂值和收斂速度的影響,實(shí)驗(yàn)采用了時(shí)間周期為8 h的、共500個(gè)回合的任務(wù)數(shù)據(jù)集,探討在訓(xùn)練過程中不同的探索率ε和學(xué)習(xí)率lr對(duì)ND3QN的性能影響,如圖4、5所示。
ε表示agent對(duì)環(huán)境的探索程度。在圖4(a)(b)中,當(dāng)εlt;0.2時(shí),算法的收斂值分別是最小的和最大的;當(dāng)ε≥0.2時(shí),算法收斂值幾乎相等且達(dá)到最優(yōu),但隨著ε的增大,收斂速度卻都不斷降低。因此當(dāng)ε=0.2時(shí),算法的收斂速度最快,收斂值最優(yōu),所以后續(xù)實(shí)驗(yàn)均采用ε=0.2,以獲得最優(yōu)性能。
lr決定了算法在最小化L(θ)時(shí)的速度。在圖5(a)(b)中,當(dāng)lr=0.1和lr=0.01時(shí),算法振蕩,無法收斂,但后者累積獎(jiǎng)勵(lì)的均值明顯大于前者,后者任務(wù)丟棄率的均值顯然小于前者;當(dāng)lr≤0.001時(shí),算法收斂值幾乎相等且達(dá)到最優(yōu),但lr=0.000 1時(shí)的收斂速度更快。這表明過大的lr可能導(dǎo)致收斂不穩(wěn)定,過小的lr則會(huì)使收斂速度降低,為了使算法能夠平穩(wěn)快速地收斂,后續(xù)實(shí)驗(yàn)均采用lr=0.000 1。
4.4 基線算法對(duì)比結(jié)果
將ND3QN與以下三種基線算法進(jìn)行對(duì)比:
a)隨機(jī)策略(Random)[24, 30]。對(duì)于一個(gè)任務(wù),隨機(jī)做出一個(gè)卸載決策。
b)僅邊緣執(zhí)行(only edge, OE)[6]。所有的任務(wù)均卸載至ES,不卸載至CS。
c)Double DQN(DDQN)[8, 13]。這是一個(gè)常用的DRL算法,經(jīng)過改造,從而適應(yīng)本文的邊云環(huán)境。
4.4.1 訓(xùn)練情況對(duì)比
實(shí)驗(yàn)采用了時(shí)間周期為8 h的、共500個(gè)回合的任務(wù)數(shù)據(jù)集,研究在訓(xùn)練過程中,ND3QN與基線算法的累積獎(jiǎng)勵(lì)和任務(wù)丟棄率的變化情況,如圖6所示。在圖6(a)(b)中,隨著訓(xùn)練的進(jìn)行,ND3QN和DDQN的累積獎(jiǎng)勵(lì)和任務(wù)丟棄率在前25回合分別急劇上升和急劇下降,在后期則都緩慢收斂,但ND3QN的累積獎(jiǎng)勵(lì)更多,任務(wù)丟棄率更低且更快地收斂。Random和OE的累積獎(jiǎng)勵(lì)和任務(wù)丟棄率均在一定范圍內(nèi)相對(duì)平穩(wěn)地波動(dòng),但均比其他兩種算法更差,這表明這兩種算法無法適應(yīng)高度隨機(jī)與動(dòng)態(tài)的邊緣環(huán)境和異構(gòu)任務(wù)。因此,ND3QN在訓(xùn)練過程中的收斂速度、累積獎(jiǎng)勵(lì)和任務(wù)丟棄率都比基線算法更優(yōu)。同時(shí),ND3QN在實(shí)際部署中亦能更快地完成訓(xùn)練。
4.4.2 算法測試性能對(duì)比
圖7展示了在時(shí)間周期為8 h、共計(jì)300個(gè)回合的任務(wù)數(shù)據(jù)集中,探討在測試過程中,ND3QN和基線算法的累積獎(jiǎng)勵(lì)和任務(wù)丟棄率的變化情況。在圖7(a)中,random和OE的累積獎(jiǎng)勵(lì)遠(yuǎn)小于ND3QN和DDQN的累積獎(jiǎng)勵(lì),DDQN在前240個(gè)回合的累積獎(jiǎng)勵(lì)呈緩慢上升的趨勢,在后60個(gè)回合的累積獎(jiǎng)勵(lì)才趨于穩(wěn)定,而ND3QN的累積獎(jiǎng)勵(lì)則始終穩(wěn)定且大于DDQN的累積獎(jiǎng)勵(lì)。在圖7(b)中,random和OE的任務(wù)丟棄率遠(yuǎn)大于ND3QN和DDQN的任務(wù)丟棄率,DDQN的任務(wù)丟棄率則是呈現(xiàn)不斷下降、直至收斂的趨勢,但ND3QN 的任務(wù)丟棄率始終保持最低的水平。
因此,在測試過程中,ND3QN累積獎(jiǎng)勵(lì)和任務(wù)丟棄率都優(yōu)于基線算法,這表明ND3QN在邊云環(huán)境中部署時(shí),可實(shí)現(xiàn)高效的任務(wù)卸載決策和資源分配。
任務(wù)卸載算法需要適用于不同的任務(wù)生成率,以確保算法在不同的任務(wù)負(fù)載情況下都可以做出最優(yōu)的任務(wù)卸載決策。如圖8所示,實(shí)驗(yàn)探討了在任務(wù)回合數(shù)為200時(shí),算法在不同時(shí)間周期下的性能表現(xiàn)(縱坐標(biāo)為平均每回合的累積獎(jiǎng)勵(lì)、任務(wù)丟棄率和加權(quán)成本),即研究不同任務(wù)生成率對(duì)算法性能的影響。在圖8(a)中,ND3QN的累積獎(jiǎng)勵(lì)均比random和OE的累積獎(jiǎng)勵(lì)大,而且在時(shí)間周期不斷增大的情況下,ND3QN和DDQN的累積獎(jiǎng)勵(lì)快速增大,但ND3QN的增大速度更快。當(dāng)時(shí)間周期等于2 h,ND3QN的累積獎(jiǎng)勵(lì)開始大于DDQN的累積獎(jiǎng)勵(lì)。在圖8(b)中,ND3QN 和 DDQN 的任務(wù)丟棄率隨著時(shí)間周期的增大而逐漸下降、收斂,但ND3QN 的任務(wù)丟棄率下降速度更快,并在后期保持在最低水平。random和OE的任務(wù)丟棄率明顯大于ND3QN 和 DDQN 的任務(wù)丟棄率。在圖8(c)中,ND3QN 和 DDQN 的加權(quán)成本隨著時(shí)間周期的增加而逐步降低,但ND3QN 的下降速度更快。此外,ND3QN的加權(quán)成本比基線算法的加權(quán)成本更低。
因此,在不同的時(shí)間周期(即任務(wù)生成率)下,綜合考慮累積獎(jiǎng)勵(lì)、任務(wù)丟棄率和加權(quán)成本,ND3QN的性能優(yōu)于基線算法。這表明ND3QN在實(shí)際部署時(shí),能很好地適應(yīng)不同任務(wù)負(fù)載情況下的任務(wù)卸載決策和資源分配。
4.5 消融實(shí)驗(yàn)
ND3QN對(duì)算法的狀態(tài)和獎(jiǎng)勵(lì)函數(shù)做出了改進(jìn),為驗(yàn)證改進(jìn)點(diǎn)的有效性,設(shè)計(jì)了以下消融實(shí)驗(yàn):
a)baseline algorithm(BA)。該算法在訓(xùn)練和測試的過程中,不考慮上一時(shí)間步的狀態(tài)和本文設(shè)計(jì)的獎(jiǎng)勵(lì)函數(shù)。
b)BA+reward improvement(RI)。在BA的基礎(chǔ)上,添加了式(23)的獎(jiǎng)勵(lì)函數(shù),旨在評(píng)估獎(jiǎng)勵(lì)函數(shù)對(duì)算法性能的影響。
c)BA+state improvement(SI)。在BA的基礎(chǔ)上,添加了式(18)的狀態(tài),以分析狀態(tài)對(duì)算法性能的貢獻(xiàn)。
d)BA+RI+SI(即ND3QN)。同時(shí)使用了式(23)的獎(jiǎng)勵(lì)函數(shù)和式(18)的狀態(tài),綜合考察改進(jìn)點(diǎn)對(duì)算法的影響。
實(shí)驗(yàn)分為訓(xùn)練和測試兩個(gè)過程,分別采用時(shí)間周期為8 h、共500個(gè)回合的訓(xùn)練數(shù)據(jù)集和時(shí)間周期為8 h、共300個(gè)回合的測試數(shù)據(jù)集。實(shí)驗(yàn)結(jié)果(如表3所示)表明,在訓(xùn)練過程中,BA+SI 的任務(wù)丟棄率低于BA,而BA+RI的任務(wù)丟棄率高于BA,但BA+RI+SI的任務(wù)丟棄率低于其余三者。此外,在訓(xùn)練過程中出現(xiàn)了BA+RI的任務(wù)丟棄率高于BA的情況,反映了算法的改進(jìn)不總是存在累加效應(yīng)。某一個(gè)改進(jìn)帶來了性能下降,但與其他改進(jìn)點(diǎn)結(jié)合時(shí),可能獲得整體性能的提升。
在測試過程中,BA的任務(wù)丟棄率是全局最高的,而BA+RI+SI擁有最低的任務(wù)丟棄率。這說明了SI可為卸載決策提供更多上下文,RI能夠更好地引導(dǎo)學(xué)習(xí)過程,進(jìn)而提高算法決策質(zhì)量和資源分配能力,SI和RI兩者結(jié)合使用時(shí)效果最佳。因此,消融實(shí)驗(yàn)的結(jié)果體現(xiàn)了改進(jìn)點(diǎn)的有效性。
5 結(jié)束語
邊云環(huán)境因其高度隨機(jī)性和動(dòng)態(tài)性的特點(diǎn),面臨著異構(gòu)任務(wù)高效卸載的巨大挑戰(zhàn)。因此,本文提出了一個(gè)基于DRL的ND3QN算法,用于邊云環(huán)境中的任務(wù)高效卸載和資源分配。ND3QN聯(lián)合最小化任務(wù)完成時(shí)間和費(fèi)用,并創(chuàng)新地構(gòu)建了包含環(huán)境動(dòng)態(tài)信息的狀態(tài),由此可用簡單的神經(jīng)網(wǎng)絡(luò)捕捉環(huán)境的復(fù)雜動(dòng)態(tài)信息;設(shè)計(jì)了能有效指導(dǎo)算法訓(xùn)練的獎(jiǎng)勵(lì)函數(shù),增強(qiáng)算法學(xué)習(xí)效果;實(shí)現(xiàn)了細(xì)粒度卸載,從而滿足任務(wù)對(duì)資源的需求,提高資源利用率。實(shí)驗(yàn)結(jié)果表明,在不同探索率和學(xué)習(xí)率下,ND3QN的訓(xùn)練收斂速度和收斂值存在明顯差異;與基線算法相比,ND3QN在任務(wù)丟棄率、完成時(shí)間和費(fèi)用等方面具有更好的表現(xiàn);消融實(shí)驗(yàn)證明了狀態(tài)和獎(jiǎng)勵(lì)函數(shù)改進(jìn)的有效性。這表明ND3QN具有強(qiáng)大的泛化能力,能很好地適應(yīng)高度隨機(jī)和動(dòng)態(tài)的邊云環(huán)境。未來將擴(kuò)展加權(quán)成本模型以考慮更多影響卸載決策的因素,如能耗;允許任務(wù)本地處理。此外,設(shè)定約束條件的優(yōu)先級(jí),懲罰函數(shù)根據(jù)優(yōu)先級(jí)獲得不同的懲罰值。
參考文獻(xiàn):
[1]Hu Pengfei, Dhelim S, Ning Huansheng, et al. Survey on fog computing: architecture, key technologies, applications and open issues[J]. Journal of Network and Computer Applications, 2017, 98: 27-42.
[2]Goudarzi M, Palaniswami M, Buyya R. Scheduling IoT applications in edge and fog computing environments: a taxonomy and future directions[J]. ACM Computing Surveys, 2022. 55(7): 1-41.
[3]Walia G K, Kumar M, Gill S S. AI-empowered fog/edge resource management for IoT applications: a comprehensive review, research challenges, and future perspectives[J]. IEEE Communications Surveys amp; Tutorials, 2024, 26(1): 619-669.
[4]Hsieh L T, Liu Hang, Guo Yang, et al. Deep reinforcement learning-based task assignment for cooperative mobile edge computing[J]. IEEE Trans on Mobile Computing, 2024, 23(4): 3156-3171.
[5]張帆, 王亞剛, 劉子杰. 基于延遲敏感應(yīng)用的邊云協(xié)同方案[J]. 計(jì)算機(jī)應(yīng)用研究, 2022, 39(2): 543-547. (Zhang Fan, Wang Yagang, Liu Zijie. Edge cloud collaboration scheme based on delay sensitive application[J]. Application Research of Computers, 2022, 39(2): 543-547.)
[6]Goudarzi M, Wu Huaming, Palaniswami M, et al. An application placement technique for concurrent IoT applications in edge and fog computing environments[J]. IEEE Trans on Mobile Computing, 2021, 20(4): 1298-1311.
[7]Shang Xiaojun, Huang Yaodong, Liu Zhenhua, et al. Reducing the service function chain backup cost over the edge and cloud by a self-adapting scheme[C]// Proc of IEEE Conference on Computer Communications. Piscataway, NJ: IEEE Press, 2020: 2096-2105.
[8]Goudarzi M, Rodriguez M A, Sarvi M, et al. μ-DDRL: a QoS-aware distributed deep reinforcement learning technique for service offloa-ding in fog computing environments[J]. IEEE Trans on Services Computing, 2024, 17(1): 47-59.
[9]Gubbi J, Buyya R, Marusic S, et al. Internet of Things (IoT): a vision, architectural elements, and future directions[J]. Future Ge-neration Computer Systems, 2013, 29(7): 1645-1660.
[10]Goudarzi M, Palaniswami M, Buyya R. A fog-driven dynamic resource allocation technique in ultra dense femtocell networks[J]. Journal of Network and Computer Applications, 2019, 145: 102407.
[11]Al-Fuqaha A, Guizani M, Mohammadi M, et al. Internet of Things: a survey on enabling technologies, protocols, and applications[J]. IEEE Communications Surveys amp; Tutorials, 2015, 17(4): 2347-2376.
[12]Srichandan S K, Majhi S K, Jena S, et al. A secure and distributed placement for quality of service-aware IoT requests in fog-cloud of things: a novel joint algorithmic approach[J]. IEEE Access, 2024, 12: 56730-56748.
[13]Goudarzi M, Palaniswami M, Buyya R. A distributed deep reinforcement learning technique for application placement in edge and fog computing environments[J]. IEEE Trans on Mobile Computing, 2023, 22(5): 2491-2505.
[14]Liu Yiming, Yu F R, Li Xi, et al. Distributed resource allocation and computation offloading in fog and cloud networks with non-orthogonal multiple access[J]. IEEE Trans on Vehicular Techno-logy, 2018, 67(12): 12137-12151.
[15]Tuli S, Ilager S, Ramamohanarao K, et al. Dynamic scheduling for stochastic edge-cloud computing environments using A3C learning and residual recurrent neural networks[J]. IEEE Trans on Mobile Computing, 2022, 21(3): 940-954.
[16]Zhou Guangyao, Wen Ruiming, Tian Wenhong, et al. Deep reinforcement learning-based algorithms selectors for the resource scheduling in hierarchical cloud computing[J]. Journal of Network and Computer Applications, 2022, 208: 103520.
[17]Wang Zhiyu, Goudarzi M, Gong Mingming, et al. Deep reinforcement learning-based scheduling for optimizing system load and response time in edge and fog computing environments[J]. Future Generation Computer Systems, 2024, 152: 55-69.
[18]Zhang Jiangjiang, Ning Zhenhu, Ali R H, et al. A many-objective ensemble optimization algorithm for the edge cloud resource scheduling problem[J]. IEEE Trans on Mobile Computing, 2024, 23(2): 1330-1346.
[19]Laboni N M, Safa S J, Sharmin S, et al. A hyper heuristic algorithm for efficient resource allocation in 5G mobile edge clouds[J]. IEEE Trans on Mobile Computing, 2024, 23(1): 29-41.
[20]Natesha B V, Guddeti R M R. Meta-heuristic based hybrid service placement strategies for two-level fog computing architecture[J]. Journal of Network and Systems Management, 2022, 30(3): 47.
[21]Yakubu I Z, Murali M. An efficient meta-heuristic resource allocation with load balancing in IoT-fog-cloud computing environment[J]. Journal of Ambient Intelligence and Humanized Computing, 2023, 14(3): 2981-2992.
[22]Ramezani S F, Ghasemi A, Toroghi H A, et al. Task scheduling in edge-fog-cloud architecture: a multi-objective load balancing approach using reinforcement learning algorithm[J]. Computing, 2023, 105(6): 1337-1359.
[23]Chen Xing, Hu Shengxi, Yu Chujia, et al. Real-time offloading for dependent and parallel tasks in cloud-edge environments using deep reinforcement learning[J]. IEEE Trans on Parallel and Distributed Systems, 2024, 35(3): 391-404.
[24]Tang Ming, Wong V W S. Deep reinforcement learning for task offloading in mobile edge computing systems[J]. IEEE Trans on Mobile Computing, 2022, 21(6): 1985-1997.
[25]Lu Jialin, Yang Jing, Li Shaobo, et al. A2C-DRL: dynamic scheduling for stochastic edge-cloud environments using A2C and deep reinforcement learning[J]. IEEE Internet of Things Journal, 2024, 11(9): 16915-16927.
[26]Tripathy S S, Bebortta S, Haque M I U, et al. Toward multi-modal deep learning-assisted task offloading for consumer electronic devices over an IoT-fog architecture[J]. IEEE Trans on Consumer Electronics, 2024, 70(1): 1656-1663.
[27]Wang Ziyu, Schaul T, Hessel M, et al. Dueling network architectures for deep reinforcement learning[C]// Proc of the 33rd International Conference on International Conference on Machine Learning. New York: JMLR.org, 2016: 1995-2003.
[28]Hasselt H V, Guez A, Silver D. Deep reinforcement learning with double Q-learning[C]// Proc of the 30th AAAI Conference on Artificial Intelligence. Palo Alto, CA: AAAI Press, 2016: 2094-2100.
[29]Calheiros R N, Ranjan R, Beloglazov A, et al. CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms[J]. Software: Practice and Experience, 2011, 41(1): 23-50.
[30]Lou Jiong, Tang Zhiqing, Zhang Songli, et al. Cost-effective scheduling for dependent tasks with tight deadline constraints in mobile edge computing[J]. IEEE Trans on Mobile Computing, 2023, 22(10): 5829-5845.