摘 要:邊緣計算與衛(wèi)星物聯(lián)網(wǎng)相融合,可以將本地物聯(lián)網(wǎng)設備產(chǎn)生的任務在靠近邊緣端進行處理,極大地緩解了本地物聯(lián)網(wǎng)設備的計算壓力。然而,鑒于衛(wèi)星物聯(lián)網(wǎng)中計算任務具有多樣性,由于任務特性不同需求也不同,針對每一種任務類型部署一套計算卸載策略會導致計算資源的浪費。此外,由于衛(wèi)星物聯(lián)網(wǎng)中計算任務產(chǎn)生具有隨機性,如果僅考慮系統(tǒng)短期優(yōu)化會導致計算設備的計算資源利用不足,進一步導致任務處理時延的增加。為解決上述問題,提出了一種基于 DQN(deep Q-network) 多類型任務計算卸載策略,該策略引入排隊論以最小化長期系統(tǒng)任務處理平均時延,并且為提升模型訓練結(jié)果,在訓練階段重新設計了探索機制。最后,大量仿真結(jié)果表明,與其他卸載策略相比,所提策略能有效降低系統(tǒng)任務處理的平均時延。
關鍵詞:邊緣計算; 衛(wèi)星物聯(lián)網(wǎng); 計算卸載; 深度強化學習; 排隊論
中圖分類號:TP393 文獻標志碼:A
文章編號:1001-3695(2024)11-035-3441-06
doi: 10.19734/j.issn.1001-3695.2024.03.0087
Computing offloading strategy for multi-type tasks in satellite Internet of Things
Yang Guisonga, Li Xiangfeia, He Xingyua, b?
(a. School of Optical-Electrical amp; Computer Engineering, b. College of Communication amp; Art Design, University of Shanghai for Science amp; Technology, Shanghai 200093, China)
Abstract:Integrating edge computing with satellite Internet of Things (SIoT) allows tasks generated by local IoT devices to be processed closer to the edge, significantly relieving the computational burden on local IoT devices. However, given the diversity of computational tasks in satellite IoT, deploying a specific computing offloading strategy for each type of task leads to wastage of computational resources due to varying requirements based on task characteristics. Moreover, the randomness in the generation of computational tasks in satellite IoT requires a long-term optimization approach; otherwise, it may result in underutilization of computational resources of the devices, further increasing the task processing delay. To address these issues, this paper proposed a multi-type task computing offloading strategy based on DQN , incorporating queue theory to minimize the long-term average delay in system task processing. Additionally, to enhance the training outcomes,it redesigned the exploration method during the training phase. Finally, extensive simulation results indicate that the proposed strategy effectively reduces the average task processing delay in the system compared with other offloading strategies.
Key words:edge computing; satellite Internet of Things; computing offloading; deep reinforcement learning; queuing theory
0 引言
隨著衛(wèi)星技術的發(fā)展,尤其是低地球軌道(low earth orbit, LEO)衛(wèi)星[1]的興起。低軌衛(wèi)星逐漸小型化和經(jīng)濟化可以作為地面網(wǎng)絡的有效補充和擴展,能很好地解決地面網(wǎng)絡存在的覆蓋難、易受災害等問題,低軌衛(wèi)星是當前衛(wèi)星通信系統(tǒng)的重要發(fā)展趨勢。而衛(wèi)星物聯(lián)網(wǎng)(satellite Internet of Things,SIoT)[2]將衛(wèi)星與物聯(lián)網(wǎng)技術相結(jié)合,可以有效幫助偏遠地區(qū)的物聯(lián)網(wǎng)設備環(huán)境通信問題[3]。在衛(wèi)星物聯(lián)網(wǎng)架構(gòu)下,本地物聯(lián)網(wǎng)設備難以處理的任務可以通過衛(wèi)星中繼發(fā)送至地面云計算中心進行處理,但對時延、帶寬、可靠性等性能指標不提供任何保證[4]。隨著衛(wèi)星物聯(lián)網(wǎng)發(fā)展,環(huán)境監(jiān)測、智能農(nóng)業(yè)[5, 6]等新型應用誕生,這些新型應用要求高網(wǎng)絡性能,傳統(tǒng)衛(wèi)星物聯(lián)網(wǎng)架構(gòu)難以支撐新型應用對網(wǎng)絡的多樣化需求。因此,將邊緣計算思想引入衛(wèi)星物聯(lián)網(wǎng)中,可以將本地物聯(lián)網(wǎng)設備產(chǎn)生的任務放在靠近邊緣端進行處理,極大地緩解了本地物聯(lián)網(wǎng)設備的計算壓力,并且避免了任務通過衛(wèi)星中繼發(fā)送至地面云計算中心所產(chǎn)生的高額傳輸延遲[7]。然而,通過引入邊緣計算思想,將計算能力下沉至邊緣端可以緩解一定壓力,但由于衛(wèi)星物聯(lián)網(wǎng)中物聯(lián)網(wǎng)設備產(chǎn)生的任務具有多樣性,例如,自動駕駛中車輛需要實時處理來自各種傳感器的數(shù)據(jù),這種類型任務對網(wǎng)絡和處理延遲提出了非常嚴格的要求;視頻分析任務中需要大量計算資源從視頻流中分析和提取信息進行分析,這種類型任務對計算資源有大量需求。衛(wèi)星物聯(lián)網(wǎng)中任務的產(chǎn)生具有隨機性,本地物聯(lián)網(wǎng)設備和地面邊緣服務器的計算資源具有有限性。因此,如何在衛(wèi)星物聯(lián)網(wǎng)場景下在多種約束條件下實現(xiàn)多類型任務計算卸載是一個重大挑戰(zhàn)。
目前,針對邊緣計算架構(gòu)下的計算卸載研究已有很多,近幾年,在面向算力資源優(yōu)化的協(xié)同計算研究中,從任務種類分析主要考慮單種任務。例如,Ning等人[8]由于移動電話和筆記本電腦等本地設備無法滿足用于醫(yī)療信息分析的時延敏感任務的延遲,將邊緣服務器引入與本地設備和邊緣服務器結(jié)合構(gòu)成協(xié)同計算架構(gòu),通過博弈算法來最小化時間敏感任務的處理延遲。又例如,Huang等人[9]通過建立云-邊-端三層協(xié)同計算架構(gòu)來幫助船舶進行海洋監(jiān)測等時延容忍型任務的處理,在該架構(gòu)下通過傳輸機制最小化時延和能耗。再例如,Cui等人[3]通過搭建以衛(wèi)星輔助車輛的多層協(xié)同計算架構(gòu)來幫助車輛進行自動駕駛、圖像識別等計算密集型任務,通過計算卸載算法來幫助優(yōu)化計算和通信資源,最終達到最小化時延。此外,從優(yōu)化目標的角度分析目前現(xiàn)有研究主要為三類,以優(yōu)化時延為目標[10]、以優(yōu)化能耗為目標[11],以及以綜合優(yōu)化時延和能耗為目標[12]。在已有的研究中,并未考慮衛(wèi)星物聯(lián)網(wǎng)中任務類型的多樣性。然而,本地物聯(lián)網(wǎng)設備資源有限,為每一種任務類型部署一套獨立的卸載策略是不切實際的,并且會導致資源的浪費。不僅如此,策略之間的頻繁切換會增大任務處理的時延。
此外,為了提升計算卸載策略在動態(tài)環(huán)境下的表現(xiàn)能力,一些工作[13~17]致力于研究基于強化學習的計算卸載方案。文獻[18]提出了一種基于深度強化學習的計算卸載策略,旨在考慮計算資源和能耗等約束,同時最小化系統(tǒng)成本;文獻[19]提出了一種基于Actor-Critic網(wǎng)絡的深度強化學習物聯(lián)網(wǎng)應用計算卸載方案來降低系統(tǒng)開銷;文獻[20]提出了一種基于DDQN的方法以確定計算卸載和資源分配的聯(lián)合策略來降低系統(tǒng)能耗;文獻[21]提出了一種基于DDPG的時間注意力確定性策略梯度來解決計算卸載和資源分配的聯(lián)合優(yōu)化問題。然而,上述文獻假設計算設備在完成當前任務之前不會接收新的任務,這一假設僅關注了系統(tǒng)的短暫性能,忽視了對長期系統(tǒng)性能的優(yōu)化,是不切實際的。
為了解決上述問題,本文提出了一種以優(yōu)化時延為目標的基于DQN[22]多類型任務的計算卸載策略。該策略可以同時考慮多類型任務如時延敏感型以及計算密集型任務,提高模型泛化能力,在最大程度地減少計算任務處理時延的同時提高計算資源利用率;同時,引入排隊論思想,實現(xiàn)最小化長期系統(tǒng)任務處理平均時延。
1 系統(tǒng)模型和問題描述
1.1 系統(tǒng)模型
在SIoT環(huán)境下,如圖1所示,系統(tǒng)由本地物聯(lián)網(wǎng)設備、地面邊緣服務器和地面云計算中心組成。在該場景中,對于本地物聯(lián)網(wǎng)設備產(chǎn)生的計算任務系統(tǒng)根據(jù)當前系統(tǒng)中設備資源狀態(tài)與任務屬性選擇卸載設備。本地物聯(lián)網(wǎng)設備和地面邊緣服務器都具有一定的計算資源,可以處理計算需求較低或者對時延要求比較高的時延敏感型任務。通過衛(wèi)星傳輸會產(chǎn)生較大的傳輸延遲,對于一些計算資源需求高的計算密集型任務可以通過衛(wèi)星中繼至地面云計算中心處理。衛(wèi)星天線配備了強大的定向天線,并通過衛(wèi)星到地面鏈路與低軌衛(wèi)星通信,為該區(qū)域內(nèi)的本地物聯(lián)網(wǎng)設備提供衛(wèi)星網(wǎng)絡接入服務。它們可以支持大量的物聯(lián)網(wǎng)設備,類似于蜂窩網(wǎng)絡或區(qū)域IP網(wǎng)絡。然而,考慮到本地物聯(lián)網(wǎng)設備與地面邊緣服務器的計算資源有限,需要引入排隊模型來處理任務。在本場景中,假設地面云計算中心的計算資源無限大,對于發(fā)送至地面云計算中心的任務均可以分配相應資源,因此在地面云計算中心中不考慮排隊模型。設備之間通信方式有衛(wèi)星天線與邊緣服務器、信關站、本地物聯(lián)網(wǎng)設備通信的無線鏈路,包括WiFi、藍牙等;衛(wèi)星天線與低軌衛(wèi)星的通信方式有星地鏈路,如Ku、Ka波段等。
為了便于表達和分析,定義本地物聯(lián)網(wǎng)設備的集合為U={Ui|1≤i≤I},所有本地物聯(lián)網(wǎng)設備產(chǎn)生任務的集合為T={Ti,j|1≤i≤I,1≤j≤J}。假設本地物聯(lián)網(wǎng)設備Ui產(chǎn)生了一個計算任務Ti,j。由于,考慮本文目標是支持多任務種類類型,采用一個元組(φi,j,ci,j,ρi,j,ti,j)表示每個本地物聯(lián)網(wǎng)設備產(chǎn)生的計算任務Ti,j。這里φi,j表示本地物聯(lián)網(wǎng)設備Ui產(chǎn)生的計算任務Ti,j的數(shù)據(jù)大小,單位為bit;ci,j表示本地物聯(lián)網(wǎng)設備Ui產(chǎn)生的計算任務Ti,j每bit所需的CPU周期數(shù),單位為cycles/bit;ρi,j表示本地物聯(lián)網(wǎng)設備Ui產(chǎn)生的計算任務Ti,j的最大容忍時延,單位為s;ti,j表示當前計算任務的任務類型,如時延敏感型、時延容忍型等,將任務類型作為任務屬性,模型在動作選擇時可以根據(jù)當前任務類型及環(huán)境信息選擇合適的動作,以此來增加模型在處理多類型任務的泛化能力。本文考慮多個地面邊緣服務器,即邊緣服務器的集合為E={Ek|1≤k≤K},環(huán)境中時隙為t,對于不同時隙的本地物聯(lián)網(wǎng)設備來說,由于計算資源的時變性,其可選擇的卸載對象是時變的。假設本地物聯(lián)網(wǎng)設備生成給定數(shù)據(jù)大小的計算任務,設備最初會獲取有關計算任務需求的信息。隨后,根據(jù)任務需求和SIoT網(wǎng)絡中可用的計算資源,設備使用卸載策略將計算任務分配給指定設備進行處理。最后,在指定設備完成計算任務后,將結(jié)果返回給本地物聯(lián)網(wǎng)設備。由于任務處理結(jié)果相對于任務大小來說較小,所以任務的處理延遲主要為任務傳輸延遲以及任務計算延遲。因此,系統(tǒng)在整個任務卸載過程中的平均處理延遲是評估系統(tǒng)內(nèi)卸載策略有效性的關鍵性能指標。
1.2 排隊模型
在本文中,考慮到本地物聯(lián)網(wǎng)設備與地面邊緣服務器的計算資源有限,需要引入排隊模型來處理任務。本文中排隊模型遵循先來先服務原則,本地物聯(lián)網(wǎng)設備以隊列qlocali、地面邊緣服務器以隊列qedgek來存儲到達的任務,對于時隙t到達本地物聯(lián)網(wǎng)設備Ui的計算任務,可以在時隙t+1內(nèi)被處理,同時時隙t+1所到達的任務,需要等待時隙t到達本地物聯(lián)網(wǎng)設備Ui的計算任務處理完之后被處理,本地物聯(lián)網(wǎng)設備Ui的排隊隊列可表示為
Qlocali=[Taski,1local,Taski,2local,…,Taski,nlocal](1)
其中:Taski,nlocal為到達本地物聯(lián)網(wǎng)設備Ui未被處理的任務信息,包括到達時間和所需的處理時延。本地物聯(lián)網(wǎng)設備Ui的排隊時延qlocali可表示為
qlocali=∑n1(taski,1local+taski,2local+…+taski,nlocal)(2)
其中:taski,nlocal為到達本地物聯(lián)網(wǎng)設備Ui未被處理任務所需的處理時延,包括計算時延和通信時延。
同理,邊緣服務器k的排隊隊列可表示為
Qedgek=[Taskk,1edge,Taskk,2edge,…,Taskk,nedge](3)
其中:Taskk,nedge為到達邊緣服務器k未被處理的任務信息,包括到達時間和所需的處理時延。邊緣服務器k的排隊時延qedgek可表示為
qedgek=∑n1(taskk,1edge+taskk,2edge…+taskk,nedge)(4)
其中:taskk,nedge為到達邊緣服務器Ek未被處理任務所需的處理時延,包括計算時延和通信時延。
1.3 通信模型
在本文中,設備之間通信采用端到端的通信方式進行通信,衛(wèi)星天線到低軌衛(wèi)星的傳輸速率Rs可表示為
Rs=ωslog2(1+PS×Gsσs)(5)
其中:ωs為星地鏈路的帶寬;Ps為衛(wèi)星天線的鏈路傳輸功率;σs為衛(wèi)星天線與低軌衛(wèi)星之間的信道噪聲功率;Gs為低軌衛(wèi)星的信道增益。
同理,卸載到地面邊緣服務器傳輸速率Re可表示為
Re=ωelog2(1+Pe×Geσe)(6)
其中:ωe為地面無線鏈路的帶寬;Pe為衛(wèi)星天線與地面邊緣服務器之間的鏈路傳輸功率;Ge為地面邊緣服務器的信道增益;σe為衛(wèi)星天線與地面邊緣服務器之間的信道噪聲功率。
1.4 計算模型
在本文中對于每個物聯(lián)網(wǎng)設備產(chǎn)生的任務不可分割,單個完全卸載。且由于衛(wèi)星物聯(lián)網(wǎng)中本地物聯(lián)網(wǎng)設備與地面邊緣服務器資源有限,所以本文考慮在這兩種設備處理任務時會產(chǎn)生的排隊時延。
a)本地物聯(lián)網(wǎng)設備計算。
由于本地計算不產(chǎn)生傳輸時延,所以對于物聯(lián)網(wǎng)設備Ui處理計算任務Ti,j產(chǎn)生的計算時延表示為
di,jlocal=ci,jφi,jfiu+qlocali(7)
其中:fiu為物聯(lián)網(wǎng)設備Ui的計算能力;φi,j表示物聯(lián)網(wǎng)設備Ui產(chǎn)生的計算任務Ti,j的數(shù)據(jù)大小;ci,j表示物聯(lián)網(wǎng)設備Ui產(chǎn)生的計算任務Ti,j所需的CPU周期數(shù),qlocali為物聯(lián)網(wǎng)設備Ui的排隊時延。
b)地面邊緣服務器計算。
本地物聯(lián)網(wǎng)設備產(chǎn)生任務之后如果選擇卸載到其所觀測到的邊緣服務器,計算任務Ti,j卸載到地面邊緣服務器k處理產(chǎn)生的時延可表示為
di,jedge=φi,jRe+ci,jφi,jfke+qedgek(8)
其中:φi,jRe表示計算任務從本地物聯(lián)網(wǎng)設備到地面邊緣服務器的傳輸時延;Re表示從物聯(lián)網(wǎng)設備Ui到邊緣服務器的傳輸速率;ci,jφi,jfke表示計算任務在邊緣服務器Ek上處理產(chǎn)生的計算時延;fke表示邊緣服務器Ek的計算能力;qedgek表示計算任務在邊緣服務器k上等待被處理產(chǎn)生的排隊時延。
c)地面云計算中心計算。
物聯(lián)網(wǎng)設備產(chǎn)生任務之后如果選擇卸載到地面云計算中心,計算任務Ti,j卸載到衛(wèi)星邊緣節(jié)點產(chǎn)生的時延可表示為
di,jcloud=ci,jφi,jfmc+φi,jRs(9)
其中:ci,jφi,jfmc表示計算任務在地面云計算中心處理產(chǎn)生的計算時延;fmc表示地面云計算中心分配給任務Ti,j的計算能力;φi,jRs表示計算任務從計算任務在地面云計算中心的傳輸時延。
1.5 問題描述
對于本地物聯(lián)網(wǎng)設備產(chǎn)生的計算任務,要么本地物聯(lián)網(wǎng)設備處理,要么卸載至地面邊緣服務器上處理,要么卸載至地面云計算中心處理。因此引入一個卸載決策Xi,j表示計算任務的卸載情況:
Xi,j={xi,j,yi,j,zi,j}(10)
xi,j∈{0,1},yi,j∈{0,1},zi,j∈{0,1}(11)
xi,j+yi,j+zi,j=1(12)
其中:xi,j表示本地物聯(lián)網(wǎng)設備產(chǎn)生的計算任務是否在本地處理,yi,j表示本地物聯(lián)網(wǎng)設備產(chǎn)生的計算任務是否卸載到地面邊緣服務器上處理;zi,j表示本地物聯(lián)網(wǎng)設備產(chǎn)生的計算任務是否卸載到地面云計算中心處理。因此,系統(tǒng)處理任務平均時延為
D=1|T|∑UUi∑TTi,jxi,jDi,jlocal+yi,jDi,jedge+zi,jDi,jcloud(13)
本文的目的是找到使整個系統(tǒng)的平均任務處理時延最小的卸載策略,則針對優(yōu)化問題的目標函數(shù)可以表述如下:
P1:MinimizeD(14)
s.t.C1:式(10)~(12),?Ti,j∈T(15)
C2:xi,jdi,jlocal+yi,jdi,jedge+zi,jdi,jcloud≤ρi,j(16)
C3:Ti,j(fu)=1,?i∈1,2,…,I,j∈1,2,…,J,u∈1,2,…,I(17)
C4:Ti,j(fk)=1,?i∈1,2,…,I,j∈1,2,…,J,k∈1,2,…,K(18)
其中:C1是卸載約束,表示計算任務可以本地處理、邊緣服務器或者地面云計算中心上處理;C2是任務時延容忍約束,表示任務從產(chǎn)生到處理完成的時延要在給定的ρi,j范圍之內(nèi);C3和C4表示保證每個任務只分配給一個本地物聯(lián)網(wǎng)設備或地面邊緣服務器處理。
P1是一個任務數(shù)未知的非線性優(yōu)化問題,用常規(guī)方法很難求解??紤]到衛(wèi)星物聯(lián)網(wǎng)中物聯(lián)網(wǎng)設備產(chǎn)生的任務具有隨機性和多樣性,如時延敏感型和計算密集型任務,并且物聯(lián)網(wǎng)設備和地面邊緣服務器的計算帶寬資源具有有限性,本文將衛(wèi)星物聯(lián)網(wǎng)中計算卸載重新表述為最小化系統(tǒng)長期平均任務處理時延為目標的最優(yōu)馬爾可夫決策過程來求解,設計了一種基于DQN的多任務種類計算卸載策略來解決該問題。在本地物聯(lián)網(wǎng)設備和地面邊緣服務器資源的限制下,考慮多任務種類特性并引入排隊論,最大限度地減少計算任務處理延遲,達到最小化系統(tǒng)長期平均任務處理時延的效果。
2 基于DQN 多類型任務的計算卸載策略
本文首先將問題P1表述為馬爾可夫決策過程,然后提出了一種基于 DQN 的多類型任務計算卸載策略,之后又詳細介紹了策略設計方案。
2.1 馬爾可夫決策過程
本文定義了一個元組M:=〈S,A,C,π〉來模擬馬爾可夫決策過程。具體來說,S表示狀態(tài)的集合,A是動作的集合,C表示成本函數(shù),π是策略。同時,將C(s,a)定義為系統(tǒng)處于狀態(tài)s并采取行動a時的成本。對于上述問題,馬爾可夫決策過程模型中的狀態(tài)空間、動作空間、獎勵函數(shù)以及策略表示如下:
a)狀態(tài)空間。
在時隙t中,用一個元組來表示當前時隙狀態(tài)(Dt,Taskt,Et),其中,Dt為當前時隙產(chǎn)生任務設備資源使用情況,Taskt為當前時隙產(chǎn)生任務屬性,Et為前時隙可卸載目標設備資源使用情況,包括邊緣服務器以及地面云計算中心。
b)動作空間。
在時隙t中,將動作空間定義為at=Ht,其中Ht為當前時隙任務卸載目標,當Ht=0時為本地物聯(lián)網(wǎng)設備自身進行處理,當Ht=1或2時,選擇邊緣服務器進行處理,當Ht=3時,選擇地面云計算中心進行處理。
c)獎勵。
在時隙t中,當本地物聯(lián)網(wǎng)設備采取行動時,將獲取獎勵和下一個狀態(tài)。獎勵的目的是評價當前時隙所采取行動的好壞,而獎勵函數(shù)將直接影響強化學習算法的結(jié)果。具體而言,在本文的動作選擇階段,動作空間包括將計算任務放在本地物聯(lián)網(wǎng)設備計算、地面邊緣服務器計算和地面云計算中心計算。在采取行動后,使用獎勵函數(shù)來評估行動的好壞。本文通過計算處理計算任務的處理時延來衡量卸載動作的好壞。其中,本文處理計算任務Ti,j的處理時延表示為
Di,j=xidi,jlocal+yidi,jedge+zidi,jcloud(19)
可得本文的獎勵表示為
ri=-Di,j Di,jlt;ρi,j-Di,j-ρi,j Di,jgt;ρi,j(20)
其中:ρi,j為任務最大處理延遲。當任務處理時延超過最大時延時則給予相應的懲罰。
d)策略。
本文用π表示策略。對于深度強化學習,訓練好的策略可以應用于每個本地物聯(lián)網(wǎng)設備,本地物聯(lián)網(wǎng)設備根據(jù)當前時隙t所產(chǎn)生的任務作出卸載決策。
2.2 基于DQN的計算卸載算法設計方案
在深度強化學習領域,DQN算法是一種廣受歡迎的方法,但它在探索機制上仍有改進的空間,DQN算法如圖2所示?,F(xiàn)有的探索策略,如ε-貪婪(ε-greedy)方法,在平衡模型效果和探索方面往往效果不佳。為了解決這個問題,本文設計了一種新的探索方法,探索因子隨訓練輪數(shù)的增加而指數(shù)減少,旨在提高DQN算法在未知環(huán)境中的探索能力,以及模型的整體表現(xiàn)能力。具體如算法1所示。
算法1 ε探索因子更新算法
初始化:衰減速率N,εmax探索因子最大值,εmin探索因子最小值,訓練輪數(shù)episode。
輸入:當前訓練輪數(shù)n。
輸出:探索因子ε。
初始化探索因子εmax
if nlt;episode do
ε=εmin+(εmax-εmin)×e(-1×nN)
return ε
此外,當前深度強化學習在面對龐大的狀態(tài)空間時,往往會面臨訓練難度加大的挑戰(zhàn)。為了降低訓練難度,考慮從狀態(tài)空間的設計進行優(yōu)化。本文在針對每個本地物聯(lián)網(wǎng)設備狀態(tài)設計時,僅考慮自身資源狀態(tài)信息,這樣在當用戶數(shù)量增加時,相比較考慮所有用戶資源訓練難度要低。具體如算法2所示。
算法2 基于DQN的計算卸載算法
初始化:初始化經(jīng)驗池大小為D,目標Q網(wǎng)絡更新頻率,訓練輪數(shù)episode,環(huán)境訓練參數(shù),初始Q網(wǎng)絡權(quán)重ω,初始化目標網(wǎng)絡權(quán)重θ,初始探索因子εmax,時隙大小T, batch size大小B。
輸入:本地物聯(lián)網(wǎng)設備、地面邊緣服務器、任務屬性、地面云計算中心的狀態(tài)信息。
輸出:所有任務的動作和獎勵,訓練網(wǎng)絡并更新網(wǎng)絡。
for each episode do
初始化狀態(tài)st+1
根據(jù)算法1更新探索因子ε
for t=1,T do
根據(jù)探索因子選擇動作at
本地物聯(lián)網(wǎng)設備執(zhí)行動作at,獲得獎勵rt和下一時刻狀態(tài)st+1
將(st,at,rt,st+1)存儲到D中
從D中隨機采樣含有數(shù)目為B大小的樣本數(shù)據(jù)
更新Q網(wǎng)絡權(quán)重和目標Q網(wǎng)絡權(quán)重
end for
end for
在算法2中,探索因子在每個episode更新。將環(huán)境狀態(tài)作為輸入來生成卸載動作。隨后,將當前環(huán)境狀態(tài)、執(zhí)行該動作后獲得的下一個環(huán)境狀態(tài)以及相應的獎勵存儲在回放緩沖區(qū)中。最后,網(wǎng)絡參數(shù)通過從回放緩沖區(qū)隨機采樣來更新Q網(wǎng)絡權(quán)重和目標Q網(wǎng)絡權(quán)重。
3 仿真結(jié)果與分析
3.1 基于DQN的計算卸載策略設計方案
本文假設在衛(wèi)星物聯(lián)網(wǎng)和邊緣計算結(jié)合的場景中,系統(tǒng)由4個本地物聯(lián)網(wǎng)設備、2個邊緣服務器和1個云計算中心組成。對于每個本地物聯(lián)網(wǎng)設備產(chǎn)生的任務,任務種類有時延敏感型任務和計算密集型任務,任務的數(shù)據(jù)大小在 1~5 MB ,任務CPU周期數(shù)大小為 0~20 cycles,本地物聯(lián)網(wǎng)設備的計算能力為 0.2 GHz;邊緣服務器的計算能力在5~15 GHz,地面云計算中心給每個計算任務分配的計算能力為 10 GHz,系統(tǒng)帶寬為 5 MHz,地面?zhèn)鬏敼β蕿?5 mW,星地傳輸功率為 8 mW。實驗中的默認參數(shù)如表1所示。
提出的基于DQN的計算卸載方法通過Python 3.7和PyTorch開源機器學習庫實現(xiàn)。DQN的訓練使用NVIDIA 4060 GPU進行。DQN的Q網(wǎng)絡包括4個完全連接的隱藏層,共有128個神經(jīng)元;采用ReLU函數(shù)作為激活函數(shù),實現(xiàn)全連接層后的非線性逼近。在DQN訓練中采用Adam優(yōu)化器。
3.2 仿真結(jié)果
本文分兩部分展示了本文策略的仿真結(jié)果。首先評估了本文方法的收斂性能。其次,將所提出的方法與其他卸載方法的性能進行比較,依次比較了不同條件下的平均延遲等。
1)收斂性能
為了評估方法的收斂性,評估了本文方法在不同參數(shù)下的收斂性。在實驗中,將epoch大小設置為5 000。圖3展示了方法在不同學習率下的收斂情況,其中學習率表示每次迭代中向損失函數(shù)最小值移動的步長。在本實驗中,將學習率(lr)分別設置為1E-3、1E-4和1E-5。從圖中可以看出,當學習率設置為1E-3時,收斂速度快,但收斂時的振蕩幅度大于學習率設置為1E-4或1E-5時的振蕩幅度。但是,當學習率設置為1E-5時,收斂速度較慢。
圖4說明了該方法在不同batch size下的收斂性,其中batch size表示每次代理更新時采樣的經(jīng)驗數(shù)量。在實驗中,batch size分別設置為32、64和128。從圖中可以看出,當batch size設置為64時,收斂迅速有效。然而,當batch size設置為32時,盡管收斂速度很快,但振蕩幅度較大,模型訓練速度較慢。當batch size設置為128時,雖然收斂效果較好,但收斂速度相對較慢。
本文在確認算法的收斂范圍在[4 000,4 500]內(nèi)后,驗證了在epoch 4 000~4 500進行30 000次卸載操作的結(jié)果。從圖5可以看出,隨著數(shù)據(jù)量的增加,本地物聯(lián)網(wǎng)設備計算、地面邊緣服務器計算和地面云計算中心系統(tǒng)平均延遲也在增加,說明了算法模型的正確性。
此外,為了驗證本文算法1的正確性,本文在傳統(tǒng)探索因子ε固定為0.1的情況下作比較,結(jié)果如圖6所示,可見在算法1的加持下模型結(jié)果表現(xiàn)較好。
2)性能比較
為了驗證所提方法的優(yōu)越性和可靠性,本文將其與Q-Learning方法(Q-Learning)、隨機卸載方法(Random)、博弈論卸載方法(Game Theory)、本地卸載(Local)、邊緣服務器卸載(Remote)五種卸載方法進行了比較。與其他五種卸載相比,本文提出的計算卸載算法實現(xiàn)了最低的平均系統(tǒng)任務處理延遲。
a)Q-Learning方法:Q-Learning是一種無模型的強化學習算法,通過探索和利用行為來學習在給定狀態(tài)下執(zhí)行哪個動作以最大化累積獎勵。
b)隨機卸載方法:隨機方法是一種隨機行動選擇算法,通過在每個決策階段隨機選擇行動來解決問題。
c)博弈論卸載方法:博弈論方法涉及多個參與者在給定環(huán)境中作出決策,并根據(jù)其他參與者的行動和策略評估和選擇最優(yōu)決策。
d)本地卸載:本地卸載,即將所有計算任務卸載至自身進行計算。
e)邊緣服務器卸載:即將所有計算任務卸載至邊緣服務器進行計算。
如圖7所示,在實驗中,將任務數(shù)據(jù)大小分別設置為1 MB、2 MB、3 MB、4 MB和5 MB,并將本文方法與其他五種卸載方法在延遲方面進行比較。當任務數(shù)據(jù)量從1 MB增加到5 MB時,與其他五種卸載方法相比,本文算法可以保持最低的延遲。
通過比較發(fā)現(xiàn),本文方法的系統(tǒng)任務處理平均時延與Q-Learning方法相比平均時延降低了26.69%,與隨機卸載方法相比降低了約24.69%,與博弈論卸載方法相比平均時延降低了35.08%,與本地卸載相比平均降低了68.30%,與邊緣服務器卸載相比平均降低了53.39%。
此外,將地面邊緣服務器的計算能力分別設置為5 GHz、7.5 GHz、10 GHz、12.5 GHz和15 GHz,并將提出的策略與其他五種卸載方法在延遲方面進行了比較。如圖8所示,當?shù)孛孢吘壏掌鞯挠嬎隳芰? GHz增加到15 GHz時,與其他五種卸載方法相比,本文策略可以保持最低的延遲。
通過比較發(fā)現(xiàn),所提策略的系統(tǒng)任務處理平均時延與Q-Learning方法相比平均時延降低了30.34%,與隨機卸載方法相比降低了約19.23%,與博弈論卸載方法相比平均降低了31.24%,與本地卸載相比平時低了74.55%,與邊緣服務器卸載相比平均降低了55.52%。
4 結(jié)束語
本文深入研究了衛(wèi)星物聯(lián)網(wǎng)下針對多類型任務的計算卸載問題,提出了一種基于DQN的多類型任務計算卸載策略,該策略的核心在于考慮多種任務類型,減少計算資源的浪費,并且引入排隊論,長期優(yōu)化系統(tǒng)處理任務最小時延。此外,本文還通過改進探索機制來增加模型在訓練時的探索范圍,改善模型表現(xiàn)結(jié)果。實驗結(jié)果表明,該策略對比其他幾種卸載方法在處理任務方面的優(yōu)越性,驗證了策略的有效性和優(yōu)越性。
在未來工作中,隨著衛(wèi)星技術的發(fā)展,星上具有處理能力,星上計算來輔助衛(wèi)星物聯(lián)網(wǎng)中計算任務的處理是筆者下一步的工作計劃。此外,筆者計劃利用STK (System Tool Kit)獲取衛(wèi)星數(shù)據(jù),同時考慮綜合空間-地球網(wǎng)絡中網(wǎng)絡拓撲的動態(tài),同時優(yōu)化多維資源。
參考文獻:
[1]Deng Ruoqi, Di Boya, Chen Shanzhi, et al. Ultra-dense LEO satellite offloading for terrestrial networks: how much to pay the satellite operator? [J]. IEEE Trans on Wireless Communications, 2020, 19 (10): 6240-6254.
[2]Kim T, Kwak J, Choi J P. Satellite edge computing architectures and network slice scheduling for IoT support [J]. IEEE Internet of Things Journal, 2021, 9 (16): 14938-14951.
[3]Cui Gaofeng, Long Yating, Xu Lexi, et al. Joint offloading and resource allocation for satellite assisted vehicle-to-vehicle communication [J]. IEEE Systems Journal, 2020, 15 (3): 3958-3969.
[4]Tang Qingqing, Fei Zesong, Li Bin, et al. Stochastic computation offloading for LEO satellite edge computing networks: a learning-based approach [J]. IEEE Internet of Things Journal, 2024,11(4):5638-5652.
[5]Fortino G, Savaglio C, Spezzano G, et al. Internet of Things as system of systems: a review of methodologies, frameworks, platforms, and tools [J]. IEEE Trans on Systems, Man, and Cybernetics: Systems, 2020, 51 (1): 223-236.
[6]Franco P, Martínez J M,Kim Y C, et al. A framework for IoT based appliance recognition in smart homes [J]. IEEE Access, 2021, 9: 133940-133960.
[7]周恒, 李麗君, 董增壽. 基于異步獎勵深度確定性策略梯度的邊緣計算多任務資源聯(lián)合優(yōu)化 [J]. 計算機應用研究, 2023, 40 (5): 1491-1496. (Zhou Heng, Li Lijun, Dong Zengshou. Multi-tasks resource joint optimization based on asynchronous reward deep deterministic policy gradient in edge computing [J]. Application Research of Computers, 2023, 40 (5): 1491-1496.)
[8]Ning Zhaolong, Dong Peiran, Wang Xiaojie, et al. Mobile edge computing enabled 5G health monitoring for Internet of medical things: a decentralized game theoretic approach [J]. IEEE Journal on Selected Areas in Communications, 2020, 39 (2): 463-478.
[9]Huang Jie, Wan Jian, Yu Jianjun, et al. Edge computing-based adaptable trajectory transmission policy for vessels monitoring systems of marine fishery [J]. IEEE Access, 2020, 8: 50684-50695.
[10]Zhu Xiangming, Jiang Chunxiao. Delay optimization for cooperative multi-tier computing in integrated satellite-terrestrial networks [J]. IEEE Journal on Selected Areas in Communications, 2022, 41 (2): 366-380.
[11]Li Jian, Xue Kaiping, Wei D S L, et al. Energy efficiency and traffic offloading optimization in integrated satellite/terrestrial radio access networks [J]. IEEE Trans on Wireless Communications, 2020, 19(4): 2367-2381.
[12]Wang Yuanjun, Zhang Jiaxin, Zhang Xing, et al. A computation offloading strategy in satellite terrestrial networks with double edge computing [C]// Proc of IEEE International Conference on Communication Systems. Piscataway, NJ: IEEE Press, 2018: 450-455.
[13]Cao Mintao, Liu Lanyu, Wang Chao, et al. Computation resource offloading in mobile edge computing: a deep reinforcement approach [C]// Proc of the 3rd International Symposium on Computer Technology and Information Science. Piscataway, NJ: IEEE Press," 2023: 360-364.
[14]Xiao Han, Xu Changqiao, Ma Yunxiao, et al. Edge intelligence: a computational task offloading scheme for dependent IoT application [J]. IEEE Trans on Wireless Communications, 2022, 21 (9): 7222-7237.
[15]Zhou Huan, Jiang Kai, Liu Xuxun, et al. Deep reinforcement lear-ning for energy-efficient computation offloading in mobile-edge computing [J]. IEEE Internet of Things Journal, 2022, 9 (2): 1517-1530.
[16]Chen Juan, Xing Huanlai, Xiao Zhiwen, et al. A DRL agent for jointly optimizing computation offloading and resource allocation in MEC [J]. IEEE Internet of Things Journal, 2021, 8 (24): 17508-17524.
[17]Moghaddasi K, Rajabi S. Double deep Q-learning networks for energy-efficient IoT task offloading in D2D MEC environments [C]// Proc of the 7th International Conference on Internet of Things and App-lications. Piscataway, NJ: IEEE Press, 2023: 1-6.
[18]Osband I, Blundell C, Pritzel A, et al. Deep exploration via bootstrapped DQN[C]//Proc of the 30th International Conference on" Neural Information Processing Systems. Red Hook, NY: Curran Associates Inc., 2016:4033-4041.
[19]Van Hasselt H, 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.
[20]Babaeizadeh M, Frosio I, Tyree S, et al. GA3C: GPU-based A3C for deep reinforcement learning [EB/OL]. (2016-11-08). https://arxiv.org/abs/1611.06256v2.
[21]Hou Yuenan, Liu Lifeng, Wei Qing, et al. A novel DDPG method with prioritized experience replay [C]// Proc of IEEE International Conference on Systems, Man, and Cybernetics. Piscataway, NJ: IEEE Press," 2017: 316-321.
[22]Jiang Limin, Zhang Ke. Enhanced DQN in task offloading across multi-tier computing networks [C]// Proc of the 20th International Computer Conference on Wavelet Active Media Technology and Information Processing. Piscataway, NJ: IEEE Press, 2023: 1-6.