于晶,魯凌云,李翔
(1.北京交通大學 計算機與信息技術學院,北京 100044;2.北京交通大學 軟件學院,北京 100044)
隨著人工智能、5G 移動通信和車聯(lián)網(wǎng)技術的發(fā)展,大量的智能車載應用不斷被開發(fā),例如自動駕駛、碰撞預警、虛擬現(xiàn)實等[1]。然而,計算密集型和時延敏感型的任務對于車載終端來說無疑是一個巨大的挑戰(zhàn)。移動云計算(Mobile Cloud Computing,MCC)能夠將任務卸載到資源豐富的遠程云服務器上,可以解決車輛計算能力不足的問題[2],因此成為解決上述矛盾的一個關鍵技術,但遠距離任務傳輸帶來的時延無法滿足安全類應用對實時性的要求[3]。對此,移動邊緣計算(Mobile Edge Computing,MEC)被引入到車聯(lián)網(wǎng)中,MEC 服務器被部署到道路兩側的路邊單元(Road Side Unit,RSU)中,為車輛提供近距離的任務卸載服務[4]。相比于云計算卸載,邊緣計算卸載不僅可以緩解車輛終端的資源不足,而且可以降低任務傳輸時延,緩解核心網(wǎng)絡的壓力。
目前,針對車聯(lián)網(wǎng)中的任務卸載問題,國內外學者展開了大量研究,但大部分研究都是單獨針對云計算卸載或者邊緣計算卸載,很少有研究關注云計算和邊緣計算的協(xié)作。此外,文獻往往假設MEC 服務器具有足夠資源,能夠滿足所有任務的卸載請求,然而事實并非如此。受硬件和成本的制約,MEC 服務器可提供的資源也相對有限,尤其是在車輛密集的區(qū)域,僅依靠邊緣層可能無法滿足海量數(shù)據(jù)的計算和存儲[5]。由于云計算和邊緣計算都擁有各自的優(yōu)勢,云服務器適合處理計算密集但對實時性要求低的任務,而邊緣服務器更適合處理計算量小或者對時延敏感的任務,因此,讓兩者相互協(xié)作以實現(xiàn)優(yōu)勢互補逐漸吸引了大家的關注。在網(wǎng)絡架構方面,軟件定義網(wǎng)絡(Software Defined Network,SDN)技術由于具備轉控分離、集中控制、開放接口、可編程等特性,因此對于實現(xiàn)邊云異構網(wǎng)絡的有效協(xié)作具有重要意義[6]。
在車聯(lián)網(wǎng)中,影響卸載決策的因素比如車輛位置、服務器資源、信道狀態(tài)等都具有時變性,如果使用傳統(tǒng)的最優(yōu)化算法或者啟發(fā)式算法來求解最優(yōu)決策,不僅要對環(huán)境做出很多靜態(tài)假設,而且每當有新任務時,都需要重新經(jīng)歷一次復雜度超高的計算[7],這對于那些對時延極其敏感的安全類應用來說無疑是巨大的隱患。除此之外,現(xiàn)有的工作在制定任務卸載決策和資源分配方案時很少考慮車載應用的緊急程度,所以任務卸載到每個服務器的可能性是相同的,而且卸載到同一個服務器的任務分配到的資源也是相同的,這也許會導致對時延敏感的任務無法在限制時間內完成。為簡化問題,很多采取部分卸載方式的方案中也會忽略車輛在上傳任務過程中的移動性,并假設任務可以在剩余通信時間內上傳完成,但這在實際應用中是不現(xiàn)實的。
為解決上述問題,本文綜合考慮環(huán)境動態(tài)性以及任務優(yōu)先級,提出基于雙深度Q 網(wǎng)絡(Double Deep Q Network,DDQN)算法的邊云協(xié)作任務卸載機制,DDQN 算法在與環(huán)境交互過程中可以對未來的環(huán)境變化進行一定程度的估計,通過不斷學習并調整策略實現(xiàn)長期效用最大化。同時,提出基于任務優(yōu)先級的資源分配方案,使優(yōu)先級越高的任務能分配到的資源越多。此外,給出一種基于確定卸載決策和資源分配方案的的卸載比例計算方法,在任務能夠完成上傳的前提下,最小化任務處理時間。
針對車輛邊緣計算環(huán)境中的任務卸載決策問題,目前已經(jīng)有大量的研究工作。文獻[8]提出一種基于遺傳算法和啟發(fā)式規(guī)則的混合智能優(yōu)化算法,制定的卸載決策可以最小化時延和資源消耗。文獻[9]對多用戶多MEC 服務器場景中的負載均衡和任務卸載問題進行了聯(lián)合優(yōu)化。文獻[10-12]也基于各種數(shù)值優(yōu)化理論提出相應的任務卸載和資源分配方案。強化學習作為解決復雜環(huán)境下序列決策問題的強大武器,被學者們用來解決任務卸載問題。文獻[13]將計算卸載調度問題形式化為優(yōu)化時延和能耗組成的長期成本問題,并將其建模為一個等價的馬爾可夫決策過程(Markov Decison Process,MDP),設計的基于深度強化學習(Deep Reinforcement Learning,DRL)的算法可以得到問題的最優(yōu)解。然而,上述工作均假設MEC 服務器擁有足夠多的計算和存儲資源,但是在實際場景中,MEC 的資源受限于硬件和成本,在車輛密集的區(qū)域可能無法保證服務質量。
邊緣計算與云計算的融合可以構建出更加高效可靠的邊云協(xié)作任務卸載環(huán)境。文獻[14]為充分利用云服務器和邊緣服務器的資源,提出約束隨機化卸載和約束啟發(fā)式貪心卸載兩種方案解決協(xié)同任務卸載問題。文獻[15]通過構建一個云端-邊緣-車輛三層協(xié)同的網(wǎng)絡,將任務卸載決策問題形式化為收益和服務質量最大化問題,并提出由Kuhn-Munkres 算法、遺傳算法、內點法和KKT 條件組成的算法求解上述非確定性多項式(Nondeterministic Polynomially,NP)問題。包括上述文獻在內的很多工作都假設動態(tài)的車聯(lián)網(wǎng)環(huán)境可以被準確地建模,然而,這在實際情況下很難做到。因此,能夠擺脫模型限制的DRL 算法特別適合用來解決復雜動態(tài)車聯(lián)網(wǎng)環(huán)境中的任務卸載問題。
文獻[16]研究了邊云協(xié)作環(huán)境中的非獨立任務卸載問題,并且提出一個基于強化學習和序列二次規(guī)劃的兩級交替方法框架。文獻[17-19]利用DRL算法解決了車聯(lián)網(wǎng)中的任務卸載問題。近年來,利用SDN 協(xié)助車聯(lián)網(wǎng)計算卸載的研究有一定的成果[20-22],例如,文獻[21]通過設計一種集成SDN 和MEC 的車聯(lián)網(wǎng)框架,實現(xiàn)網(wǎng)絡、緩存和計算的動態(tài)編排。文獻[22]構建一種MEC 輔助的軟件定義車聯(lián)網(wǎng)架構,并提出一種帶重處理機制的任務卸載方案,能夠在滿足時延約束的前提下最大化可靠性。
與現(xiàn)有工作相比,本文考慮了車聯(lián)網(wǎng)的時變性、任務的優(yōu)先級、通信鏈路的持續(xù)時間以及計算資源成本對任務卸載決策制定的綜合影響。還提出一種基于DDQN 的算法來學習任務卸載決策,該算法可以最大化由時延和成本構成的長期效用。
如圖1 所示,本文構建的基于SDN 的邊云協(xié)作車聯(lián)網(wǎng)架構在邏輯上由用戶層、數(shù)據(jù)層和控制層組成。
圖1 基于SDN 的邊云協(xié)作車聯(lián)網(wǎng)架構Fig.1 Architecture of edge-cloud collaborative vehicular network based on SDN
用戶層由行駛在一段單向雙車道公路上的車輛用戶構成。本文假設每個時隙最多有n個車輛,車輛集合記為N={1,2,…,n}。每個車輛在同一時隙最多可以擁有一個待處理的任務,車輛i的任務描述為Ti={di,ci,,θi},其中:di是任務的總數(shù)據(jù)量,單位為比特(bit);ci是完成任務Ti所需要的CPU 周期數(shù);是任務可以容忍的時延上限;θi(0 ≤θi≤1)是任務的卸載比例,為充分利用車輛本地的計算資源并進一步降低任務處理時延,本文采取部分卸載方式,將(1-θi)比例的任務留在本地處理,將車輛可用計算資源記為Flocal=
數(shù)據(jù)層由邊緣卸載計算層和云卸載計算層構成,負責執(zhí)行用戶層車輛卸載的計算任務。其中,邊緣計算層是由m個依次部署在RSU 中的邊緣服務器構成,邊緣服務器資源相對比較少,主要負責執(zhí)行對時延要求高或者對計算資源要求少的任務。車輛會通過無線車輛到基礎設施(Vehicle-to-Infrastructure,V2I)鏈路將任務上傳到其通信范圍內的中繼RSU中,然后中繼RSU 通過有線基礎設施到基礎設施(Infrastructure-to-Infrastructure,I2I)鏈路將任務轉發(fā)給目標MEC 服務器執(zhí)行。m個邊緣服務器當前可用的資源可以表示為Fmec=云計算層由1 個部署在基站(Base Station,BS)中的云服務器構成,云服務器具有充足的資源,用表示。但是遠距離的任務傳輸會產(chǎn)生不可預測的時延,安全和隱私也得不到保障,所以云服務器的主要作用是彌補邊緣計算層資源的不足。一些計算量大且對時延要求較低的任務會被卸載到云服務器執(zhí)行,中繼RSU 通過有線光纖鏈路將任務轉發(fā)到云服務器中。本文構建的邊云協(xié)作計算卸載環(huán)境可以通過優(yōu)勢互補的方式克服云計算和邊緣計算各自的缺點,充分發(fā)揮各自的長處。
控制層主要是指部署在基站中的SDN 控制器。邏輯上集中的SDN 控制層具有瞬時獲取全局網(wǎng)絡狀態(tài)的能力,可配置、可編程、對第三方開放的網(wǎng)絡基礎能力等一系列突破對于實現(xiàn)邊緣計算和云計算的有效協(xié)作具有重要意義,能夠幫助實現(xiàn)兩者的優(yōu)勢互補,滿足邊云協(xié)作計算網(wǎng)絡對于統(tǒng)一控制、任務合理卸載和資源有效分配的需求。
在本文構建的基于SDN 的邊云協(xié)作計算環(huán)境中,車輛的計算任務會被部分卸載到云服務器或邊緣服務器中執(zhí)行,所有車輛在某個時隙的卸載決策集合可以表示為X={α1,α2,…,αi,…,αn},其中,αi∈{0,1,2,…,m},當αi=0 時,表示車輛i的任務將被卸載到云服務器執(zhí)行;當αi=j,j∈{1,2,…,m}時,表示車輛i的任務將被卸載到編號為j的邊緣服務器上執(zhí)行。
考慮到車載應用的多樣性,比如碰撞預警這類對時延要求極高的安全類應用、語音識別這類對時延不敏感的娛樂性應用等,本文將抽象出一個任務優(yōu)先級的評定標準,用于指導計算資源的分配以及卸載策略的制定。除了任務的緊急程度,任務所需的計算量也是任務卸載和資源分配時必須參考的指標,任務的優(yōu)先級可以定義為式(1)所示:
其中:psf是縮放系數(shù),用來調整任務計算量或者時延對優(yōu)先級的影響程度。式(1)表明,任務所需計算量越大,或者任務所能容忍的最大時延越小,任務的優(yōu)先級越高。
行駛在道路上的車輛需要將任務通過無線V2I鏈路傳給中繼RSU,鏈路的傳輸速率直接影響任務的上傳時間。根據(jù)香農(nóng)公式,車輛i與編號為k的中繼RSU 之間的無線數(shù)據(jù)傳輸速率Ri,k可以利用式(2)計算得到:
其中:Bi,k是信道帶寬;Pi,k是車輛i的發(fā)射功率;σ2是噪聲功率;信道增益Gi,k與車輛和RSU 之間的距離di,k密切相關,具體關系可以表示為Gi,k=-30-35lg(di,k)[23]。此 外,本文還假設車輛 和RSU 之間的無線通信采用了正交頻分多址技術,所以忽略了信道之間的干擾。
本文除了將任務處理時延作為評價指標,為了避免計算資源的浪費,還引入成本這一因素來指導決策的制定。本文采取部分卸載方式,將任務在本地和服務器中按比例并行處理。任務Ti在本地處理部分所需時間的計算式如式(3)所示:
任務在本地處理時不消耗服務器的資源,所以沒有成本。卸載處理的那部分任務有邊緣服務器和云服務器兩類選擇。
2.4.1 邊緣卸載
當αi=j,j∈{1,2,…,m}時,車輛i的任務將被卸載到編號為j的MEC 服務器中執(zhí)行。任務的上傳時間計算式如式(4)所示:
其中:δi用來調整時延和成本所占的權重;Ce是MEC服務器的單位計算資源成本;Gsf是縮放因子,用來將成本值調整到合適的取值范圍內。
2.4.2 云卸載
當αi=0 時,車輛i的任務將被卸載到云服務器中執(zhí)行。任務的傳輸時間計算式如式(9)所示:
其中:υfiber=1 μs/bit,是RSU 到云服務器的單位數(shù)據(jù)傳輸時延是返回的執(zhí)行結果數(shù)據(jù)量,一般遠小于輸入的數(shù)據(jù)量,所以往往忽略其占用的傳輸時間。
任務的執(zhí)行時間計算式如式(10)所示:
其中:Cc是MCC 服務器的單位計算資源成本。
基于以上定義,可以得到一個用于衡量卸載決策和資源分配方案優(yōu)劣的效用函數(shù):
式(14)表示所有任務的平均效用,并且將任務的優(yōu)先級作為系數(shù)進一步加強任務優(yōu)先級的重要性。其 中,X是問題的解,當αi∈{1,2,…,m}時,ui=,當αi=0 時,ui=。因此,在求解卸載策略和資源分配方案時,優(yōu)化目標就是最大化上述由時延和成本構成的效用函數(shù)。
車輛移動性、計算資源、信道狀態(tài)的時變性等因素導致車聯(lián)網(wǎng)環(huán)境的高度不確定,此時將任務卸載決策問題建模為MDP 過程,這是一種高效的解決方案。盡管在理論上可以采用動態(tài)規(guī)劃或者啟發(fā)式算法求解MDP,但其超高的計算復雜度無法滿足車載應用對實時性的要求。此外,MDP 的狀態(tài)轉移概率矩陣也很難獲取,在這種情況下,不基于模型的強化學習(Reinforcement Learning,RL)算法可以用來獲取最優(yōu)策略。RL 算法不需要任何先驗知識,通過不斷與環(huán)境交互學習,最終獲得的決策模型可以實現(xiàn)長期效用最大化。近年來,深度強化學習算法又利用神經(jīng)網(wǎng)絡強大的近似能力解決了RL 算法狀態(tài)空間有限的問題。
因此,本節(jié)首先將效用優(yōu)化問題轉化為馬爾可夫決策過程,并采用深度強化學習方法求解最優(yōu)策略。然后,闡述在任務卸載策略已知情況下的基于優(yōu)先級的資源分配方案。最后,在卸載策略和資源分配方案已知的情況下,以最小化任務處理時間和保證傳輸可靠性為目標,給出任務最佳卸載比例的計算方法。
DDQN[24]是一種基于價值的深度強化學習算法,適用于車輛任務卸載這種具有大規(guī)模離散動作空間的場景。DDQN 的核心思想是使用深度神經(jīng)網(wǎng)絡近似代替動作價值(以下簡稱“Q值”)函數(shù),將環(huán)境狀態(tài)作為輸入,輸出是每個動作對應的Q值,其中最大Q值對應的動作將成為當前最優(yōu)策略,環(huán)境也會反饋一個獎勵值來評價動作的好壞,同時也用來優(yōu)化神經(jīng)網(wǎng)絡的參數(shù),然后環(huán)境將進入下一個狀態(tài),不斷循環(huán)上述過程直到收斂。
本節(jié)首先闡述MDP 的3 大要素,即狀態(tài)空間、動作空間和獎勵函數(shù),然后介紹動作價值函數(shù)以及最優(yōu)策略的定義,最后給出動作價值網(wǎng)絡的更新過程。
3.1.1 狀態(tài)空間
具有全局信息瞬時收集能力的SDN 控制器恰好可以承擔DRL 中智能體這一角色,在每個時隙中,SDN 控制器監(jiān)控其通信范圍內的車聯(lián)網(wǎng)環(huán)境,并且收集狀態(tài)信息,包括車輛位置、車輛任務、以及邊緣服務器和云服務器的資源可用信息。定義狀態(tài)空間為S,t時隙的狀態(tài)s(t)如下:
3.1.2 動作空間
根據(jù)t時隙觀察到的狀態(tài)s(t),智能體會輸出一個動作作為當前時隙采取的卸載策略。定義動作空間為A,t時隙的動作a(t)如式(16)所示:
其中:αi(t),i∈{0,1,…,n}是車輛i在t時隙的卸載目標服務器,其他兩類動作,即?j(t),j∈{1,2,…,m}和?0(t)分別是邊緣服務器和云服務器在當前時隙提供的資源比例,用來降低資源成本,盡量用更少的資源完成更多的任務。
3.1.3 獎勵函數(shù)
在t時隙,智能體根據(jù)狀態(tài)s(t)給出動作a(t)之后,環(huán)境立刻反饋一個獎勵Rt,如式(17)所示。該獎勵值可以用來評價動作a(t)的好壞,并指導價值網(wǎng)絡參數(shù)的更新。
3.1.4 動作價值函數(shù)
強化學習算法關注的是系統(tǒng)長期效用最大化,即從當前時隙到結束時隙的累計效用最大。t時隙的長期累積折扣效用可以表示為Ut=Rt+γRt+1+γ2Rt+2+…+γ3Rt+n,其中,γ是折扣因子,未來時隙的獎勵對當前時隙的影響要打一個折扣。由于狀態(tài)轉移和動作選擇的不確定性,在當前時隙,很難得到準確的Ut。在上述情況下,通過馬爾可夫性假設和求期望的方式可以消除隨機性,得到只與當前時隙的狀態(tài)st和動作at有關的動作價值函數(shù)Qπ(st,at),其計算式如式(18)所示:
3.1.5 最優(yōu)策略的定義
解決強化學習問題意味著要尋找一個最優(yōu)策略π*,該策略使個體在與環(huán)境交互過程中獲得的效用始終大于其他策略。一般來說,很難直接找到這個最優(yōu)策略,只能通過比較若干不同策略的優(yōu)劣來找到一個相對比較好的策略,也就是局部最優(yōu)解。比較策略的優(yōu)劣可以通過比較策略產(chǎn)生的動作價值實現(xiàn),最優(yōu)策略對應的動作價值優(yōu)于其他策略的動作價值。所以,基于最優(yōu)動作價值,可以給出最優(yōu)策略的定義如式(19)所示:
從式(19)可以看出,在當前狀態(tài)下,最大Q值對應的動作就是最優(yōu)動作。因此,可以通過比較當前狀態(tài)下所有動作的Q值來找到最優(yōu)動作。
3.1.6 動作價值網(wǎng)絡的更新
根據(jù)貝爾曼方程,可以得到t時隙的動作價值和t+1 時隙的動作價值的遞推關系,如式(20)所示,利用該公式,在理論上可以求出所有情況的Q值。
然而,對于狀態(tài)空間很大的復雜場景,使用動態(tài)規(guī)劃或者Q-learning 這種傳統(tǒng)的方式計算Q值將產(chǎn)生巨大的時間和內存成本,這明顯不適用于本文場景。深度強化學習解決上述問題的方式是利用神經(jīng)網(wǎng)絡近似計算Q值,參數(shù)為ω的動作價值網(wǎng)絡將狀態(tài)作為輸入,輸出不同動作的Q值,神經(jīng)網(wǎng)絡的正向傳播所需計算量極小。所以,解決深度強化學習問題的核心變成了動作價值網(wǎng)絡參數(shù)的訓練,不斷優(yōu)化網(wǎng)絡參數(shù),使計算出的Q值盡可能接近真實值。
在深度強化學習算法中,同樣使用梯度下降法更新神經(jīng)網(wǎng)絡的參數(shù),此時需要一個真實值與神經(jīng)網(wǎng)絡的估計值進行比較,但真實值卻無法獲得。根據(jù)式(20)可以得到式(21):
使用γQπ(st+1,at+1)近似代替γE[Qπ(st+1,at+1)]后,式(21)的等號左邊變成Qπ(st,at)-γQπ(st+1,at+1),Qπ(st,at)和Qπ(st+1,at+1)都可以通過神經(jīng)網(wǎng)絡計算,而等號右邊是t時隙獲得的真實獎勵,使Qπ(st,at)和Qπ(st+1,at+1)的差值盡量接近Rt是神經(jīng)網(wǎng)絡的優(yōu)化目標。根據(jù)貪心策略,下一個狀態(tài)st+1是在狀態(tài)st下執(zhí)行最優(yōu)動作at得到的,然后將st+1作為輸入,計算得到的Q值中,選取最大Q值用于參數(shù)更新。此時,可以得到均方差損失函數(shù),如式(22)所示:
原始DQN 算法使用同一個神經(jīng)網(wǎng)絡計算Qπ(st,at)和Qπ(st+1,at+1),導致相關性太強,不利于收斂。對此,Natural DQN 算法使用兩個結構相同的網(wǎng)絡來分別計算Qπ(st,at)和Qπ(st+1,at+1),并將計算當前時隙Qπ(st,at)的網(wǎng)絡稱作當前Q網(wǎng)絡,將計算Qπ(st+1,at+1)的網(wǎng)絡成為目標Q網(wǎng)絡,目標Q網(wǎng)絡無需訓練,只是定期從當前Q網(wǎng)絡復制參數(shù)過來,以減少目標Q值計算和神經(jīng)網(wǎng)絡參數(shù)更新的依賴關系。然而,使用貪心策略選擇最大的Qπ(st+1,at+1)這種方式會導致過度估計的問題,使訓練得到的模型有很大的偏差。對此,在Natural DQN 的基礎上,DDQN算法解耦了目標Q值動作的選擇和目標Q值的計算,先利用當前Q網(wǎng)絡選出下一個狀態(tài)下Q值最大的動作a′=(st+1,at+1,ω),然后從目標Q網(wǎng)絡獲得動作a′對應的Q值,即(st+1,a′,ω′),值得注意的是,此時的目標Q值未必是最大值。以上是對算法思想的介紹,基于DDQN 的任務卸載決策算法具體描述見算法1。
算法1基于DDQN 的任務卸載決策算法
本文提出一個基于優(yōu)先級的資源分配方案,優(yōu)先級越高的任務可以分配到越多的計算資源,相比于平均分配的方式,可以提高高優(yōu)先級任務的完成率。通過上一節(jié)的策略模型可以得到當前時隙的卸載策略,在此基礎上,本節(jié)首先根據(jù)優(yōu)先級計算任務的資源分配系數(shù),然后為其分配相應比例的計算資源。
3.2.1 邊緣服務器的資源分配
如果車輛i的卸載目標服務器的編號為j,那么任務Ti的資源分配系數(shù)λi如式(23)所示:
其中:mecj代表卸載目標為編號j的MEC 服務器的車輛集合。
任務Ti分配到的資源如式(24)所示:
3.2.2 云服務器的資源分配
如果車輛i的卸載目標服務器為云服務器,那么任務Ti的資源分配系數(shù)λi如式(25)所示:
其中:mcc0代表卸載目標云服務器的車輛集合。任務Ti分配到的資源如式(26)所示:
本文通過python 語言對本文算法進行仿真并分析其性能。仿真場景是由1 個云服務器、3 個邊緣服務器和若干車輛用戶組成的云-邊-車輛3 層結構。環(huán)境參數(shù)和神經(jīng)網(wǎng)絡的參數(shù)設置如表1 所示。
表1 參數(shù)設置Table 1 Simulation parameters
為驗證本文算法的性能,選擇以下5 種算法進行比較。
1)Natural DQN 算法。該算法是一種深度強化學習算法,在仿真實驗中,除了目標Q值的計算不同,其他均與本文算法保持一致。
2)模擬退火算法。與本文算法的區(qū)別是,該算法在每次迭代中會隨機選擇任務的卸載目標服務器,并以所有任務的平均效用作為優(yōu)化目標,所以只要迭代的次數(shù)足夠多,在理論上可以找到使平均效用最大的策略。
3)平均分配資源算法,在資源分配時,不考慮任務的優(yōu)先級。
4)全部卸載處理算法,任務全部卸載處理。
5)全部本地處理算法,任務全部留在本地處理。
圖2 是本文算法和Natural DQN 算法的收斂過程,為更清晰地展示2 個算法的差別,圖2(b)進一步放大了前2 000 步的迭代過程??梢钥闯鲈诘?00步以后,Natural DQN 算法的波動更明顯,而且均方誤差大于本文算法,這恰好驗證了Natural DQN 算法對于目標動作價值的過渡估計。此外,本文算法在迭代2 000 步左右就已經(jīng)完全收斂,而Natural DQN的曲線在迭代8 000 步左右才趨于一條穩(wěn)定的直線算法。
圖2 不同算法的損失值變化Fig.2 Loss value change of different algorithms
圖3 是不同算法產(chǎn)生的平均任務處理效用。將MEC 和MCC 服務器的數(shù)量分別固定為3 和1,針對10 種不同的車輛數(shù)進行對比實驗。由圖3 可知,隨著任務數(shù)量的增多,除了全部本地執(zhí)行算法以外的所有算法產(chǎn)生的平均效用都呈現(xiàn)下降的趨勢,這是因為分配給每個任務的計算資源逐漸減少,導致完成任務所需的時間增多。全部本地執(zhí)行算法的性能最差,而模擬退火算法獲得了效用最大的卸載決策,但是付出了很高的時間成本,相反,本文算法和Natural DQN 算法卻可以在極短的時間內獲得近似最優(yōu)解。此外,相比于平均分配資源這種方式,本文算法在效用方面獲得了3 倍以上的提升,這說明本文基于優(yōu)先級的資源分配方式讓資源得到了更好的利用。最后,相比于全部卸載執(zhí)行算法,本文算法采取部分卸載的方式顯然更加合理,效用至少提高了2 倍。
圖3 不同算法的平均任務處理效用Fig.3 Average task processing utility of different algorithms
圖4 是不同算法產(chǎn)生的平均任務處理時延??梢钥闯?,除了全部本地執(zhí)行算法,隨著任務數(shù)增多,其他算法的平均時延都逐漸增多,這是因為任務分配到的資源變少,而全部本地執(zhí)行算法主要與本地資源量有關,不受任務數(shù)量影響,所以變化較小。除了模擬退火算法,本文算法在時延性能方面要優(yōu)于其他算法,其中,全部卸載算法卸載的任務量最大,所以產(chǎn)生的時延大幅增長。仔細觀察還可以發(fā)現(xiàn),時延與效用的關系并不絕對,因為所有算法的優(yōu)化指標都是效用,而效用由時延和成本兩部分構成,所以效用大不代表時延小。
圖4 不同算法的平均任務處理時延Fig.4 Average tasks processing delay of different algorithms
圖5 和圖6 分別是任務和高優(yōu)先級任務的完成比例。首先,在資源總量不變的情況下,當任務數(shù)量增加到一定程度時,任務的完成率將不可避免地下降,其中,全部卸載算法由于卸載的任務量大及浪費了本地資源,所以任務完成率很低。而對于全部本地執(zhí)行算法,利用有限的本地資源,幾乎很難在規(guī)定時間內完成任務,任務量大且時延敏感的高優(yōu)先級任務完成比例甚至均為0。其次,本文算法的任務和高優(yōu)先級任務完成比例都最接近模擬退火算法,在任務數(shù)適中的情況下,任務完成比例可以穩(wěn)定維持在100%。由于在卸載決策制定和資源分配時都將優(yōu)先級作為參考標準,因此相對于平均分配資源算法,本文算法能大幅提升高優(yōu)先級任務的完成比例。
圖5 不同算法的任務完成比例Fig.5 Success rate of tasks processing of different algorithms
圖6 不同算法的高優(yōu)先級任務完成比例Fig.6 Success rate of higher priority tasks processing of different algorithms
為緩解車載應用日益豐富與車輛資源有限之間的矛盾,本文構建一種基于SDN 的邊云協(xié)作車聯(lián)網(wǎng)計算卸載架構,并將任務卸載問題建模為馬爾可夫決策過程,把時延和計算資源成本構成的效用作為優(yōu)化目標,提出基于DDQN 的任務卸載機制和基于任務優(yōu)先級的資源分配方案。通過在卸載決策制定和資源分配過程中考慮任務優(yōu)先級因素,提高系統(tǒng)平均效用及降低任務處理時延。實驗結果表明,本文提出的卸載比例計算方法在一定程度上提高了任務傳輸?shù)目煽啃裕瑢崿F(xiàn)當前策略的時延最小化。下一步將引入無線電干擾等復雜因素,構建更加符合實際場景的通信模型。