







收稿日期:2022-02-17;修回日期:2022-03-30" 基金項目:國家自然科學基金資助項目(61802319)
作者簡介:王錦(1995-),女,山東淄博人,碩士,主要研究方向為邊緣計算、網絡安全;張新有(1971-),男(通信作者),河南三門峽人,副教授,博士,主要研究方向為網絡體系結構、分布式計算與應用、網絡安全(xyzhang@swjtu.edu.cn).
摘 要:無人駕駛汽車由于其有限的電池壽命和計算能力,難以在保證續航的前提下滿足一些時延敏感任務或密集任務的處理需求。為解決該問題,在移動邊緣計算(mobile edge computing,MEC)的背景下,提出了一種基于深度Q網絡(deep Q-network,DQN)的無人駕駛任務卸載策略。首先,定義了一個基于任務優先級的車—邊—云協同任務卸載模型,其需要通過聯合優化車輛計算能力與任務卸載策略以獲取系統最小延遲和能耗。由于該問題是個混合整數非線性規劃問題,所以分兩步對其進行求解—通過數學推導得出了最優車輛計算能力的解析解,之后在其數值固定條件下,基于DQN算法獲得了任務最佳卸載策略。最后,綜合SUMO、PyTorch和Python等工具建立了仿真模型,比較了DQN算法和其他三種算法在任務負載、MEC服務器計算能力以及能耗權重系數變化情況下的性能,實驗結果驗證了所提策略的可行性和優越性。
關鍵詞:無人駕駛;移動邊緣計算;任務卸載;深度Q網絡;移動性
中圖分類號:TP311"" 文獻標志碼:A
文章編號:1001-3695(2022)09-027-2738-07
doi:10.19734/j.issn.1001-3695.2022.02.0043
DQN-based driverless task offloading policy
Wang Jin,Zhang Xinyou
(School of Computing amp; Artificial Intelligence,Southwest Jiaotong University,Chengdu 611756,China)
Abstract:Due to its limited battery life and computing power,driverless cars are difficult to meet the processing needs of some delay-sensitive tasks or intensive tasks while ensuring battery life.To solve this problem,in the context of MEC,this paper proposed a driverless task offloading policy based on deep DQN.Firstly,this paper defined a “vehicle-edge-cloud” cooperative task offloading model based on task priority,which needed to jointly optimize the computing power of the vehicle and the task offloading policy to obtain the minimum delay and energy consumption of the system.Since the problem was a mixed-integer nonlinear programming problem and was NP-hard,this paper solved it in two steps—the first step obtained the analytical solution for the optimal computation power of vehicle through mathematical derivation,and then,under the fixed numerical value condition,the DQN algorithm obtained the optimal offloading strategy of the task.Finally,this paper established a simulation model by integrating tools such as SUMO,PyTorch and Python.This paper compared the DQN algorithm and the other three algorithms under different task loads,MEC server computation powers and energy consumption weight co-efficients.The experimental results verify the feasibility and superiority of the proposed policy.
Key words:driverless;mobile edge computing;task offloading;deep Q-network;mobility
0 引言
近年來,無人駕駛汽車因其便利性和行駛效率受到了業界和學術界的廣泛關注[1,2]。通過部署路邊單元(RSU)等智能基礎設施,車載用戶可以獲得路徑規劃、導航、車載娛樂等多種服務[3,4]。但是無人車本地搭載的設備計算能力較弱且電量有限,因此,目前大部分車輛將計算任務卸載到云端進行處理[5]。云服務器可以提供大量的計算資源,但較高的傳輸時延使時延敏感型應用的服務質量下降,甚至導致交通事故的發生。
MEC的出現為無人駕駛技術的發展提供了切實有效的解決方案。通過在RSU旁部署MEC服務器,將計算資源、存儲資源和通信資源分布到靠近用戶的網絡邊緣側[6],從而降低了傳輸時延。但是如果將所有任務都卸載到MEC服務器上,容易使MEC服務器出現過載的狀態。因此,無人車本地以及云服務器依然需要處理部分計算任務。
通過任務卸載將計算密集型的任務遷移到MEC服務器上,一方面可以緩解無人車資源緊張的情況,減少無人車的能耗,增強其續航能力[7],另一方面可以提高任務處理效率,減少任務完成時延。本文引入車輛層、邊緣層和云層三層網絡架構為資源受限的車輛提供了多元的卸載選擇。無人車可以根據實際情況選擇在本地處理自身的任務,也可以將任務卸載到MEC服務器或云服務器進行處理。
車—邊—云架構下的任務卸載問題可以歸結為資源受限條件下平衡車輛、MEC服務器和云服務器的任務負載以獲得最小時延和能耗的聯合優化問題。出于對算法穩定性和可靠性等方面的考慮,本文采用一種基于深度Q網絡的算法來解決該優化問題。本文的主要貢獻點包括以下三個方面:
a)提出了一種基于任務優先級的車—邊—云協同任務卸載模型,其需要通過聯合優化車輛計算能力與任務卸載策略以獲取系統最小延遲和能耗。
b)該問題是一個混合整數線性規劃問題,是NP-hard的,因此,為了降低算法復雜度,本文分兩步對其進行求解。首先,通過數學推導得出了最優車輛計算能力的解析解;然后在其數值固定條件下,基于DQN算法獲得了最佳的任務卸載策略。
c)進行了綜合全面的仿真實驗,實驗結果證明了算法的可行性和優越性。
1 研究現狀
任務卸載技術通過將設備計算任務卸載到邊緣節點或云服務器從而解決設備計算資源不足的問題。目前,已經有不少研究人員致力于研究不同場景下多用戶MEC任務卸載問題。根據不同的優化目標,之前的研究工作可分為如下三類:
a)針對時延的優化。文獻[8]為了解決多云環境下任務卸載過程復雜、響應時間長等問題,提出了一種基于多云協作的加權自適應慣性權重粒子群優化算法。實驗結果表明,與非協同任務卸載方案相比,該方案能夠有效地減少任務卸載時間。文獻[9]為了加快車聯網環境中任務處理效率,提出了一種基于AHP-DQN的任務卸載算法,該算法利用AHP將車輛任務進行合理劃分,并根據車輛實時信道增益進行卸載決策的部署。最后通過大量的仿真實驗證明了該算法能夠降低任務處理時延,但該方案未對車輛計算能力進行優化。文獻[10]為了解決車聯網環境中同時考慮MEC服務器及云服務器資源分配的卸載問題,提出了一種基于DQN的端—邊—云卸載方案,并通過大量實驗證明了所提方案的優越性,但該方案并未考慮到任務分類以及任務優先級問題。
b)針對能耗的優化。文獻[11]考慮在價格合理的嵌入式系統上同時提供多種自動駕駛服務,設計了一個用于實現自動駕駛機器人和車輛服務的低功耗邊緣計算系統,它可以在低能耗下成功支持多種自動駕駛服務。文獻[12]考慮到車輛的異質性和路邊單元的影響,建立了一個考慮異構車輛和RSU的網絡模型,并提出了一種算法以尋找最優的資源分配策略,實驗表明該算法能較好地降低能耗。
c)針對時延和能耗的優化。文獻[13]考慮了一般類型的任務計算的時間分布并分析了服務器排隊延遲問題,提出了一種基于整數線性規劃(ILP)的算法以優化系統的時延和服務器總能耗,實驗結果證明了該算法的有效性。文獻[14]針對現有的計算模型難以滿足新興應用對低延遲、高復雜度和高可靠性要求的問題,提出了一種基于服務編排的云—邊緣服務器協同任務卸載算法,該算法能有效降低時延和能耗。文獻[15]為了最小化資源有限設備的任務完成時延和能耗問題,在考慮設備的移動性與任務依賴關系的基礎上,提出了一種基于DQN的多目標任務卸載算法,經過多種測試場景,驗證了該算法的有效性,但該方案也未考慮到任務分類以及任務優先級問題。
以上工作為解決設備或車聯網背景下關于不同優化目標的任務卸載問題提供了可行的解決方案,其中針對時延和能耗的模型給本文提供了良好的啟示。然而,無人駕駛汽車電池容量的有限性不可忽略,車輛計算能力需進行優化從而降低無人駕駛汽車的能耗。再者,無人車的高速移動性會導致汽車在行駛過程中超出MEC服務器的V2I通信范圍。最后,無人駕駛汽車在行駛中會產生各種類型的任務,如與行駛有關的控制指令任務或與娛樂相關的任務,不同任務的緊迫性有所不同。關于設備的相關文獻大多未考慮到車輛的移動性問題,關于車聯網的相關文獻大多未考慮到任務按照優先級分類或未對車輛的計算能力進行優化,因此,以上卸載方案不適合無人駕駛場景。目前關于無人駕駛場景下的任務卸載問題研究較少。
本文針對三層網絡架構下的無人駕駛場景,考慮了無人車的計算能力優化、移動性問題以及任務按照優先級分類等影響因素,在此基礎上構建了一個新的任務卸載模型,仿真結果驗證了該模型的合理性和可行性。
2 系統模型
本章首先介紹了無人車場景下任務卸載的網絡模型、通信模型、計算模型和優先級模型。在此基礎上,定義了一個通過聯合優化車輛計算能力與任務卸載策略以獲取系統最小延遲和能耗的優化問題。
2.1 網絡模型
本系統包括三層網絡架構,由車輛層、邊緣層和云層組成,如圖1所示。車輛層包括了所有在道路上行駛的無人車。假設每一輛無人車配備了雙無線電接口,即802.11p接口(支持V2X通信)和蜂窩網絡接口(例如LTE-A)[16],車輛可以通過802.11p接口與RSU進行通信。邊緣層由位于道路旁的邊緣節點組成,其中每個邊緣節點包括RSU以及配備在RSU旁的MEC服務器;RSU具有一定的通信覆蓋能力,可以用來收集車輛、網絡狀況以及任務的相關信息。云層包含云服務器,無人車通過蜂窩網絡接口與基站進行通信,基站通過有線鏈路與云服務器進行連接,從而將無人車的任務卸載到云服務器上。
系統中存在著多輛有計算任務的無人車,MEC服務器按照一定的時間周期為所有車輛進行卸載調度。RSU集合定義為K={1,2,…,k},無人車集合定義為N={1,2,…,n}。每一輛無人車都有計算密集型任務需要及時處理,且假設計算任務是不可分的。因此,每一個任務要么在本地執行,要么被卸載到MEC服務器或云服務器上去執行。當任務被卸載到MEC服務器時,由于車輛的移動性,在無人車駛出RSU的無線覆蓋范圍并且任務沒有計算完成的情況下,其必須被卸載到云服務器上運行。為了便于表述,表1列出了系統模型的部分符號以及含義。
2.2 通信模型
首先引入通信模型。無人車通過無線信道將任務傳輸到MEC服務器。根據香農公式,車輛n到MEC服務器的傳輸速率為
vn,m=BmIlog2(1+png2mBmIN0)(1)
其中:pn是車輛n的傳輸功率;Bm是MEC服務器的上行信道總帶寬;N0是噪聲功率;g2m是無人車與MEC服務器之間的信道增益;I是卸載到MEC服務器上的任務數。
無人車通過無線信道將任務卸載到云服務器。根據香農公式,車輛n到云服務器的傳輸速率為
vn,c=Bn,c log2(1+png2cBn,cN0)(2)
其中:Bn,c是無人車與云服務器之間的上行信道帶寬;N0是指噪聲功率;g2c是指無人車與云服務器之間的信道增益。
2.3 計算模型
對于模型中第n輛車產生的計算任務Rn,可以用一個三元組Rn={Dn,Cn,τn}進行描述。其中,Dn表示無人車n的任務數據大小,Cn表示完成任務所需的CPU周期數,τn表示Rn的最大容忍延遲。設A為卸載決策,A=[a1,a2,…,aN],其中an={aln,amn,acn},aln,amn,acn∈{0,1}表示Rn的卸載選擇,其中aln、amn、acn分別表示Rn是否在本地、MEC服務器或云服務器上運行,若值為1,則代表在其上運行,反之則不是,并且任務只能在本地、MEC服務器和云服務器中的一個執行,因此,需要滿足約束aln+amn+acn=1。
2.3.1 本地計算模型
當aln=1時,表示任務在本地執行。用fn∈[0,fmax]表示第n輛無人車的計算能力,可以用CPU的周期頻率進行描述(CPU周期/s)。通過應用動態電壓和頻率縮放技術(DVFS)[17],無人車可以通過調整自身每個周期的CPU頻率來平衡執行時間和能耗。為了簡單起見,假設fn在一個調度周期內保持不變。因此,任務在本地的執行時間為
Tlocn=Cnfn(3)
根據文獻[18],能耗與頻率的平方成正比。因此,任務在本地運行所產生的能耗為
Elocn=kCn(fn)2(4)
其中:k是功率轉換系數,取決于微型集成電路架構,通常k=10-27。
2.3.2 MEC計算模型
當amn=1時,表示任務被卸載到MEC服務器上運行,其對應的傳輸時間為
Ttran,m=Dnvn,m(5)
假設任務的計算結果非常小,因此從MEC服務器把計算結果返回給無人車的時延和能耗通常忽略不計[19,20]。
任務在MEC服務器上的執行時延為
Texem=Cnfm(6)
用fm表示MEC服務器的計算能力。
假設MEC服務器是單核的,一次只能執行一個任務,所以卸載到MEC服務器上的任務需要排隊。當一個任務到達MEC服務器時,它將首先被添加到等待隊列中。在隊列中,任務按照優先級進行排序,相同優先級的任務按照先后順序進行排序。
本文用Tts表示任務的數據傳輸開始時刻,用Tte表示任務的數據傳輸結束時刻,用Tcs表示任務的計算開始時刻,用Tce表示任務的計算完成時刻。因此可以得到
Tte=Tts+Ttran,m(7)
Tce=Tcs+Texem(8)
只有前一個任務計算完成并且當前任務傳輸結束時,當前任務才能開始計算。公示表示如下:
Tcs=max{Tpce,Tte}(9)
其中:Tpce是前一個任務的計算完成時刻。任務在MEC服務器上的等待時間為計算開始時刻減去傳輸結束時刻,用如下公式表示:
Twaitm=Tcs-Tte(10)
因此,當任務被卸載到MEC服務器上執行時,其花費的總時間為傳輸時間加上執行時間再加等待時間,用如下公式表示:
Tmecn=Ttran,m+Texem+Twaitm(11)
由于車輛的移動性,完成任務所花費的總時間不能超過無人車n與MEC服務器之間的連接時間Tv,m,公式表示如下:
Tmecn≤Tv,m(12)
本文優化的是無人車所產生的能耗,MEC服務器所產生的能耗不予考慮。因此,不考慮任務在MEC服務器上執行的能耗,只考慮無人車進行任務傳輸時產生的能耗,總能耗用如下公式表示:
Emecn=pnTtran,m(13)
2.3.3 云計算模型
1)直接在云服務器執行的情況
當acn=1時,表示在云服務器上執行此任務,其被認為擁有無限的資源。因此,忽略任務在云服務器上的排隊,只考慮對應的傳輸時間、傳輸能耗和在其上的計算時間。
在云服務器上的傳輸時間如下:
Ttran,c=Dnvn,c(14)
在云服務器上的執行時間為
Texec=Cnfc(15)
用fc表示云服務器的計算能力。
所以,在云服務器上花費的總時延為
Tcloudn=Ttran,c+Texec(16)
云服務器產生的能耗依舊不予考慮,因此在云服務器上執行產生的能耗僅為傳輸能耗,即
Ecloudn=pnTtran,c(17)
2)MEC服務器上執行未完成需要卸載到云服務器的情況
MEC服務器作為計算服務器,可以通過無線V2I通信處理任務。由于車輛的移動性,必須在有限的V2I連接時間內完成任務的計算。當任務無法在車輛與MEC服務器的連接時間內計算完成時,將其傳輸到云服務器上重新執行,而且需要加上之前在MEC服務器上浪費的時延和能耗。
關于能耗方面,因本文只對無人車的能耗進行優化,MEC服務器執行任務所產生的能耗不予考慮,所以在此情況浪費的能耗僅為無人車將任務傳輸到MEC服務器這個過程所產生的能耗,而能耗與時間有關。具體地,無人車傳輸任務所花費的時間存在以下幾種情況:a)未將任務傳輸完畢,已跑出當前V2I的通信范圍區域,與當前服務器的連接已斷開,此時任務在MEC服務器上浪費的時間為連接時間;b)將任務全部傳輸到MEC服務器時,此時無人車超出V2I通信范圍,MEC服務器未開始進行計算,任務在MEC服務器上浪費的時間為傳輸時間也是連接時間;c)將任務全部傳輸到MEC服務器,MEC服務器已經開始計算,但是計算未完成,此時無人車超出V2I通信范圍,任務在MEC服務器上浪費的時間為傳輸時間。因此,任務在MEC服務器上執行浪費的時間為傳輸時間和連接時間的最小值:
Textra=min{Ttran,m,Tv,m}(18)
所以在MEC服務器上浪費的能耗用如下公式表示:
Eextra=pnTextra(19)
在云服務器上花費的總時延為與MEC服務器的連接時間和重新傳輸給云服務器消耗的時間之和,用如下公式進行表示:
T′mecn=Tv,m+Ttran,c+Texec(20)
在云服務器上花費的總能耗為浪費的能耗與重新傳輸產生的能耗之和,公式表示如下:
E′mecn=Eextra+Ecloudn(21)
2.4 優先級模型
本系統在任務卸載中考慮了任務的緊迫性和完成率,以滿足無人駕駛的性能需要。也就是說,它決定了如何優先處理具有較高緊迫性的任務,以及如何盡可能多地完成任務。鑒于無人駕駛汽車任務的特殊性,不同的任務具有不同的緊迫性,因此需要對它們進行分類。本文將這些任務根據其緊迫性分為三個級別,包括非常重要任務、重要任務和一般重要任務[21],如表2所示。對于非常重要任務,通常其數據量較小且容忍時延較短[21]。對于重要任務,通常其數據量較大且容忍時延較長。對于一般重要任務,通常具備很高的時延容忍性。
對于非常重要任務,需要首先為其提供服務,而對于一般重要任務,可以最后為其提供服務。定義車輛n的任務優先級參數為Pn,Pn∈{1,2,3}。不同的車輛任務擁有不同級別的優先級。在MEC服務器隊列中,本文采用非搶占式優先級調度算法為隊列中的任務進行調度。
2.5 問題的公式化
本文將完成任務所花費的時延和能耗的加權和定義為任務的總開銷。對于任務Rn,其時延成本表述如下:
Tn=alnTlocn+amn(mTmecn+(1-m)T′mecn)+acnTcloudn(22)
同樣,能耗成本可以表述為
En=alnElocn+amn(mEmecn+(1-m)E′mecn)+acnEcloudn(23)
因此,任務的總開銷為Zn=βTnTn+βEnEn,其中0≤βTn≤1,0≤βEn≤1,βTn+βEn=1。βTn和βEn是分配給時延和能耗的權重系數,m=1表示任務卸載到MEC服務器并且能夠在V2I連接時間內順利完成任務。為了滿足不同用戶的特定需求,可以為其選擇不同的時延能耗權重系數。例如:電池容量較小的無人車會選擇更大的βEn來節約更多的資源;而電池容量大的無人車更傾向于選擇更大的βTn來減小延遲,獲得更好的體驗。
該系統在一次調度周期內的優化問題可以用如下公式表示。
G=minA,F∑Nn=1Zn
C1: aln,amn,acn∈{0,1},aln+amn+acn=1
C2: Tn≤τn,n∈N
C3: 0≤fn≤fmax,n∈N
C4: m∈{0,1}
C5: Pn∈{1,2,3}(24)
其中:A代表所有任務的卸載選擇;F代表所有車輛計算能力的集合;C1表示任務在本地、MEC服務器或者云服務器上執行;C2表示完成任務Rn的總時延不能超過任務的最大容忍時延τn;C3表示車輛n的計算能力不能超過其最大計算能力;C4表示任務是否在MEC服務器上順利完成;C5表示任務的優先級等級。
3 算法設計
式(24)可以通過尋找最佳的卸載決策變量A和車輛的計算能力F來解決。由于卸載決策變量A是一個離散變量集合,而車輛的計算能力F是連續變量集合,所以該問題為混合整數非線性規劃問題,是NP-hard的。針對此問題,本文采用分步求解來解決。
3.1 車輛最佳計算能力的求解
在卸載決策即A固定的情況下,優化目標G中的變量只剩下車輛的計算能力F,而F只會影響選擇在本地運行的任務,在MEC服務器和云服務器中運行的任務所產生的時延和能耗可看做常數C。因此,問題式(24)中的優化模型可以變為
G=minF∑Nn=1(βTnTlocaln+βEnElocaln)+C=
minF∑Nn=1(βTnCnfn+βEnkCn(fn)2)+CTlocaln≤τn 0≤fn≤fmax,n∈N(25)
由這兩個約束條件又可推出:
Cnτn≤fn≤fmax(26)
對G關于fn進行求導并令G′=0,可以求出對應的fn,如下所示。
f*n=3βTn2βEnk(27)
顯然,G在[0,f*n]內單調遞減,在[f*n,+ ∞]內單調遞增,所以在不考慮約束條件即式(26)時,f*n為車輛的最優計算能力。可以觀察到,車輛的最優計算能力隨著延遲權重的增加而變大。
因為存在約束,且車輛的計算能力不一定能滿足任務的實時性要求,所以需要分情況討論:
a)當Cnτngt;fmax時:當f*ngt;fmax時,fn=fmax時,G最小;當f*n≤fmax時,fn=f*n時,G最小。
b)當Cnτn≤fmax時:當f*n≤Cnτn時,此時G在[Cnτn,fmax]單調遞增,所以fn=Cnτn時,G最小;當Cnτn≤f*n≤fmax時;此時fn=f*n時,G最小;當f*n≥fmax時,此時G在[Cnτn,fmax]單調遞減,所以fn=fmax時,G最小。
3.2 基于DQN的任務卸載算法
本節設計了一種基于DQN的算法來解決無人駕駛汽車的任務卸載決策問題。在本場景中,DQN的三要素包括:
a)狀態空間。狀態是用來反映環境的,它由車輛、任務和MEC服務器的相關信息組成。用S={s1,s2,s3,…,sn,…}表示整個系統的狀態空間,sn為第n輛車的系統狀態,sn={fmax,pn,Dn,Cn,τn,Bm,fm,Mloadn}。其中fmax和pn分別表示車輛的最大計算能力和傳輸速率;Dn、Cn、τn分別表示任務的數據量、所需計算資源和最大容忍延遲;Bm、fm、Mloadn分別表示MEC服務器的上行信道總帶寬、MEC服務器的計算能力和MEC服務器當前負載情況。因為MEC服務器依次為所有任務制定卸載決策,并且之前任務的卸載選擇會影響之后任務的卸載選擇,所以本節將MEC服務器當前負載情況也作為狀態的一部分。
b)動作空間。動作表示任務的卸載決策,即任務在本地、MEC服務器或者云服務器上執行的選擇。定義系統的動作空間為A={a1,a2,a3,…,an,…},an={aln,amn,acn},其中aln,amn,acn分別表示任務在本地、MEC服務器和云服務器的卸載決策。
c)獎勵函數。agent執行一個動作an之后,會在該動作對應的狀態sn下獲得獎勵rn。一般來說,獎勵函數和優化目標有關,且本文的優化目標是最小化系統的總成本,因此考慮獎勵函數rn與-Zn相關。此外任務的完成率也是一個很重要的性能指標,因此,本文將其也作為獎勵函數的一部分。當任務未能在最大容忍延遲內完成時,應該對它進行懲罰,最終獎勵函數定義為
rn=-(βTnTn+βEnEn)Tn≤τn
-(βTnTn+βEnEn)-(Tn-τn)Tngt;τn(28)
在定義了以上三個關鍵要素之后,基于DQN的無人駕駛場景任務卸載過程如下:MEC服務器為DQN算法的agent,其通過狀態、動作和獎勵與環境進行交互;當agent收到車輛的卸載請求時,將根據當前環境狀態為該車輛尋找最佳卸載決策,即動作,之后將動作的取值返回給車輛;車輛執行動作后,agent會收到執行該動作得到的獎勵。
傳統的Q-learning算法使用Q-table來存儲每個時刻的狀態、動作下所獲得的Q值Q(s,a),agent通過遍歷Q-table,尋找在當前狀態下可以獲得最大獎勵的動作。然而,隨著狀態空間和動作空間的增加,存儲Q-table所需的內存空間迅速增加,因此會導致更新和搜索Q-table時花費很大的時間開銷。
本文使用DQN算法來解決上述問題。DQN采用神經網絡來估計不同狀態—動作組合下的Q值。為了打破數據的關聯性以及保持訓練的穩定性,DQN算法加入了經驗回放技術以及雙網絡機制。經驗回放是指將agent與環境互動過程中產生的一條條數據存入到經驗池D中,并在后面的訓練中從經驗池D中隨機采樣小批量數據進行網絡的更新。雙網絡是指通過引入評價網絡Qeva以及目標網絡Qtar,評價網絡和目標網絡的參數分別為θeva和θtar。其中評價網絡用來評估當前狀態下每一個動作的Q值,目標網絡用來計算下一個狀態對應動作的Q值。首先,隨機初始化θeva和θtar,并創建一個容量大小確定的經驗池D。對于episode內的當前step n,算法將狀態sn輸入到評價網絡中以獲得每個動作對應的概率,并根據動作概率使用categorical函數選擇動作an,得到對應獎勵rn。之后環境進入下一個狀態sn+1,并將經驗軌跡(sn,an,rn,sn+1)作為一條數據存入經驗池D中。最后,從經驗池D中隨機選擇小批量的數據評價網絡的更新,并在C步迭代后,將評價網絡的參數同步給目標網絡。其中,目標Q網絡的值的計算公式如下所示。
Qt=rn+γmaxa′ Qtar(sn+1,a′;θtar)(29)
使用均方誤差[22]作為算法損失函數,并通過梯度下降算法[23]來最小化該損失,損失函數的定義如下所示。
Loss=12(Qt-Qeva(s,a;θeva))2(30)
算法1 DQN算法
輸入:評價網絡Qeva,參數θeva,目標網絡Qtar,參數θtar,經驗池D,當前狀態sn。
輸出:動作an。
1 隨機初始化評價網絡和目標網絡的參數θeva和θtar,θeva=θtar
2 初始化大小為N的經驗池D
3" for each episode k=1 to K do
4"" for each step n do
5""" 獲取當前的狀態sn
6""" 通過categorical函數獲取當前的動作
7""" 計算獎勵rn并觀察下一個狀態sn+1
8""" 把(sn,an,rn,sn+1)作為一條數據存入經驗池D中
9""" 從經驗池D中隨機選取小批量的數據
10"" if sn+1是最終狀態 then
11""" Qt=rn
12"" else
13""" Qt=rn+γmaxa′ Qtar(sn+1,a′;θtar)
14"" end if
15"" 根據式(30)計算損失函數Loss,并使用梯度下降法更新評價網絡的參數θeva
16"" C輪迭代之后復制參數θeva來更新目標網絡參數θtar
17"" end for
18" end for
4 性能評估
在本章中,首先對實驗平臺以及數據集進行簡要說明。本實驗使用Intel CoreTM i5-10210U CPU,16 GB RAM,1.6 GHz的個人計算機開發,所有的實驗環境均使用Python 3.7和PyTorch 1.5.0實現。地圖取自西安市區5 km×5 km大小的區域,車輛軌跡由開源道路交通仿真軟件SUMO[24]生成。
4.1 參數設置
實驗中,設置了1個MEC服務器,其V2I的通信半徑為500 m。無人車的數量隨著時間的推移逐漸增多,每一輛無人車在一個調度周期內至多產生一個任務,任務產生概率為0.6。任務有三種不同的優先級,參照文獻[25~27]對三種任務進行參數設置。其中,第一優先級任務到第三優先級任務的數據量大小分別在[200,300]KB、[400,500]KB和[700,800]KB內隨機選取,所需要的計算資源分別在[50,80]M CPU cycles、[150,180]M CPU cycles和[250,280]M CPU cycles內隨機選取,最大容忍時延分別為150 ms、200 ms和350 ms。無人車的最大計算能力為1.5G CPU cycle/s,傳輸功率為250 mW。信道增益在[1,2]內隨機選取。MEC服務器的帶寬為50 MHz,計算能力為4.5 GHz。云服務器的帶寬為10 MHz,計算能力為1.5 GHz。除此之外,MEC服務器每隔2 s為車輛進行一次任務卸載調度。
在算法實現方面,參考文獻[28],DQN算法的網絡結構和超參數設置為:Q網絡的層數為5層,隱藏層神經元數量為128;學習率和折扣系數分別為0.01和0.95;經驗池的大小設置為100,batch大小為20。
4.2 對比實驗
本文選擇全本地、全MEC服務器和隨機三種常用的任務卸載算法與DQN算法進行對比,并將目標值(時延和能耗的總成本)、時延、能耗以及完成率作為評價指標。三種對比算法如下:
a)全本地執行:任務全部在無人車本地執行。
b)全MEC服務器執行:任務全部被卸載到MEC服務器上執行。
c)隨機卸載:任務隨機選擇在無人車本地、MEC服務器或云服務器上執行。
4.3 仿真結果
圖2顯示了調度次數為18 500次時累計平均獎勵的收斂曲線圖。可以看出,在一定量的訓練步數之后,基于DQN的任務卸載算法能夠實現穩定的收斂。原因之一是DQN算法在與環境的多次交互中,充分對環境進行了探索,并在此基礎上學習到了適合的任務卸載策略。另外一個原因則是經驗池的使用能夠有效地降低樣本數據之間的關聯性,提高算法的穩定性,使算法更容易收斂。
圖3通過改變每一輛無人車任務產生的概率,比較了DQN算法和其他三種對比算法在不同任務負載下的性能,其中,無人車請求任務卸載的概率在0.3~0.9。從圖中可以看出,除全本地執行外,隨著任務負載的增加,其他三種算法的目標值、時延和能耗都會變大并且完成率降低。然而,由于全本地執行與任務卸載概率的關聯性不大,所以評價指標接近一條水平線。此外,在所有的算法中,DQN算法的目標值、延遲以及能耗都是最小的,并且其完成率也較高,與全本地執行相差不大。
圖4比較了四種算法在不同MEC服務器計算能力下的性能。通過觀察,全本地執行的四種評價指標持一條水平線,這是因為MEC服務器計算能力的變化不會對無人車的計算能力產生影響。隨著MEC服務器計算能力的增大,其他三種算法的目標值和延遲隨之減小并且完成率增加,而能耗與MEC服務器的計算能力無關,所以基本呈一條水平線。此外,在所有的策略中,DQN算法的目標值、延遲以及能耗都是最小的,其完成率表現也較好,與全本地執行相差不大。
圖5比較了能耗權重系數對評價指標的影響。從圖中可以看出,無論在哪種權重情況下,DQN算法的目標值都是最小的。隨著能耗權重系數的增大,DQN算法、隨機算法與全本地算法的時延逐漸增大,能耗逐漸降低,說明DVFS技術傾向于減弱車輛的計算能力,從而降低車輛的能耗。然而,由于全MEC服務器執行不受車輛計算能力的影響,所以其時延、能耗和完成率接近一條水平線。此外,隨著能耗權重系數的增大,全本地執行的完成率較其他三種策略降低明顯,這是因為車輛計算能力的取值與延遲能耗的權重系數有關。當能耗權重系數增大時,車輛計算能力會隨之減弱,導致有些任務在最大容忍延遲內無法完成。
5 結束語
本文考慮到車輛的計算能力優化、移動性問題以及任務的優先級分類等因素,提出了一個無人駕駛場景下的基于車—邊—云三層網絡架構的任務卸載模型,其需要通過聯合優化車輛計算能力與任務卸載策略以獲取系統最小延遲和能耗。由于該問題是一個混合整數非線性規劃問題,為了降低算法的時間復雜度,本文采用分步求解,首先推導出了車輛計算能力的最優值;然后使用DQN算法來獲得任務的最佳卸載決策;最后,通過大量的仿真實驗驗證了所提策略的可行性和優越性。在未來的工作中,將考慮相鄰RSU之間的切換問題,另外將緩存技術加入到任務卸載架構中,以進一步降低任務的處理時延和計算能耗。
參考文獻:
[1]Hee L G,Faundorfer F,Pollefeys M.Motion estimation for self-driving cars with a generalized camera[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2013:2746-2753.
[2]Ackerman E.Lidar that will make self-driving cars affordable[News][J].IEEE Spectrum,2016,53(10):14-14.
[3]Ning Zhaolong,Xia Feng,Ullah N,et al.Vehicular social networks:enabling smart mobility[J].IEEE Communications Magazine,2017,55(5):16-55.
[4]Chen Lei,Englund C.Cooperative intersection management:a survey[J].IEEE Trans on Intelligent Transportation Systems,2015,17(2):570-586.
[5]Zhang Wenyu,Zhang Zhenjiang,Chao H C.Cooperative fog computing for dealing with big data in the Internet of Vehicles:architecture and hierarchical resource management[J].IEEE Communications Magazine,2017,55(12):60-67.
[6]施巍松,孫輝,曹杰.邊緣計算:萬物互聯時代新型計算模型[J].計算機研究與發展,2017,54(5):907-924.(Shi Weisong,Sun Hui,Cao Jie,et al.Edge computing:an emerging computing model for the Internet of everything era[J].Journal of Computer Research and Development,2017,54(5):907-924.)
[7]呂品,許嘉,李陶深,等.面向自動駕駛的邊緣計算技術研究綜述[J].通信學報,2021,42(3):190-208.(Lyu Pin,Xu Jia,Li Tao-shen,et al.A review of edge computing technology research for auto-nomous driving[J].Journal on Communications,2021,42(3):190-208.)
[8]Wang Qingyong,Mao Yingchi,Wang Yichao,et al.Computation tasks offloading scheme based on multi-cloudlet collaboration for edge computing[C]//Proc of the 7th International Conference on Advanced Cloud and Big Data.Piscataway,NJ:IEEE Press,2019:339-344.
[9]趙海濤,張唐偉,陳躍,等.基于DQN的車載邊緣網絡任務分發卸載算法[J].通信學報,2020,41(10):172-178.(Zhao Haitao,Zhang Tangwei,Chen Yue,et al.DQN-based task distribution and offloading algorithm for in-vehicle edge network[J].Journal on Communications,2020,41(10):172-178.)
[10]劉國志,代飛,莫啟,等.車輛邊緣計算環境下基于深度強化學習的服務卸載方法[J/OL].計算機集成制造系統.(2021-10-29)[2022-03-18].http://kns.cnki.net/kcms/detail/11.5946.TP.20211029.1534.004.html.(Liu Guozhi,Dai Fei,Mo Qi,et al.Ser-vice offloading method based on deep reinforcement learning in vehicle edge computing environment[J/OL].Computer Integrated Manufacturing Systems.(2021-10-29)[2022-03-18].http://kns.cnki.net/kcms/detail/11.5946.TP.20211029.1534.004.html.)
[11]Tang Jie,Liu Shaoshan,Liu Liangkai,et al.LoPECS:a low-power edge computing system for real-time autonomous driving services[J].IEEE Access,2020,8:30467-30479.
[12]Lin C C,Deng D J,Yao C C.Resource allocation in vehicular cloud computing systems with heterogeneous vehicles and roadside units[J].IEEE Internet of Things Journal,2017,5(5):3692-3700.
[13]Belogaev A,Elokhin A,Krasilov A,et al.Cost-effective V2X task offloading in MEC-assisted intelligent transportation systems[J].IEEE Access,2020,8:169010-169023.
[14]Huang Mingfeng,Liu Wei,Wang Tian,et al.A cloud-MEC collaborative task offloading scheme with service orchestration[J].IEEE Internet of Things Journal,2019,7(7):5792-5805.
[15]鄧世權,葉緒國.基于深度Q網絡的多目標任務卸載算法[J].計算機應用,2022,42(6):1668-1674.(Deng Shiquan,Ye Xuguo.Multi-objective task offloading algorithm based on deep Q network[J].Journal of Computer Applications,2022,42(6):1668-1674.)
[16]Sun Yanglong,Xu Le,Tang Yuliang,et al.Traffic offloading for online video service in vehicular networks:a cooperative approach[J].IEEE Trans on Vehicular Technology,2018,67(8):7630-7642.
[17]Qu Gang.What is the limit of energy saving by dynamic voltage sca-ling?[C]//Proc of IEEE/ACM International Conference on Compu-ter Aided Design.Piscataway,NJ:IEEE Press,2001:560-563.
[18]Miettinen A P,Nurminen J K.Energy efficiency of mobile clients in cloud computing[C]//Proc of the 2nd USENIX Workshop on Hot Topics in Cloud Computing.[S.l.]:USENIX Association,2010.
[19]Chen Xu,Jiao Lei,Li Wenzhong,et al.Efficient multi-user computation offloading for mobile-edge cloud computing[J].IEEE/ACM Trans on Networking,2015,24(5):2795-2808.
[20]Elgendy I A,Zhang Weizhe,Tian Yuchu,et al.Resource allocation and computation offloading with data security for mobile edge computing[J].Future Generation Computer Systems,2019,100:531-541.
[21]Dai Hongjun,Zeng Xiangyu,Yu Zhilou,et al.A scheduling algorithm for autonomous driving tasks on mobile edge computing servers[J].Journal of Systems Architecture,2019,94:14-23.
[22]Chen Liangjun,Qu Hua,Zhao Jihong,et al.Efficient and robust deep learning with correntropy-induced loss function[J].Neural Computing and Applications,2016,27(4):1019-1031.
[23]Ruder S.An overview of gradient descent optimization algorithms[EB/OL].(2017-06-15).http://doi.org/10.48550/arxiv.1609.04747.
[24]Lopez P A,Behrisch M,Bieker-Walz L,et al.Microscopic traffic simulation using SUMO[C]//Proc of the 21st International Conference on Intelligent Transportation Systems.Piscataway,NJ:IEEE Press,2018:2575-2582.
[25]Hao Zhe,Sun Yanhua,Li Qing,et al.Delay-energy efficient computation offloading and resources allocation in heterogeneous network[C]//Proc of IEEE Global Communications Conference.Piscataway,NJ:IEEE Press,2019:1-6.
[26]Tran T X,Pompili D.Joint task offloading and resource allocation for multi-server mobile-edge computing networks[J].IEEE Trans on Vehicular Technology,2018,68(1):856-868.
[27]Zhan Wenhan,Duan Hancong,Zhu Qingxin.Multi-user offloading and resource allocation for vehicular multi-access edge computing[C]//Proc of IEEE International Conferences on Ubiquitous Computing amp; Communications and Data Science and Computational Intelligence and Smart Computing,Networking and Services.Piscataway,NJ:IEEE Press,2019:50-57.
[28]Elgendy I A,Zhang W Z,He Hui,et al.Joint computation offloading and task caching for multi-user and multi-task MEC systems:reinforcement learning-based algorithms[J].Wireless Networks,2021,27(3):2023-2038.