葛海波,趙其實(shí),車虹葵,李照宇
(西安郵電大學(xué) 電子工程學(xué)院,陜西 西安 710121)
近年來,隨著智能設(shè)備的快速發(fā)展,諸如人臉識別、虛擬現(xiàn)實(shí)(VR)和智能互動游戲等新型計(jì)算密集型應(yīng)用需求也在迅速增長。但大多數(shù)用戶設(shè)備(user equipment,UE)受資源限制,將任務(wù)上傳到遠(yuǎn)程云服務(wù)器上處理需要消耗大量的能量,且產(chǎn)生較高的時(shí)延[1]。移動邊緣計(jì)算(mobile edge computing,MEC)的提出為這類問題提供了很好的解決方案[2]。與傳統(tǒng)移動云計(jì)算(mobile cloud computing,MCC)相比,MEC是將計(jì)算和存儲資源部署在靠近用戶的網(wǎng)絡(luò)邊緣[3,4]。用戶設(shè)備的計(jì)算任務(wù)可以就近卸載,降低了網(wǎng)絡(luò)延遲和能耗,極大地緩解了云服務(wù)器和核心網(wǎng)絡(luò)的壓力。
目前,針對MEC卸載問題已做了大量研究。文獻(xiàn)[5]提出 HCOGA算法聯(lián)合優(yōu)化5G邊緣計(jì)算環(huán)境下的工作流模型開銷;文獻(xiàn)[6]通過半定義松弛和隨機(jī)化優(yōu)化分流決策,保證用戶最大可容忍延遲;文獻(xiàn)[7]提出一個(gè)集成框架,用于MEC在無線蜂窩網(wǎng)絡(luò)中進(jìn)行計(jì)算卸載和干擾管理;文獻(xiàn)[8]提出一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的強(qiáng)化學(xué)習(xí)方法來解決計(jì)算卸載問題;文獻(xiàn)[9,10]提出基于RL的卸載算法,以最大程度地提高用戶效用,同時(shí)降低成本。
上述方法不能適用于大規(guī)模復(fù)雜的網(wǎng)絡(luò)環(huán)境,基于此,本文設(shè)計(jì)了三層移動網(wǎng)絡(luò)架構(gòu),綜合考慮多用戶、多MEC服務(wù)器和云服務(wù)器之間的協(xié)作;基于異步優(yōu)勢動作評價(jià)(asynchronous advantage actor-critic,A3C)算法,提出一種改進(jìn)的A3C(improved A3C,IA3C)算法,旨在最小化任務(wù)卸載時(shí)延和能耗的加權(quán)和。實(shí)驗(yàn)仿真表明,相比深度Q網(wǎng)絡(luò)(DQN)、Full Local(UE通過本地計(jì)算執(zhí)行任務(wù))、Full Offloading(所有UE將任務(wù)卸載到MEC服務(wù)器),IA3C算法在用戶數(shù)量、MEC計(jì)算能力、用戶數(shù)據(jù)量方面的總成本更低。
三層計(jì)算網(wǎng)絡(luò)架構(gòu)如圖1所示,由用戶設(shè)備(UE)、含邊緣服務(wù)器的基站(BS)和云服務(wù)器構(gòu)成。UE通過無線鏈路與BS連接,BS通過有線鏈路與云服務(wù)器連接。令M={1,2,…,M}表示BS可提供的無線信道的集合。N={1,2,…,N}表示UE的集合。每個(gè)UE擁有一個(gè)任務(wù)執(zhí)行需求且用兩種屬性In=(dn,bn)的二元組表示,dn表示完成用戶i的計(jì)算任務(wù)所需要的CPU周期數(shù),bn表示用戶i計(jì)算任務(wù)的數(shù)據(jù)量。假定無線信道條件在一個(gè)決策期間是恒定的。在一個(gè)決策周期中,UE可以將N個(gè)計(jì)算任務(wù)轉(zhuǎn)移到BS或云,或在本地進(jìn)行處理。
圖1 MEC三層網(wǎng)絡(luò)系統(tǒng)模型
若用戶i的任務(wù)在本地設(shè)備上執(zhí)行,令cl表示UE的計(jì)算能力,則任務(wù)In在本地的執(zhí)行時(shí)間可以表示為
(1)
根據(jù)文獻(xiàn)[11],用戶設(shè)備CPU的執(zhí)行能耗為
(2)
式中αn,βn,χn分別為CPU能耗模型的參數(shù)。
若UE通過卸載計(jì)算來執(zhí)行任務(wù)In,則整個(gè)卸載方法分為3個(gè)步驟。首先,UE通過無線接入網(wǎng)絡(luò)上傳輸入數(shù)據(jù)轉(zhuǎn)發(fā)到BS;然后,BS經(jīng)高速有線網(wǎng)絡(luò)將數(shù)據(jù)傳至云服務(wù)器;最后,云服務(wù)器執(zhí)行用戶的計(jì)算任務(wù)并將執(zhí)行結(jié)果返回給UE。
1)假定設(shè)備之間沒有間隔干擾,則UE選擇無線信道上傳的速率為
(3)
式中Bn為BS向設(shè)備分配的帶寬,p為設(shè)備的發(fā)射功率,Gn為設(shè)備與BS之間的信道增益,δ0為白高斯噪聲的功率。故此過程的任務(wù)傳輸時(shí)間為
(4)
相應(yīng)的數(shù)據(jù)傳輸能耗為
(5)
2)邊緣服務(wù)器通過高速有線網(wǎng)絡(luò)將負(fù)載數(shù)據(jù)傳輸至云服務(wù)器的傳輸時(shí)延定義為固定值tw。
(6)
則任務(wù)i的計(jì)算延遲為
(7)
(8)
設(shè)備任務(wù)i卸載至云服務(wù)器的總能耗為
(9)
最小化所有任務(wù)的總延遲以及執(zhí)行任務(wù)產(chǎn)生的總能耗表示為
(10)
任務(wù)的到達(dá)流程是一個(gè)時(shí)間序列,必須在每個(gè)時(shí)隙為任務(wù)做出卸載決策。卸載決策問題可建模為馬爾可夫決策過程(MDP)。三元組(S,A,R)表示離散時(shí)間MDP,其中,S表示狀態(tài)空間,A表示動作空間,R(s,a,s’)表示采取行動a使?fàn)顟B(tài)從s轉(zhuǎn)移到s’∈S的直接報(bào)酬。該系統(tǒng)的主要目標(biāo)是找到最優(yōu)策略π使所有任務(wù)的總懲罰最小化。
1)狀態(tài)空間
2)動作空間
3)獎(jiǎng)勵(lì)
優(yōu)化目標(biāo)是最小化總?cè)蝿?wù)延遲和能耗加權(quán)和,因此獎(jiǎng)勵(lì)函數(shù)應(yīng)與時(shí)間和能耗成負(fù)相關(guān)。獎(jiǎng)勵(lì)形式表示為
(11)
A3C算法使用多個(gè)actor-critic RL異步更新全局網(wǎng)絡(luò)模型。算法首先初始化策略和值函數(shù),進(jìn)入循環(huán),在每個(gè)時(shí)間步t,策略在狀態(tài)st選擇動作at并執(zhí)行,環(huán)境給出下一個(gè)狀態(tài)st+1和獎(jiǎng)賞rt+1作為反饋,然后計(jì)算出TD誤差,最后更新策略和值函數(shù)參數(shù),重復(fù)執(zhí)行以上步驟直至收斂。根據(jù)圖2,actor用于根據(jù)觀察狀態(tài)s選擇動作a并根據(jù)當(dāng)前狀態(tài)采取適當(dāng)?shù)男袆?;critic用于評估決策質(zhì)量并更新權(quán)重,負(fù)責(zé)估計(jì)在給定狀態(tài)下可以獲得的長期獎(jiǎng)勵(lì)的期望。
圖2 A3C算法的動態(tài)交互過程
IA3C算法通過以下方式更新參數(shù)
(12)
(13)
IA3C算法:
1)初始化內(nèi)存列表L,全局計(jì)數(shù)器N=0
2)初始化actor函數(shù)參數(shù)θ,critic函數(shù)參數(shù)ω,初始化狀態(tài)s
3)tmax=t
4)根據(jù)策略πθ(at|st)去執(zhí)行動作at
5)獲得獎(jiǎng)勵(lì)rt和新狀態(tài)st+1
6)內(nèi)存列表L記錄(st,at,rt)
7)t←t+1,T←T+1,
8)untilstort-tstart==tmax
9)R=Vω(st)
10)end for
11)fori∈{t-1,…,tstart}do
12)R←ri+γR
更新ω:dω←dω+?αc(R-Vω(st))2/?ω
14)untilN>Nmax
15)end for
本文使用Python語言在Visio Studio Code上將IA3C算法和DQN,Full Local,Full offloading三個(gè)算法在設(shè)備數(shù)量、MEC計(jì)算能力和用戶數(shù)據(jù)量3個(gè)方面比較,驗(yàn)證IA3C算法的有效性。
由于狀態(tài)的尺寸和范圍不同,使用Sigmoid函數(shù)對輸入?yún)?shù)進(jìn)行歸一化,并使用ReLU激活函數(shù)作為特征提取函數(shù)。根據(jù)文獻(xiàn)[12],UE的發(fā)射功率為23 dBm,帶寬是10 MHz。計(jì)算數(shù)據(jù)量bn(kbits)服從(200,600)的均勻分布,CPU周期數(shù)dn(Megacycles)服從(900,1100)的均勻分布,優(yōu)化目標(biāo)中的能耗和時(shí)延權(quán)重設(shè)置為we=wt=0.5。其他仿真參數(shù)如表1所示。
表1 仿真實(shí)驗(yàn)主要參數(shù)
圖3中可以觀察到,所改進(jìn)的IA3C算法在延遲和能耗的加權(quán)和方面優(yōu)于其他算法,其中MEC服務(wù)器的計(jì)算能力為Cg=2 GHz/s。當(dāng)UE數(shù)量不斷增加時(shí),4種方法的總成本都相應(yīng)增加,但I(xiàn)A3C方法得到的總成本是最小的。用戶數(shù)量很少時(shí),Full Offloading曲線略高于IA3C和DQN,用戶數(shù)量增多時(shí),該曲線的總成本顯著增加。因?yàn)閁E的數(shù)量變大,MEC服務(wù)器的容量不足以通過加載計(jì)算提供卸載。容量有限的一臺MEC服務(wù)器不應(yīng)為太多的UE服務(wù),因此如何選擇信道卸載變得非常重要。
圖3 不同設(shè)備數(shù)量的總成本比較
圖4顯示了MEC系統(tǒng)與MEC服務(wù)器計(jì)算能力增加的總成本,其中用戶的數(shù)量為20。隨著MEC計(jì)算能力的增加,IA3C方法得到的總成本一直比其他方法更小。Full Local曲線不會隨著MEC服務(wù)器容量的增加而變化,因?yàn)楸镜赜?jì)算不使用MEC服務(wù)器計(jì)算資源。其他曲線隨著MEC服務(wù)器計(jì)算容量的增加而減少,因?yàn)榉峙淞烁嗟挠?jì)算資源,執(zhí)行時(shí)間會變短。
圖4 不同MEC計(jì)算能力的總成本比較
圖5比較了MEC系統(tǒng)與不同用戶數(shù)據(jù)量大小下的總成本。所有方法的總成本隨著卸載任務(wù)數(shù)據(jù)大小的增大而增加,因?yàn)楦蟮臄?shù)據(jù)量會消耗更多的時(shí)間和能耗進(jìn)行卸載,從而增加MEC系統(tǒng)的總成本。IA3C算法能達(dá)到最佳效果,其增長趨勢比其他方法慢。隨著數(shù)據(jù)大小的增加,Full Local曲線的增長速度要快得多,表明卸載任務(wù)的數(shù)據(jù)越大,從卸載計(jì)算中獲得的延遲和能耗成本越大。
圖5 不同用戶數(shù)據(jù)量大小的總成本比較
本文研究了三層移動計(jì)算網(wǎng)絡(luò)架構(gòu)中基于深度強(qiáng)化學(xué)習(xí)的卸載決策問題,以最小化時(shí)延和功耗的總成本。仿真結(jié)果表明:IA3C算法的訓(xùn)練效率和性能相對于DQN算法、Full Local算法、Full offloading算法有優(yōu)勢。