張 永 棠
1(廣東東軟學(xué)院 計(jì)算機(jī)學(xué)院,廣東 佛山 528225) 2(南昌工程學(xué)院 江西省協(xié)同感知與先進(jìn)計(jì)算技術(shù)研究所,南昌 330003)
5G網(wǎng)絡(luò)旨在支持人、機(jī)器和服務(wù)之間的大規(guī)模連接.隨著5G的逐步推廣和應(yīng)用,無線接入網(wǎng)(Radio access networks,RAN)需要一個(gè)智能靈活的架構(gòu)來充分利用5G網(wǎng)絡(luò)的性能.云無線接入網(wǎng)絡(luò)(Cloud radio access networks,C-RAN)被認(rèn)為是5G的核心技術(shù),它使5G服務(wù)具有前所未有的最小時(shí)延和能耗[1].與傳統(tǒng)的RAN不同,C-RAN設(shè)計(jì)有獨(dú)立的基帶單元(Baseband units,BBU)和遠(yuǎn)程無線電前端(Remote radio heads,RRH).所有處理器都被移動(dòng)到中央BBU池中,分布式RRHs負(fù)責(zé)通過前端鏈路將用戶接收到的無線電信號(hào)轉(zhuǎn)發(fā)到BBU.RRHs只需要維護(hù)一些基本的傳輸功能,大大降低了設(shè)計(jì)和運(yùn)行成本,實(shí)現(xiàn)大規(guī)模高密度組網(wǎng).
云計(jì)算已經(jīng)變得非常流行,可以訪問共享計(jì)算資源池[2,3].然而,云計(jì)算服務(wù)可能不能保證網(wǎng)絡(luò)中的低延遲應(yīng)用程序,因?yàn)樵婆c終端設(shè)備之間的距離通常很大.為了解決這些問題,文獻(xiàn)[4]研究了移動(dòng)邊緣計(jì)算(Mobile edge computing,MEC),將計(jì)算資源部署到更靠近終端的位置,可以有效提高需要密集計(jì)算、低延時(shí)的應(yīng)用的服務(wù)質(zhì)量(QoS)[5].因此,以計(jì)算卸載和資源分配為核心的MEC系統(tǒng)得到了廣泛的關(guān)注[6].
近年來,研究者們針對(duì)不同的設(shè)計(jì)目標(biāo)提出了一些關(guān)于MEC卸載和資源分配的觀點(diǎn)[7].針對(duì)無線通信中數(shù)據(jù)速率的非恒定性,文獻(xiàn)[8]提出了一種基于流優(yōu)化的凸優(yōu)化二進(jìn)制計(jì)算方法.文獻(xiàn)[9]從物理資源和時(shí)間兩個(gè)維度分析了C-RAN中通信和計(jì)算的交互作用,說明了BBU池中資源合理配置的重要性.然而,在文獻(xiàn)[8,9]中提出的方法需要獲取準(zhǔn)確的信道狀態(tài)信息.考慮到無線信道的隨機(jī)性,這些問題不適用于動(dòng)態(tài)系統(tǒng).也有很多研究者利用博弈論在動(dòng)態(tài)環(huán)境下提供分布式解決方案,文獻(xiàn)[10]研究了基于博弈論的分布式計(jì)算卸載機(jī)制,可以準(zhǔn)確地得到較低的系統(tǒng)模型.然而,這種假設(shè)在某些環(huán)境中往往是不切實(shí)際的.
眾所周知,使用深度學(xué)習(xí)框架可以實(shí)現(xiàn)網(wǎng)絡(luò)資源的自動(dòng)管理.Q-learning算法是應(yīng)用最廣泛的無模型強(qiáng)化學(xué)習(xí)(Reinforcement learning,RL)算法,可用于計(jì)算卸載策略[11]和資源分配策略[12].隨著計(jì)算復(fù)雜性隨著狀態(tài)和動(dòng)作的數(shù)量呈指數(shù)增長(zhǎng),Q-learning的最大挑戰(zhàn)是處理具有極端狀態(tài)和動(dòng)作的應(yīng)用.因此,使用深度神經(jīng)網(wǎng)絡(luò)(Deep neural network,DNN)來估計(jì)RL中的值函數(shù),從而得到更精確的回歸或近似[13].使用DNN增強(qiáng)傳統(tǒng)RL創(chuàng)建了一種有前途的方法,稱為深度強(qiáng)化學(xué)習(xí)(Deep reinforcement learning,DRL),它能夠處理復(fù)雜的控制應(yīng)用,如游戲和機(jī)器人[14].
本文提出了一種基于DRL的C-RAN動(dòng)態(tài)資源分配框架,在保證每個(gè)用戶的需求得到滿足的同時(shí),最小化時(shí)間和能量消耗.本文的主要?jiǎng)?chuàng)新點(diǎn):
1)提出了一個(gè)基于DRL的主題來解決計(jì)算、卸載和資源分配問題,其優(yōu)點(diǎn)是用戶計(jì)算任務(wù)的卸載是按比例完成的.
2)定義了DRL代理的行為、狀態(tài)和獎(jiǎng)勵(lì)函數(shù),制定了資源分配問題,并應(yīng)用DNN近似行動(dòng)決策的行動(dòng)值函數(shù),從當(dāng)前狀態(tài)直接提取信息,不需要獲取準(zhǔn)確的信道狀態(tài).仿真結(jié)果很好地證明了所提出的基于DRL的框架在低功耗和用戶滿意度方面的有效性.
本節(jié)介紹了系統(tǒng)的網(wǎng)絡(luò)模型,給出了系統(tǒng)的計(jì)算模型,提出了本文的優(yōu)化目標(biāo).
圖1展示了具有邊緣高速計(jì)算能力的C-RAN上行鏈路傳輸網(wǎng)絡(luò)架構(gòu).計(jì)算單元中有一個(gè)RRH和U個(gè)用戶,用戶集表示為U={1,2,…,U}.我們假設(shè)MEC服務(wù)器部署在RRH上,RRH和用戶都裝備了一個(gè)天線.每個(gè)用戶都有一個(gè)計(jì)算密集型的任務(wù)要完成.用戶可以根據(jù)比例α∈[0,1]將任務(wù)轉(zhuǎn)移到MEC服務(wù)器,剩余任務(wù)的1-α由用戶在本地執(zhí)行.
圖1 系統(tǒng)模型Fig.1 System model
我們使用準(zhǔn)靜態(tài)假設(shè),即環(huán)境條件在一個(gè)時(shí)間段內(nèi)保持不變.一個(gè)小區(qū)中只有一個(gè)RRH,因此忽略了間隔干擾.假設(shè)在某一時(shí)刻有多個(gè)用戶選擇一個(gè)任務(wù),則將無線帶寬平均分配給該用戶用于上行鏈路傳輸卸載任務(wù).用戶u可以達(dá)到的上行鏈路傳輸數(shù)據(jù)速率可表示為:
(1)
我們假設(shè)用戶u計(jì)算密集型任務(wù)Ru=(Du,Cu,Tu),它可以在用戶本地CPU和MEC服務(wù)器上根據(jù)比例因子α執(zhí)行.這里Du表示計(jì)算Ru所需的計(jì)算輸入數(shù)據(jù)的大小,包括程序代碼和輸入?yún)?shù).Cu表示完成計(jì)算任務(wù)Ru所需的CPU周期總數(shù),Du與Cu的大小呈正相關(guān).Cu反映完成任務(wù)Ru所需的計(jì)算資源數(shù)量.我們假設(shè)Du的大小是不變的,不管它是由用戶本地執(zhí)行還是在MEC服務(wù)器上執(zhí)行.Tu表示任務(wù)Ru的最大允許延遲,即每個(gè)用戶的服務(wù)時(shí)間不應(yīng)超過Tu,這將是我們優(yōu)化問題的一個(gè)重要約束.這3個(gè)參數(shù)都與應(yīng)用程序的功能相關(guān),可以通過任務(wù)配置文件進(jìn)行估計(jì),因此它們?cè)诓煌愋偷膽?yīng)用之間可能有很大的差異.
我們假設(shè)任務(wù)可以劃分為在不同設(shè)備上處理的分區(qū),這意味著每個(gè)用戶任務(wù)可以同時(shí)在本地計(jì)算并卸載到RRH以執(zhí)行其任務(wù).我們將α∈[0,1]表示為用戶u的計(jì)算任務(wù)決策,并將決策向量定義為A=[α1,α2,…,αU].如果用戶u都通過本地計(jì)算執(zhí)行任務(wù),則α=1;所有這些都通過MEC計(jì)算任務(wù),則α=0.否則,根據(jù)任務(wù)比率α將其卸載到MEC中,并在本地執(zhí)行比率1-α.
1)本地計(jì)算模型:如果用戶u選擇在本地執(zhí)行它的任務(wù)Ru,那么我們將Tu,l定義為用戶u本地CPU的處理延遲.然后,我們將fu,l表示為用戶u的計(jì)算能力(CPU周期/秒),這取決于用戶之間的計(jì)算能力.任務(wù)Ru的本地執(zhí)行延遲Tu,l為:
(2)
我們使用Eu,l作為任務(wù)Ru在本地執(zhí)行時(shí)的對(duì)應(yīng)能耗,表示為:
Eu,l=ZuCu
(3)
其中,Zu表示每個(gè)CPU周期所需的能耗,并且根據(jù)文獻(xiàn)[15]實(shí)際測(cè)量值設(shè)置為Zu=10-25(fu,l)2.
結(jié)合式(2)和式(3),本地計(jì)算的總成本可以表示為:
(4)
2)卸載計(jì)算模型:用戶u通過MEC選擇執(zhí)行任務(wù)Ru,整個(gè)計(jì)算過程分為以下幾個(gè)步驟:首先,用戶u需要通過無線網(wǎng)絡(luò)向RRH上傳足夠的數(shù)據(jù),RRH將數(shù)據(jù)轉(zhuǎn)發(fā)給MEC服務(wù)器.然后MEC服務(wù)器分配計(jì)算資源來執(zhí)行計(jì)算任務(wù),最后MEC服務(wù)器將執(zhí)行結(jié)果返回給用戶u.
根據(jù)上述步驟,將計(jì)算卸載到MEC所需的傳輸時(shí)間可以表示為:
(5)
其中,ru表示無線信道中用戶u的上行速率.上傳數(shù)據(jù)的數(shù)據(jù)消耗為:
(6)
計(jì)算所需的時(shí)間是MEC服務(wù)器的處理延遲,可以表示為:
(7)
綜上所述,MEC執(zhí)行用戶u任務(wù)Ru的處理延遲為:
(8)
結(jié)合式(8)和式(6)的時(shí)間及能耗成本,卸載到MEC計(jì)算的總成本可以表示為:
(9)
將整個(gè)系統(tǒng)MEC中所有用戶的總成本匯總為:
(10)
其中,αu∈[0,1]表示用戶u的卸載決定.用戶任務(wù)按比例分割,1-α部分在本地執(zhí)行,α部分卸載到MEC.
本節(jié)將求解MEC系統(tǒng)的負(fù)荷決策和計(jì)算資源分配的最優(yōu)化問題.我們的目的是將MEC系統(tǒng)中所有用戶的執(zhí)行延遲和能耗相結(jié)合的總成本最小化.
基于上述分析,在最大容忍延遲和計(jì)算能力的約束下,最優(yōu)化問題可描述為:
(11)
其中,A=[α1,α2,…,αU]表示卸載決策向量,f=[f1,f2,…,fU]表示MEC上的計(jì)算資源分配策略.最優(yōu)化問題的目標(biāo)是使整個(gè)系統(tǒng)的總成本最小化.式(11)中,C1為計(jì)算任務(wù)卸載的百分比,C2為整個(gè)服務(wù)時(shí)間成本不應(yīng)超過用戶的最大允許延遲,C3表示確保為用戶U分配的計(jì)算資源不能超過F,C4表示確保分配給用戶的計(jì)算資源的總和不超過MEC服務(wù)器的最大計(jì)算容量F.
上述最優(yōu)決策問題可表示為一個(gè)動(dòng)態(tài)的未知馬爾可夫決策過程.由于當(dāng)前估計(jì)的狀態(tài)可能在以后的時(shí)間框架中發(fā)生變化,所以我們不能簡(jiǎn)單地使用當(dāng)前觀察到的狀態(tài)對(duì)以后的時(shí)間框架做出決策.在有限狀態(tài)馬爾可夫信道模型中,大多數(shù)現(xiàn)有的工作假設(shè)信道根據(jù)一組馬爾可夫轉(zhuǎn)移概率在無限個(gè)狀態(tài)下變化[17].然而,在動(dòng)態(tài)環(huán)境中,無線網(wǎng)絡(luò)通常是未知的,因此我們使用一個(gè)無模型的RL,通過對(duì)當(dāng)前狀態(tài)的廣泛訓(xùn)練來學(xué)習(xí)最佳策略,該狀態(tài)可以以一個(gè)并非完全未知的轉(zhuǎn)移概率轉(zhuǎn)移到其他狀態(tài).
在t時(shí)刻,RL代理通過觀察網(wǎng)絡(luò)環(huán)境形成系統(tǒng)狀態(tài).我們假設(shè)狀態(tài)空間由S表示,所以在t時(shí)刻系統(tǒng)狀態(tài)向量st∈S可以表示為:
st={z1(t),z2(t),…,zU(t),d1(t),d2(t),…,dU(t)}
(12)
其中,zu表示計(jì)算任務(wù)Ru的數(shù)據(jù)大小,并du表示執(zhí)行該任務(wù)Ru所需的計(jì)算資源.
在我們的問題中,代理將對(duì)計(jì)算任務(wù)做出決策,這個(gè)決策包括:計(jì)算任務(wù)執(zhí)行的比例是多少,在邊緣計(jì)算中應(yīng)該分配多少計(jì)算資源.該行動(dòng)向量由用戶的卸載決策A=[α1,α2,…,αU]和MEC的資源分配f=[f1,f2,…,fU]兩部分組成,因此行動(dòng)向量可以由A和f給出.
策略是通過長(zhǎng)期優(yōu)化得到的行動(dòng)選擇策略,它可以是確定性的,也可以是隨機(jī)性的.事實(shí)上,確定性策略是隨機(jī)策略的一個(gè)特例.隨機(jī)策略保證了對(duì)行為空間的充分挖掘,因此我們使用了隨機(jī)策略π(α|s)=Pr(αt=α|st=s).隨機(jī)策略給出了動(dòng)作的概率分布.Q值的標(biāo)準(zhǔn)定義是狀態(tài)s從時(shí)刻t開始,選擇動(dòng)作α的軌跡的期望返回,表示為:
(13)
其中,β∈(0,1)是折扣系數(shù).最優(yōu)Q值是指在為所有決策采取最佳行動(dòng)時(shí)所能達(dá)到的最大值.當(dāng)使用這個(gè)值迭代地估計(jì)所有狀態(tài)和動(dòng)作對(duì)(s,α)的最佳Q值時(shí),該策略可以通過簡(jiǎn)單地選擇貪婪動(dòng)作得到,即:
(14)
在上述問題中,狀態(tài)和動(dòng)作的維度非常高,因此在使用值迭代時(shí),空間、時(shí)間和內(nèi)存成本是無法測(cè)量的.在深入學(xué)習(xí)成為熱門話題之后,人們認(rèn)識(shí)到函數(shù)逼近技術(shù),特別是DNN,可以用來表示Q值.因此,Q值函數(shù)Qπ(s,α)可以用包含多個(gè)隱藏層的完全連接DNN表示為Qω(s,α),并傳遞一組權(quán)重w={ω1,ω2,…,ωN}參數(shù).DNN的輸入層有兩個(gè)單元,用于將系統(tǒng)狀態(tài)s和動(dòng)作α導(dǎo)入下一個(gè)隱藏層.
我們使用線性整流函數(shù)(Rectified Linear Unit,ReLU)作為非線性激活函數(shù).通過迭代最小化損失函數(shù),可以訓(xùn)練DNN學(xué)習(xí)最優(yōu)配置權(quán)重ω
(15)
DRL算法描述如算法1所示.
算法1.DRL最優(yōu)策略算法描述
1.Initialization
the experience replays bufferD,
the parameters of the actor networkθand its targetθt,
the parameters of the critic networkωand its targetωt.
2.forepisodee=1,…,Edo
3. reset environment states0,and reset rewardr=0.
4.forstept=1,…,Tdo
5. generate an actionαtaccording toπθ(α|s),
6. observe the rewardrtand the subsequent statest+1,
7. Store the tuple 〈st,αt,rt,st+1〉 in replay bufferD.
8. Draw a mini-batch ofNtuples fromD
9. update the parameters of the critic network:
10. update the parameters of the critic network:
12. EveryUsteps,update two target networks parameters:
13.ωt←Tω+(1-T)ωt
14.θt←Tθ+(1-T)θt
15.endfor
16.endfor
神經(jīng)元數(shù)目越多,值函數(shù)逼近越準(zhǔn)確.但是,神經(jīng)元數(shù)量過多,參數(shù)數(shù)量多,計(jì)算復(fù)雜度高.根據(jù)文獻(xiàn)[14]我們將隱藏層的神經(jīng)元數(shù)量設(shè)置為360.為參與者和批評(píng)者生成兩個(gè)獨(dú)立的目標(biāo)網(wǎng)絡(luò),每隔N=250、rate=0.001次迭代,將兩個(gè)目標(biāo)網(wǎng)絡(luò)的參數(shù)替換為原網(wǎng)絡(luò)的當(dāng)前估計(jì)參數(shù).為了訓(xùn)練DNN,我們?cè)O(shè)置了大小為8000的經(jīng)驗(yàn)回放緩沖區(qū),可以在查詢時(shí)隨機(jī)返回一個(gè)小批量的經(jīng)驗(yàn),小批量的大小設(shè)置為64.將參與者學(xué)習(xí)率和批評(píng)者學(xué)習(xí)率分別設(shè)置為δα=0.0001和δc=0.001.
我們將DRL算法與All Local Scheme(ALS)[8]、All Offload Scheme(AOS)[9]、Local or Offload Scheme(LOS)[10]3種算法進(jìn)行比較.其中,ALS是指所有用戶通過本地計(jì)算執(zhí)行他們的任務(wù);AOS是指所有用戶都將自己的任務(wù)分配給MEC服務(wù)器執(zhí)行,整個(gè)計(jì)算資源F平均分配給用戶;LOS是指用戶任務(wù)可以在本地執(zhí)行或卸載到MEC,但用戶任務(wù)是不可分割的.
圖2 用戶數(shù)量對(duì)總成本的影響Fig.2 Impact of number of users on total cost
圖2展示了系統(tǒng)成本隨用戶數(shù)量增加的變化趨勢(shì).其中MEC服務(wù)器具有F=8GHz/s的計(jì)算能力.從圖上可以看出,隨著用戶數(shù)量的不斷增加,4種方法的總成本也逐漸增加.可以看出,本文提出的DRL方法可以得到最好的結(jié)果,略優(yōu)于LOS,兩種方法的性能相對(duì)穩(wěn)定.AOS曲線在5個(gè)用戶點(diǎn)上略高于DRL和LOS,但當(dāng)用戶更多時(shí)增長(zhǎng)更快.這是因?yàn)楫?dāng)用戶數(shù)量增加時(shí),MEC服務(wù)器計(jì)算資源不足以提供所有用戶.有限計(jì)算能力的MEC服務(wù)器不應(yīng)該服務(wù)太多的用戶,因此如何選擇這種情況下的解決方案變得非常重要.
圖3 用戶數(shù)據(jù)大小對(duì)系統(tǒng)總成本影響Fig.3 Impact of user data size on total cost
圖3展示了用戶數(shù)據(jù)大小對(duì)系統(tǒng)總成本影響的趨勢(shì)圖,其中用戶數(shù)為5.從圖上可以看出,4種方法的總成本隨著數(shù)據(jù)大小的增加而增加,因?yàn)檩^大的數(shù)據(jù)大小將導(dǎo)致更多的時(shí)間和能量消耗,從而增加系統(tǒng)的總成本.由于DRL方法的增長(zhǎng)趨勢(shì)比其他方法慢,因此可以得到最好的結(jié)果.隨著數(shù)據(jù)量的增加,全局和局部曲線的增長(zhǎng)速度遠(yuǎn)遠(yuǎn)快于其他3種方法,這表明隨著任務(wù)量的增加,數(shù)據(jù)量越大,計(jì)算延遲越大,卸載計(jì)算能耗越大.
圖4 MEC服務(wù)器性能對(duì)總成本的影響Fig.4 Impact of MEC server performance on total cost
圖4展示了不同MEC服務(wù)器性能對(duì)總成本的影響,MEC服務(wù)器的計(jì)算能力從2 GHz/s增加到10GHz/s.從圖上可以看出,所提出的DRL方法在與服務(wù)水平相差不大的情況下得到了最好的結(jié)果.曲線ALS不會(huì)隨MEC服務(wù)器的功能而改變,因?yàn)镸EC服務(wù)器計(jì)算資源不會(huì)影響本地計(jì)算.除ALS以外的曲線隨著MEC服務(wù)器的計(jì)算能力增加而減小,因?yàn)槿绻蛎總€(gè)用戶分配更多的計(jì)算資源,則執(zhí)行時(shí)間將變得更短.更重要的是,當(dāng)F>9GHz/s時(shí),AOS、LOS和DRL的總成本都在緩慢降低,并且這些方法的性能基本相同.結(jié)果表明,當(dāng)MEC服務(wù)器上的計(jì)算資源遠(yuǎn)大于本地計(jì)算時(shí),系統(tǒng)總成本主要受無線資源的限制.
研究了CRAN中的計(jì)算卸載方案和計(jì)算資源分配問題,運(yùn)用深度強(qiáng)化學(xué)習(xí)構(gòu)建了C-RAN動(dòng)態(tài)資源分配框架,以實(shí)現(xiàn)時(shí)間消耗和能量消耗的最小化.由于無線環(huán)境是隨機(jī)的,我們使用無模型RL框架來解決聯(lián)合決策問題,實(shí)現(xiàn)用戶計(jì)算任務(wù)的卸載按比例完成.定義了DRL代理的行為、狀態(tài)和獎(jiǎng)勵(lì)函數(shù),制定資源分配問題,并應(yīng)用DNN近似行動(dòng)決策的行動(dòng)值函數(shù),從當(dāng)前狀態(tài)直接提取信息,不需要獲取準(zhǔn)確的信道狀態(tài).通過與文獻(xiàn)方法的比較,給出了該方案的性能評(píng)價(jià).仿真結(jié)果表明,在不同的系統(tǒng)參數(shù)下,該方案能獲得比其他算法更好的性能.