葛海波,趙其實,車虹葵,李照宇
(西安郵電大學 電子工程學院,陜西 西安 710121)
近年來,隨著智能設備的快速發展,諸如人臉識別、虛擬現實(VR)和智能互動游戲等新型計算密集型應用需求也在迅速增長。但大多數用戶設備(user equipment,UE)受資源限制,將任務上傳到遠程云服務器上處理需要消耗大量的能量,且產生較高的時延[1]。移動邊緣計算(mobile edge computing,MEC)的提出為這類問題提供了很好的解決方案[2]。與傳統移動云計算(mobile cloud computing,MCC)相比,MEC是將計算和存儲資源部署在靠近用戶的網絡邊緣[3,4]。用戶設備的計算任務可以就近卸載,降低了網絡延遲和能耗,極大地緩解了云服務器和核心網絡的壓力。
目前,針對MEC卸載問題已做了大量研究。文獻[5]提出 HCOGA算法聯合優化5G邊緣計算環境下的工作流模型開銷;文獻[6]通過半定義松弛和隨機化優化分流決策,保證用戶最大可容忍延遲;文獻[7]提出一個集成框架,用于MEC在無線蜂窩網絡中進行計算卸載和干擾管理;文獻[8]提出一種基于循環神經網絡(RNN)的強化學習方法來解決計算卸載問題;文獻[9,10]提出基于RL的卸載算法,以最大程度地提高用戶效用,同時降低成本。
上述方法不能適用于大規模復雜的網絡環境,基于此,本文設計了三層移動網絡架構,綜合考慮多用戶、多MEC服務器和云服務器之間的協作;基于異步優勢動作評價(asynchronous advantage actor-critic,A3C)算法,提出一種改進的A3C(improved A3C,IA3C)算法,旨在最小化任務卸載時延和能耗的加權和。實驗仿真表明,相比深度Q網絡(DQN)、Full Local(UE通過本地計算執行任務)、Full Offloading(所有UE將任務卸載到MEC服務器),IA3C算法在用戶數量、MEC計算能力、用戶數據量方面的總成本更低。
三層計算網絡架構如圖1所示,由用戶設備(UE)、含邊緣服務器的基站(BS)和云服務器構成。UE通過無線鏈路與BS連接,BS通過有線鏈路與云服務器連接。令M={1,2,…,M}表示BS可提供的無線信道的集合。N={1,2,…,N}表示UE的集合。每個UE擁有一個任務執行需求且用兩種屬性In=(dn,bn)的二元組表示,dn表示完成用戶i的計算任務所需要的CPU周期數,bn表示用戶i計算任務的數據量。假定無線信道條件在一個決策期間是恒定的。在一個決策周期中,UE可以將N個計算任務轉移到BS或云,或在本地進行處理。

圖1 MEC三層網絡系統模型
若用戶i的任務在本地設備上執行,令cl表示UE的計算能力,則任務In在本地的執行時間可以表示為
(1)
根據文獻[11],用戶設備CPU的執行能耗為
(2)
式中αn,βn,χn分別為CPU能耗模型的參數。
若UE通過卸載計算來執行任務In,則整個卸載方法分為3個步驟。首先,UE通過無線接入網絡上傳輸入數據轉發到BS;然后,BS經高速有線網絡將數據傳至云服務器;最后,云服務器執行用戶的計算任務并將執行結果返回給UE。
1)假定設備之間沒有間隔干擾,則UE選擇無線信道上傳的速率為
(3)
式中Bn為BS向設備分配的帶寬,p為設備的發射功率,Gn為設備與BS之間的信道增益,δ0為白高斯噪聲的功率。故此過程的任務傳輸時間為
(4)
相應的數據傳輸能耗為
(5)
2)邊緣服務器通過高速有線網絡將負載數據傳輸至云服務器的傳輸時延定義為固定值tw。

(6)
則任務i的計算延遲為
(7)

(8)
設備任務i卸載至云服務器的總能耗為
(9)
最小化所有任務的總延遲以及執行任務產生的總能耗表示為
(10)

