劉雷,陳晨,馮杰,裴慶祺,何辭,竇志斌
(1.西安電子科技大學綜合業務網理論及關鍵技術國家重點實驗室,陜西 西安 710071;2.中國電子科技集團公司第54 研究所,河北 石家莊 050081)
作為交通強國的重要抓手,車聯網在國家發展戰略中起著舉足輕重的作用[1-3]。隨著車聯網的飛速發展,車輛變得愈發普及和智能化。由此,催生了一大批車載應用,涵蓋信息服務、行駛安全和交通效率各個方面[4-6]。這些應用服務在給人們生活帶來便利的同時,將會造成數據的幾何增長,增加了網絡的負荷,對網絡帶寬提出了更高的需求。車載邊緣計算通過把移動邊緣計算應用在車聯網,可以實現計算和存儲能力的下沉,能夠極大緩解網絡的帶寬壓力,有效降低任務的響應時延[7-8]。
在復雜的車載網絡環境下,為了保障大量用戶多樣化的服務需求,亟須設計有效的車載邊緣計算機制[9]。利用計算卸載技術,用戶可以把任務卸載給具有豐富資源的邊緣節點計算,有助于響應時延的減少。然而,現有的車載計算卸載工作,在用戶端往往集中在本地處理,未能充分發掘鄰居車輛的資源,而在邊緣端大多側重于計算資源的管理,忽視了其與服務緩存之間的關系。特別地,邊緣端服務器為了計算用戶卸載的任務,需要具備一定的計算資源,也需要提前緩存相應的服務應用。換言之,計算卸載和服務緩存彼此關聯,相互耦合。考慮到路邊設施存儲資源的限制,如何通過服務緩存的決策保障計算卸載的質量是要解決的重要問題。鑒于車聯網的動態、隨機和時變特性,需要引入更加智能的算法實現網絡通信、計算和緩存資源的有效管理,以應對傳統數學方法的不足[10]。
針對以上問題,本文首先設計了縱向和橫向協同的智能車載邊緣計算網絡架構,然后通過分析網絡通信、計算和服務緩存資源之間相互作用的機理,提出了通信、計算和服務緩存資源的聯合優化模型,進而利用異步分布式強化學習實現了任務的靈活卸載和資源的智能管理。
區別于一般的移動網絡[11],車聯網的典型特點在于車輛的快速移動。車輛的移動會導致網絡拓撲的動態變化,決定車間的連通特性,從而影響任務的正常卸載。為此,車載邊緣計算需要和車輛的移動性密切結合。文獻[12]考慮網絡負荷和任務卸載,研究了多服務器多用戶場景下的資源管理。每輛車通過移動可以將任務選擇性地卸載給期望的邊緣服務器。文獻[13]呈現了一個移動模型用于設計鏈路穩定性指標。基于該指標可以發現任務車輛周邊可用的服務車輛,從中可以挑選滿足任務車輛偏好和服務需求的車輛作為最優的服務提供者。不同于傳統計算卸載工作主要考慮通信和計算資源的調度,文獻[14]設計的基于車輛移動的卸載機制同時也考慮了任務卸載時間的決策。特別地,任務車輛與服務器之間的數據傳輸速率隨兩者之間的距離動態變化,由此影響了任務的卸載時間。
在車載環境下,路邊單元廣泛部署于路測,通常作為主要的邊緣服務器節點參與用戶任務的處理。文獻[15]考慮車輛的移動及其與關聯的邊緣服務器的連接時間,研究了負載卸載和任務調度問題。文獻[16]提出的雙端優化問題旨在同時保障用戶端和服務器端的利益。以上工作主要側重于單服務器場景,文獻[17-18]則聚焦于多服務場景。文獻[17]提出了具有高可靠性、低時延的車–設施通信架構,優化了車和基站的耦合及無線資源的管理。文獻[18]的任務卸載機制則同時優化了服務器和傳輸模式的選擇。
鑒于車聯網的復雜特性,人工智能算法以其巨大的優勢也被用于車載邊緣計算,以實現資源的智能管理。文獻[19]利用Q–學習算法實現閑置車輛資源和服務器資源的管理,以加強用戶的服務質量。文獻[20-21]均通過深度Q–學習聯合優化了網絡的通信、計算和緩存資源,旨在提升系統的整體收益。文獻[22]則利用深度確定性策略梯度算法實現任務的調度和資源的管理,最大程度保障移動運營商的收益。
以上工作主要集中在車載計算卸載方面,忽視了車輛資源的發掘和服務緩存對計算卸載的影響。相比于文獻[12-18],文獻[19-22]雖然采用智能方法實現任務的調度,但依然存在一定的局限性。為此,本文提出了計算卸載和服務緩存智能聯合優化算法。
本文構建了一個邊緣智能驅動的車載網絡架構,如圖1 所示。該架構包括三層,即用戶層、邊緣層和云層,特點介紹如下。
縱向協作。用戶層位于網絡的最底端,主要由車輛組成。部署于道路一側的路邊單元配置相應的邊緣服務器,作為邊緣層的關鍵節點。特別地,在邊緣層引入智能模塊,協助實現資源的有效管理和任務的靈活決策。云層位于網絡的最上端,具有豐富的計算和存儲資源。在用戶和邊緣服務器資源受限的情況下,云層可提供必要的資源支持。
橫向協作。當車輛有任務處理時,可以選擇本地執行并通過鄰居車輛計算任務,還可利用車–設施通信方式交由路邊單元協助處理。路邊單元的資源往往在空時維度分布不均:輕負載的服務器資源會呈現閑置狀態造成浪費,過負載的服務器則對應接不暇的任務捉襟見肘。為此路邊單元之間可以加強橫向協作,通過任務遷移的策略,最大化網絡資源的利用率。
移動感知。由于高速的移動性,車輛可能頻繁地在不同的路邊單元之間切換。所以,需要能夠基于對車輛移動行為的分析對車輛的軌跡準確定位,以便路邊單元將計算結果順利反饋給車輛。
假設M個路邊單元均勻分布于道路一側,組成集合M。每個路邊單元配備一個計算能力為Fj、存儲資源為Sj的服務器。N個車輛自由移動在道路上,組成集合N 。每個車輛i攜帶一個任務,該任務可以表征為{di,ci},其中,di表示輸入數據的大小,ci表示該任務的計算量。路邊單元通過有線方式互聯。用戶與路邊通過無線通信方式進行交互。車輛本地的卸載決策用xi0表示,其中,xi0=1表示車輛在用戶側處理任務;車輛邊緣的卸載決策用xij表示,其中,xij=1表示車輛將任務卸載給路邊單元j處理。特別地,當車輛執行邊緣卸載處理時,優先鄰近關聯的路邊單元。如果當前關聯的路邊單元負荷較重,則可以由該服務器將任務遷移至周邊的路邊單元。這樣有利于負載均衡,提升資源的利用率,從而加強用戶的服務體驗。對于每個路邊單元,為了實現任務的處理,需要安裝相應的服務應用。換言之,當其存儲了相應的服務應用,即緩存決策wij=1時,路邊單元j能夠處理車輛i卸載的任務;否則它需要從云端下載該應用,從而帶來了額外的時延開銷。
定義δab為相鄰車輛a 和b 的連通時間,R為車輛的通信范圍。令va(t)和vb(t)分別為兩車在t時刻的速度,(xa(t),(ya(t))和(xb(t),(yb(t))分別為兩車在t時刻的坐標。那么,兩車的連通時間可以表示[23]為

其中,當φ=?1、?=1時,后車a 和前車b 同向行駛,且前車速度小于后車;當φ=1、?=1時,后車a 和前車b 同向行駛,且前車速度大于后車;當φ=?1、?=?1 時,車輛a 和車輛b 位于不同車道且相向行駛;當φ=1,?=?1 時,車輛a 和車輛b位于相同車道,且反向行駛。
車–車通信模型。車–車通信采用基于分布式協調功能(DCF,distributed coordination function)的IEEE 802.11p 協議。車輛利用CSMA/CA 機制競爭信道。令E[sn]表示成功傳輸一個數據所需要的平均時隙數目,E[sl]表示每個時隙的平均長度。那么,在車輛i和相鄰車輛k之間成功傳輸一個數據所需的平均時延[24]為

車?設施通信模型。任務車輛在執行邊緣卸載時,通過車?設施通信方式將任務上傳給路邊單元,其中通信采用LTE-V2X 協議。定義hi和Bi分別為車輛與路邊單元之間的信道增益和信道帶寬。令ρi表示用戶的傳輸功率,σ2表示傳輸的噪聲。那么,根據香農定理可得,數據的上傳速率為

路邊單元執行車輛卸載任務的前提在于其預先安裝了所需要的服務應用。考慮到存儲空間的有限性,路邊單元不可能緩存所有需要的服務應用。定義路邊單元j的存儲大小為Cj,任務車輛i服務應用的大小為,則有式(4)成立。

任務車輛可以通過用戶層計算和邊緣層卸載2 種方式處理任務。下面,對兩者的時延性能分別進行分析。
3.4.1 用戶層計算
為了充分利用車輛資源,任務車輛除了可以在本地處理任務外,還可以借助其通信范圍內的鄰居車輛實現任務的計算。定義fi為任務車輛i自身的計算能力。那么,車輛i通過本地計算方式處理自己任務所需要的時間可表示為

定義Ni為車輛i通信范圍內的車輛集合。當任務車輛利用其鄰居車輛k∈Ni計算任務時,時延包括任務在兩車之間的傳輸時延、任務在鄰居車輛的計算時延和結果的反饋時延。這里,本文忽略結果的反饋時延。對于傳輸時延而言,根據式(2)可求得平均傳輸時延tik;對于計算時延來說,通過式(5)可以求得平均計算時延。
綜上可得,完成任務車輛任務計算所需要的最小時延為

約束條件為

其中,約束條件是為了保障選定的鄰居車輛能夠在兩車有效通信時間δik內完成任務的處理和反饋。
3.4.2 邊緣層卸載
當任務車輛執行邊緣卸載時,一般包括以下階段:任務上傳、任務執行和結果反饋。本文忽略結果反饋的時延假設任務車輛i選擇卸載的路邊單位為j,分別對不同階段的時延進行分析。
任務上傳階段。車輛i首先把任務上傳給當前關聯的路邊單元si,該過程的傳輸時延取決于任務的大小和數據的傳輸速率。由式(3)可得

任務執行階段。根據所選定卸載服務器的位置,任務執行分為以下2 種情況。
情況1路邊單元si和j相同。該情況下,任務在當前路邊單元計算。如果路邊單元存儲了計算該任務所需的服務應用,則可以直接計算任務,所需時延取決于任務的算力需求和路邊單元分配的計算資源;否則,還要考慮從云端下載相應服務應用的額外時延。綜上,完成任務計算所需要的時間為

其中,fij表示路邊單元給車輛分配的算力。
情況2路邊單元si和j不同。該情況下,需要考慮任務在兩者之間的遷移時延。路邊單元之間通過有線鏈路連接。假設si和j之間存在個鏈路,而每個鏈路的平均傳輸時延為tone-link,那么,任務在2個路邊單元之間的遷移時間為。結合式(8),可得完成任務處理所需要的時間為

結果反饋階段。一旦選定的路邊單元完成任務的處理,就需要將結果反饋給車輛。由于移動性,需要考慮車輛此時是否可能駛出了起初關聯的路邊單元。因此,可將任務在上傳和執行階段的時間Tij與車輛在起初關聯服務器傳輸范圍內的時間做比較。其中,取決于用戶駛出服務器通信范圍的時間和移動速度的比值。如果,可將結果首先傳輸給該路邊單元,然后反饋給車輛;否則,需要對車輛的移動定位,判斷當前位于哪個路邊單元,以便將結果傳輸給該服務器,進而反饋給車輛。
本文旨在動態、隨機和時變的車載環境下,面對有限網絡資源和不同用戶需求之間的矛盾,通過計算卸載和服務緩存資源聯合優化,在保障用戶服務需求的前提下,最小化系統整體的處理時延。鑒于此,設計目標函數如下

其中,x={xij},w={wij},f={fij}。根據式(6)~式(9),可分別得到和Tij。這里,假設車輛分配的帶寬資源一樣。限制性條件C1 表示每個任務有用戶層處理和邊緣層卸載2 種處理方式;C2 表示每個任務僅在一個地方執行;C3 表示服務器的計算資源限制;C4 表示服務器的緩存資源限制,其中,? i表示執行任務所需要的服務應用的大小;C5 表示車輛卸載給路邊單位的任務應該在其離開關聯的服務器傳輸范圍之前完成,其中,δ i表示用戶和其關聯的服務器的連接時間,取決于用戶駛出服務器通信范圍的時間和移動速度的比值。
鑒于車載網絡的動態性、隨機性和時變性,人工智能算法相比于傳統數學方法更適合資源的管理和任務的調度。相比較而言,Q–學習需要維護Q表格,不適應于具有較多狀態的網絡。深度確定性策略梯度算法需要利用經驗回放機制消除訓練數據間的相關性。對于經驗回放機制來說,代理在與環境的每次交互都需耗費較多的資源,而所采用的離策略學習方法只能基于舊策略生成的數據進行更新。所以,考慮利用異步優勢的actor-critic 算法減少算法執行所需的開銷,同時基于實時的網絡環境提供最優的卸載決策和資源管理。
利用異步優勢的actor-critic 算法對系統環境建模,需要確定其狀態空間、動作空間和獎勵函數,具體如下。
狀態空間。狀態空間S由車載網絡的計算資源和緩存資源組成,S={F1,F2,…,FM,S1,S2,…,SM}。其中,Fi和Si分別表示路邊單元i的計算能力和存儲能力。
動作空間。動作空間由車輛的卸載決策、路邊單元的緩存和計算資源管理組成,A=(xi,wi,fi)。其中,xi、wi和fi分別代表車輛i的卸載決策、路邊單元存儲和計算資源管理的集合,xi={xi0,xi1,…,xiM},wi={wi1,wi2,…,wiM},fi={f i1,fi2,…,fiM}。
異步優勢的actor-critic 算法中的公共神經網絡包括多個線程,每個線程具有和公共神經網絡一樣的2 個模塊:策略(actor)網絡和評價(critic)網絡。actor 網絡用于優化參數為θ策略π(at|st;θ);critic 網絡嘗試估計參數為θ v的價值函數V(s t;θ)。在時刻t,actor 網絡基于當前狀態st執行動作at,得到獎賞rt并進入下一個狀態st+1。
利用優勢函數A(at,st)表示動作價值函數Q(at,st)和狀態價值函數V(st)的差值,如式(16)所示。

其中,a表示動量,Δθ表示損失函數的累計梯度。
RMSProp 算法可以通過式(23)進行梯度下降的更新。

其中,η表示學習速率,ε表示一個正數。
單個線程獨立地與環境交互并獲取經驗,彼此之間互不干擾。經過一定的交互之后,每個線程獨立地使用累計的梯度更新公共神經網絡模型參數,如圖2 所示。進而,公共神經網絡會分發自己的參數更新每個線程的神經網絡參數,指導線程與環境的交互。本文算法詳細描述如下。

圖2 本文算法網絡模型
算法1基于異步分布式強化學習的計算卸載和服務緩存聯合優化機制
輸入車輛的任務屬性和需求
輸出車輛的卸載決策,路邊單元計算和緩存資源管理決策
初始化定義?和? v為全局網絡中actor 網絡和critic 網絡的參數;定義為局部網絡中actor 網絡和critic 網絡的參數;設置全局計數器T=0,設置局部步進計數器t=1,設置Tmax、tg、γ、ε、tmax、學習的速率η和代理的數目W
迭代:


本節利用Python 對車載邊緣計算卸載算法進行仿真驗證,通過比較各算法隨車輛數目、路邊單元計算能力和存儲能力的變化在時延和獎賞方面展現的性能,來評估不同算法的優劣。其中,實現的算法除了本文算法之外,還包括基于隨機卸載策略random processing 和完全卸載策略的offloading processing。在車載環境下,設置一個云中心和3 個路邊單元。仿真參數如表1 所示。車輛的計算能力分布于[100,500]Mcycle/s,邊緣服務器計算能力分布于[2,6]Gcycle/s,邊緣服務器緩存能力分布于[200,1 000]MB,車輛計算能力分布于[100,500]Mcycle/s,每個任務的計算強度為297.62 cycle/bit。

表1 仿真參數
圖3 顯示了車輛數目對不同算法時延的影響。此時,設置每個路邊單元的計算能力為 2 GHz,存儲大小為300 MB。從圖3 中可以發現,系統任務處理的時延隨著車輛數目的增多而增加。這一方面是因為處理任務的增多,另外一方面是因為有限計算資源的競爭。在所有的算法中,random processing的時延最大。相對于offloading processing 和本文算法,當采用random processing 時,車輛會承擔較多任務的計算。由于車輛自身計算資源的限制,單獨處理任務會造成較大的時延。offloading processing取得了比random processing 更好的性能。這主要歸因于邊緣服務器具有豐富的計算資源。邊緣服務器參與任務的計算,會加快任務的處理,降低任務的處理時延。本文算法相對于以上2 種算法,完成任務處理所需的時延最小,這是因為本文算法考慮了縱向的端、邊和云的協作。為此,所有可用的資源均可以通過協同用于處理任務,提升了資源的利用效率,促進了時延的減少。特別地,在端側,任務的處理不僅考慮了本地資源,也充分發掘了任務車輛一跳的鄰居車輛資源。本文算法的目標在于最小化任務的處理時延,而所在用的深度強化學習策略能夠適應車載網絡的動態、隨機和時變特性獲取相應的最優解。

圖3 車輛數目對不同算法時延的影響
圖4 顯示了邊緣服務器的計算能力對不同算法時延的影響。隨著邊緣服務器的計算能力的增加,不同算法處理任務的時延隨之減少。這是因為任務的計算與邊緣服務器的資源呈正相關的關系。對于random processing 而言,任務可以在端側處理,也可以由邊緣服務器計算。由于未能充分發掘邊緣服務器的計算資源,random processing 所帶來的時延最大。對于offloading processing 而言,任務全部交由邊緣服務器處理。雖然可以充分發揮邊緣服務器的計算資源,但是,未能考慮計算資源和服務緩存資源的相互關系。邊緣服務器因為緩存資源不足將從云端下載任務計算所需的服務應用,帶來額外的時延。對于本文算法而言,它聯合考慮了計算卸載和服務緩存,通過本地處理和邊緣處理的合理調度,促使了計算資源和緩存資源的充分利用,進一步減少了任務的處理時延。此外,深度強化學習算法有利于在動態的網絡環境當中做出最優的卸載決策,有效地處理好計算資源和服務緩存資源之間的關系,進而保障任務的快速處理。

圖4 邊緣服務器的計算能力對不同算法時延的影響
圖5 描述了邊緣服務器的緩存能力對不同算法時延的影響。從圖5 中可以發現,隨著邊緣服務器緩存能力的增加,不同算法處理任務的時延隨之減少。這主要是因為邊緣服務器為了執行任務,需要安裝相應的服務應用,否則就需要從云端下載,從而帶來了額外的開銷。當邊緣服務器的緩存能力增加時,可以緩存更多任務處理所需要的服務應用。這樣方便任務卸載給邊緣服務器之后直接計算,從而降低了時延。

圖5 邊緣服務器的緩存能力對不同算法時延的影響
圖6 描述了本文算法在不同學習速率場景下的收斂情況。其中,實線表示當actor 和critic 網絡的學習速率分別為1×10?5和1×10?4時episode數目對獎勵的影響。虛線表示當actor 和critic 網絡的學習速率分別為1×10?4和1×10?3時episode數目對獎勵的影響。從兩者的比較可以發現,隨著episode 的增加,獎賞將會趨于穩定。

圖6 本文算法在不同學習速率場景下的收斂情況
面對車聯網中有限的網絡資源,為了保障大量用戶多樣化的服務需求,本文提出了智能驅動的車載邊緣計算架構。該架構實現了縱向端-邊-云資源的協作和橫向端側、邊側資源的協同,有利于實現資源的最大化利用。基于該架構,探究了計算卸載和服務緩存相互作用的機理,進而提出了兩者的聯合優化模型。考慮到復雜的車載環境,利用異步優勢的actor-critic 算法,給出了最優的任務卸載的策略和資源管理方案。實驗結果表明,相對于對比算法,本文算法在任務處理時延方面取得了良好的性能提升。