王朝煒,石玉君,于小飛,王衛(wèi)東
(1.北京郵電大學(xué) 電子工程學(xué)院,北京100876;2.通信網(wǎng)信息傳輸與分發(fā)技術(shù)重點實驗室,河北 石家莊 050081)
隨著技術(shù)的發(fā)展和5G的商用,越來越多的新應(yīng)用對網(wǎng)絡(luò)時延、帶寬和安全性提出了更高的要求。 行業(yè)普遍認為,移動邊緣計算 (Mobile Edge Computing,MEC)是應(yīng)對“海量數(shù)據(jù)、超低時延、數(shù)據(jù)安全”發(fā)展要求的關(guān)鍵[1]。MEC是指將云端的計算能力和網(wǎng)絡(luò)服務(wù)下放到通信網(wǎng)絡(luò)邊緣,即無線接入網(wǎng)中,使用戶可以在更鄰近的無線接入點(Access Point,AP)獲取計算服務(wù)[2]。
隨著智能手機和可穿戴設(shè)備的廣泛使用,混合現(xiàn)實(Mixed Reality,MR)給經(jīng)濟、科技、文化、生活等領(lǐng)域帶來深刻影響。典型的MR系統(tǒng)由5個關(guān)鍵組件組成:視頻源、跟蹤器、映射器、對象識別器和渲染器[3],本文只關(guān)注渲染模塊。MR應(yīng)用程序的性能會受到有限的MR設(shè)備的計算和緩存資源影響。如果將用戶預(yù)取的渲染環(huán)境幀緩存在邊緣服務(wù)器上,能提高混合現(xiàn)實應(yīng)用服務(wù)質(zhì)量。
文獻[4]提出了一種基于博弈論的算法,首先預(yù)估內(nèi)容的流行度,然后基于松弛方法制定緩存方案以減少延遲。文獻[5]討論了空間網(wǎng)絡(luò)結(jié)構(gòu)和設(shè)備之間通信,并提出了一種緩存方法來降低終端設(shè)備的能耗。文獻[6]采用啟發(fā)式 Q-learning預(yù)測車輛運動,實現(xiàn)有效的主動緩存策略并提高服務(wù)性能。文獻[7]結(jié)合邊緣計算提高面向網(wǎng)絡(luò)的MR應(yīng)用的服務(wù)質(zhì)量。文獻[8]將計算任務(wù)卸載到最近的MEC服務(wù)器來延長幫助盲人的MR設(shè)備的電池壽命。
本文提出了一種可行的MEC系統(tǒng)模型,針對MEC服務(wù)器上有限資源,提出了一種基于內(nèi)容緩存方案的深度強化學(xué)習(xí)(Deep Reinforcement Learning,DRL)方法來做緩存決策,并提出一個新的效用函數(shù)來衡量緩存方案的性能。
圖1 MEC場景架構(gòu)圖Fig.1 Network architecture of the MEC scenario
(1)
(2)
式中,CF_M是 MEC 中緩存內(nèi)容大小的總和。
用戶的請求到達SBS后,先檢索MEC服務(wù)器緩存的內(nèi)容。若在MEC服務(wù)器中檢索到所請求內(nèi)容,將直接傳輸給用戶;否則,用戶請求將被發(fā)送到云端,并從MR環(huán)境幀提供商檢索并發(fā)送所需的內(nèi)容;最后,中心云通過SBS 將內(nèi)容交付給用戶。
本文系統(tǒng)總時延和能耗由兩部分組成:數(shù)據(jù)檢索和數(shù)據(jù)傳輸,只考慮MEC服務(wù)器所產(chǎn)生的能耗。
(1) 數(shù)據(jù)檢索時延和能耗
用fC和fM分別表示中心云和MEC服務(wù)器的處理能力(即CPU每秒鐘執(zhí)行的周期數(shù))。如果用戶請求第i個內(nèi)容,則獲取該內(nèi)容的檢索時延可以表示為:
(3)
MEC的內(nèi)容檢索能力表示為Pr_M,由于只考慮 MEC服務(wù)器的能耗,則檢索能耗表示為:
(4)
(2) 傳輸時延和能耗
由于請求信息的數(shù)據(jù)量明顯小于請求內(nèi)容大小,因此本文忽略了上行傳輸?shù)某杀尽V行脑坪蚐BS采用光纖連接,且光纖數(shù)據(jù)傳輸速率表示為Dtrans_C。SB數(shù)據(jù)傳輸能力表示為Dtrans_M。假設(shè)每個用戶獲得相同的信道資源,則每個用戶的下行數(shù)據(jù)傳輸速率為Dtrans_M/K。用Ptrans_M表示SBS的傳輸功率。如果用戶請求第i個內(nèi)容,則傳輸時延可以分為兩部分:從中心云到SBS和從SBS到用戶,記為
Ttrans_i=(1-Ci)·ttrans_i_C+ttrans_i_M,
(5)
Etrans_i=Ptrans_M·ttrans_i_M。
(6)
(3) 時隙t的系統(tǒng)總時延和能耗
(7)
(8)
總的傳輸延遲和能耗可以表示為:
(9)
(10)
因此,在時隙t的系統(tǒng)總時延和能耗可以表示為:
(11)
(12)
本文還考慮緩存命中率這一指標。使用hk∈{0,1}表示用戶請求的內(nèi)容是否在MEC服務(wù)器緩存空間緩存命中。 如果用戶k的請求命中,hk=1,否則hk=0。時隙t的緩存命中率可以表示為:
(13)
然后,基于用于多目標權(quán)衡加權(quán)求和法[9],定義了時隙t的歸一化系統(tǒng)成本,包括時延、能耗和緩存空間資源,表示為:
(14)
ω+φ+μ=1,
(15)
式中,ω、φ、μ是超參數(shù),表示時延、能耗和緩存空間資源的所占比例。Tmax(t)和Emax(t)表示系統(tǒng)在時隙t的最大時延和能耗。
此外,本文定義了一個新的效用函數(shù),即緩存命中率與歸一化系統(tǒng)成本之比,效用函數(shù)表示為:
(16)
令τ表示一個時期的時隙數(shù)。由于很多應(yīng)用更關(guān)注一段時間內(nèi)的體驗而不是瞬時體驗,因此平均效用函數(shù)為:
(17)
優(yōu)化目標函數(shù)為:
(18)
(18a)
(18b)
(18c)
hk∈{0,1},?k∈K,
(18d)
ω+φ+μ=1。
(18e)
V(s)=
(19)
(20)
式中,s′表示下一狀態(tài)。R(s,a) 為在時間τ的期望獎勵值,P(s′|s,a) 為在狀態(tài)s執(zhí)行動作a到s′的轉(zhuǎn)移概率。最優(yōu)策略應(yīng)滿足貝爾曼方程:
(21)
采用Q-learning方法解決上述問題,Q函數(shù)為:
(22)
在狀態(tài)s執(zhí)行動作a后,可以獲得折扣累積獎勵。 智能體學(xué)習(xí)如何在每次迭代中選擇Q值最大的動作,并在多次迭代后根據(jù)最佳解決方案智能地執(zhí)行動作。公式化(21) 可以表示為:
(23)
設(shè)學(xué)習(xí)率為α,則Q函數(shù)表示為:
(24)
然后,收斂到最優(yōu)動作值函數(shù)Qπ*(s,a)。
但是,在更復(fù)雜的環(huán)境中,狀態(tài)空間面臨維度災(zāi)難,RL方法將不再適用。文獻[11]引入了DRL方法來解決尺寸爆炸問題。 深度Q網(wǎng)絡(luò)(Deep Q-network,DQN)是DRL的典型例子,它通過深度神經(jīng)網(wǎng)絡(luò)逼近Q函數(shù):Q(s,a)≈Q(s,a;θ),其中θ表示深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)的權(quán)重參數(shù)。目標Q網(wǎng)絡(luò)的權(quán)重參數(shù)需要每周期更新一次(例如Nu步)。通過在每次迭代中最小化損失函數(shù)來訓(xùn)練它達到目標值:
Lloss=[(Qtarget-Q(s,a;θ))2]。
(25)
整個訓(xùn)練過程是Q值向目標Q值逼近的過程,目標Q值表示為:
(26)
① 狀態(tài):在t時刻的系統(tǒng)狀態(tài)為當(dāng)前MEC服務(wù)器緩存情況s(t)=[CF1,CF2,…,CFF]。
② 行動:在每個時期,SBS應(yīng)該決定緩存哪些內(nèi)容以最大化效用函數(shù)。 因此,動作可以表示為Action(t)=[AF1,AF2,…,AFF],其中AFi={0,1}。
③ 獎勵:系統(tǒng)會在每個狀態(tài)返回一個獎勵,設(shè)為優(yōu)化目標。由于優(yōu)化目標是最大化效用函數(shù),將強化學(xué)習(xí)的獎勵定義為U(χ)。
本文提出的基于DRL緩存方案的核心算法為Q-network。輸入s(τ)和輸出Q(s(τ),a(τ);θ) 之間的映射由神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)決定。使用DNN 逼近非線性函數(shù)來實現(xiàn)Q-network。DNN的結(jié)構(gòu)與文獻[12]相同,包括3個全連接隱藏層,每層有256、256、512 個神經(jīng)元。在DNN中,前兩個隱藏層的激活函數(shù)設(shè)置為線性整流函數(shù)(Rectify Linear Units,ReLUs),第3個隱藏層函數(shù)設(shè)置為tanh函數(shù)。
此外,利用經(jīng)驗重放訓(xùn)練Q-network以提高方案的穩(wěn)定性,經(jīng)驗數(shù)據(jù)(s(τ),a(τ),r(τ),s(τ+1))存儲在容量為NB的回放池B中。當(dāng)存儲的經(jīng)驗元組數(shù)量大于ND時,從回放池B隨機選擇NM個經(jīng)驗數(shù)據(jù)來訓(xùn)練網(wǎng)絡(luò)。采用ε-貪婪策略選擇動作a(τ)來平衡開發(fā)和探索。探索率從初始值εs線性下降到最終值εe。基于DRL的緩存方案的詳細過程如算法1所示。
算法1 基于DRL的緩存方案初始化系統(tǒng)和網(wǎng)絡(luò)參數(shù)Forepisode=1,2,…,Mdo 初始化初始狀態(tài)s(0)為隨機緩存狀態(tài) Forτ=1,2,…,Tdo 基于ε-貪婪策略選擇動作a(τ): 獲取獎勵值r(τ)和下一狀態(tài)s(τ+1) 儲存元組(s(τ),a(τ),r(τ),s(τ+1)) If τ≥ND 從B中隨機選取少量樣本進行訓(xùn)練 最小化loss函數(shù)使梯度下降 更新Q-network參數(shù) 每Nu步重置Q-network End ForEnd For
本文使用Python進行數(shù)值分析來評估所提方案的性能。所有的仿真都是使用在 Pycharm3.7 和 Tensorflow 2.4.0實現(xiàn)的,計算機的配置為:Intel (R) Core (TM) i7-8700 CPU、8 GB RAM。
在仿真實驗中,考慮一個由MR環(huán)境幀提供商、中心云、小型基站和MEC服務(wù)器組成的小型網(wǎng)絡(luò)。SBS覆蓋區(qū)域半徑為 200 m,用戶服從泊松分布。中心云和 MEC服務(wù)器的 CPU 周期頻率分別為fC=64 GHz和fM=16 GHz[13]。光纖數(shù)據(jù)傳輸速率為Dtrans_C=2 Gbit/s。數(shù)據(jù)傳輸速率為Dtrans_M=9.6 Gbit/s。MEC服務(wù)器的數(shù)據(jù)檢索功率為Pr_M=2 500 mW。SBS的發(fā)射功率為Ptrans_M=20 mW[14]。內(nèi)容的數(shù)據(jù)大小在[100,500] Mbit內(nèi)隨機分布。DRL中的相關(guān)參數(shù)設(shè)置如下:學(xué)習(xí)率α=0.000 1,折扣因子=0.9,初始探索率εs=0.9,結(jié)束探索率εs=0.001。假設(shè)所請求內(nèi)容的流行度被建模為Zipf分布[15]。因此,用戶請求的第i個內(nèi)容的流行程度為:表示 Zipf 分布的形狀參數(shù),設(shè)置為常數(shù)值0.56。
本文將所提方案與以下方案進行比較:
① 遺傳緩存:通過N代種群遺傳、變異、交叉、復(fù)制得出問題的最優(yōu)解。隨機生成50對緩存方案作為父染色體,迭代500次,交叉概率和變異概率分別設(shè)置為0.7和0.02。
② 貪婪緩存:由于 MEC服務(wù)器的緩存內(nèi)存空間大小限制,緩存盡可能多的流行內(nèi)容。
③ 隨機緩存:隨機選擇滿足MEC服務(wù)器緩存內(nèi)存空間大小限制的緩存方案。
基于DRL的緩存方案算法的收斂性能如圖2所示,其中,ω=0.7,φ=0.2,μ=0.1,K=7,CM=1 400 Mbit,F=10。隨著迭代次數(shù)的增加,損失值逐漸收斂。損失函數(shù)在前10 000次迭代中急劇下降,然后在15 000次迭代內(nèi)基本穩(wěn)定,因為開始執(zhí)行的動作對獎勵值的影響更顯著。
圖2 Loss函數(shù)Fig.2 Training loss
圖3顯示了算法的時間復(fù)雜度和用戶個數(shù)的關(guān)系,用單步平均運行時間表示時間復(fù)雜度。隨著用戶數(shù)目的增加,DRL緩存算法輸出層神經(jīng)元數(shù)變多,時間復(fù)雜度變大,但仍比其他算法時間復(fù)雜度低。
圖3 時間復(fù)雜度對比Fig.3 Time complexity comparison
圖4展示了4種方案在不同MEC服務(wù)器緩存內(nèi)存空間大小的效用函數(shù)值。其中,ω=0.7,φ=0.2,μ=0.1,K=7,F=10。DRL緩存算法的效用函數(shù)值高于其他3種算法,說明本文提出的緩存方案的性能優(yōu)于其他3種算法。此外,隨著MEC服務(wù)器緩存大小的增加,DRL緩存、遺傳緩存和貪婪緩存的效用函數(shù)值增加,因為MEC服務(wù)器有更多的緩存資源,可以緩存更多的內(nèi)容,提高緩存命中率,時延會減少,但能耗和消耗緩存空間會增加。延遲在歸一化系統(tǒng)成本中所占比例最大,故效用函數(shù)隨著MEC服務(wù)器緩存內(nèi)存空間的增加而增加。
圖4 效用函數(shù)U(χ)vs MEC服務(wù)器緩存空間大小CMFig.4 Utility function U(χ) vs MECs caching size CM
圖5顯示了相同環(huán)境條件下不同用戶數(shù)量對效用函數(shù)的影響。其中,ω=0.7,φ=0.2,μ=0.1,CM=1 400 Mbit,F=10。效用函數(shù)隨著用戶數(shù)的增加而逐漸減小。 因為隨著用戶的增加,分配給每個用戶的帶寬減少,傳輸速率降低,時延增加,導(dǎo)致效用函數(shù)值降低。此外,隨著用戶數(shù)量的增加,效用函數(shù)的降低程度逐漸減小,是因為隨著用戶數(shù)量的增加,傳輸速率的降低率變得更小。
圖5 效用函數(shù)U(χ)vs 用戶數(shù)KFig.5 Utility function U(χ) vs.User number K
圖6顯示相同環(huán)境條件下不同內(nèi)容數(shù)量對效用函數(shù)的影響。
圖6 效用函數(shù)U(χ) vs 內(nèi)容數(shù)目FFig.6 Utility function U(χ) vs.Content number F
圖6中,ω=0.7,φ=0.2,μ=0.1,CM=1 400 Mbit,K=7。隨著內(nèi)容數(shù)量的增加,整體效用函數(shù)值呈現(xiàn)下降趨勢。因為隨著內(nèi)容數(shù)量的增加,用戶請求的目標越來越多,緩存命中率降低,時延增加。效用函數(shù)值有起伏,在每種內(nèi)容數(shù)情況下,會隨機生成大小不同的內(nèi)容,當(dāng)內(nèi)容總數(shù)較小時,相同的MEC服務(wù)器緩存內(nèi)存空間可以緩存更多的內(nèi)容,以提高命中率,減少時延,增加效用函數(shù)值。
本文針對5G混合現(xiàn)實應(yīng)用中MEC服務(wù)器上緩存資源有限的問題,提出一種深度強化學(xué)習(xí)方法進行緩存決策,并構(gòu)造一種新的效用函數(shù)衡量緩存性能,提高混合現(xiàn)實應(yīng)用服務(wù)質(zhì)量。詳細研究了用戶數(shù)、內(nèi)容數(shù)、緩存空間大小對效用函數(shù)的影響,仿真結(jié)果表明,提出的算法與傳統(tǒng)遺傳和貪婪算法相比,可以用較小的時間復(fù)雜度做出更好的緩存決策,并可以改變用戶數(shù)、內(nèi)容數(shù)、緩存空間大小的權(quán)重,滿足不同場景的要求,從而提高服務(wù)質(zhì)量。