任務的到達流程是一個時間序列,必須在每個時隙為任務做出卸載決策。卸載決策問題可建模為馬爾可夫決策過程(MDP)。三元組(S,A,R)表示離散時間MDP,其中,S表示狀態空間,A表示動作空間,R(s,a,s’)表示采取行動a使狀態從s轉移到s’∈S的直接報酬。該系統的主要目標是找到最優策略π使所有任務的總懲罰最小化。
1)狀態空間

2)動作空間

3)獎勵
優化目標是最小化總任務延遲和能耗加權和,因此獎勵函數應與時間和能耗成負相關。獎勵形式表示為
(11)

A3C算法使用多個actor-critic RL異步更新全局網絡模型。算法首先初始化策略和值函數,進入循環,在每個時間步t,策略在狀態st選擇動作at并執行,環境給出下一個狀態st+1和獎賞rt+1作為反饋,然后計算出TD誤差,最后更新策略和值函數參數,重復執行以上步驟直至收斂。根據圖2,actor用于根據觀察狀態s選擇動作a并根據當前狀態采取適當的行動;critic用于評估決策質量并更新權重,負責估計在給定狀態下可以獲得的長期獎勵的期望。

圖2 A3C算法的動態交互過程
IA3C算法通過以下方式更新參數
(12)


(13)
IA3C算法:
1)初始化內存列表L,全局計數器N=0
2)初始化actor函數參數θ,critic函數參數ω,初始化狀態s
3)tmax=t
4)根據策略πθ(at|st)去執行動作at
5)獲得獎勵rt和新狀態st+1
6)內存列表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三個算法在設備數量、MEC計算能力和用戶數據量3個方面比較,驗證IA3C算法的有效性。
由于狀態的尺寸和范圍不同,使用Sigmoid函數對輸入參數進行歸一化,并使用ReLU激活函數作為特征提取函數。根據文獻[12],UE的發射功率為23 dBm,帶寬是10 MHz。計算數據量bn(kbits)服從(200,600)的均勻分布,CPU周期數dn(Megacycles)服從(900,1100)的均勻分布,優化目標中的能耗和時延權重設置為we=wt=0.5。其他仿真參數如表1所示。

表1 仿真實驗主要參數
圖3中可以觀察到,所改進的IA3C算法在延遲和能耗的加權和方面優于其他算法,其中MEC服務器的計算能力為Cg=2 GHz/s。當UE數量不斷增加時,4種方法的總成本都相應增加,但IA3C方法得到的總成本是最小的。用戶數量很少時,Full Offloading曲線略高于IA3C和DQN,用戶數量增多時,該曲線的總成本顯著增加。因為UE的數量變大,MEC服務器的容量不足以通過加載計算提供卸載。容量有限的一臺MEC服務器不應為太多的UE服務,因此如何選擇信道卸載變得非常重要。

圖3 不同設備數量的總成本比較
圖4顯示了MEC系統與MEC服務器計算能力增加的總成本,其中用戶的數量為20。隨著MEC計算能力的增加,IA3C方法得到的總成本一直比其他方法更小。Full Local曲線不會隨著MEC服務器容量的增加而變化,因為本地計算不使用MEC服務器計算資源。其他曲線隨著MEC服務器計算容量的增加而減少,因為分配了更多的計算資源,執行時間會變短。

圖4 不同MEC計算能力的總成本比較
圖5比較了MEC系統與不同用戶數據量大小下的總成本。所有方法的總成本隨著卸載任務數據大小的增大而增加,因為更大的數據量會消耗更多的時間和能耗進行卸載,從而增加MEC系統的總成本。IA3C算法能達到最佳效果,其增長趨勢比其他方法慢。隨著數據大小的增加,Full Local曲線的增長速度要快得多,表明卸載任務的數據越大,從卸載計算中獲得的延遲和能耗成本越大。

圖5 不同用戶數據量大小的總成本比較
本文研究了三層移動計算網絡架構中基于深度強化學習的卸載決策問題,以最小化時延和功耗的總成本。仿真結果表明:IA3C算法的訓練效率和性能相對于DQN算法、Full Local算法、Full offloading算法有優勢。