陳 鳴,吳 瓊,趙洪蕊,姜玉稀
(1.上海三思電子工程有限公司,上海 201100;2.上海三思科技發展有限公司,上海 201100)
智慧交通是建設智慧城市的重要基礎,是推進城市現代化的重要標志[1]。2020年9月,交通運輸部提出交通領域新型基礎設施建設的具體落實舉措,旨在加快構建智慧交通網絡,提高出行效率和出行安全[2]。隨著B5G技術的發展[3-4],智慧交通迎來了更多的發展機遇,集智慧感知、智慧傳輸、智慧管理為一體[5],采集并處理海量的實時交通數據,有助于加強交通網絡的檢測和管理。智慧交通采用邊緣計算[6-7],賦予網絡邊緣計算能力,在本地處理數據,應對日益增長的數據處理需求。然而出于設備成本的考慮,邊緣計算網絡的處理器難以配置較為充裕的冗余性計算資源和存儲空間[8]。鑒于邊緣處理器有限的計算能力,如何根據實時交通數據的流量和邊緣處理器的狀態進行資源合理分配是邊緣計算一個待解決的難點[9]。
目前,國內外對于邊緣計算的相關問題進行了大量研究,但針對于智慧高速架構中的邊緣計算資源調度問題關注較少。Mao等人[10]提出任務遷移卸載算法,該算法只依賴于當前系統的狀態,而不考慮當前系統中的帶寬狀態、計算需求等問題;Meng等人[11]提出在有限計算能力的情況下,通過優化計算任務隊列下的計算卸載問題來實現計算任務完成時延最小,但該方法僅適用于單服務器場景。Chen等人[12]考慮到邊緣處理器的功耗問題,通過設定邊緣處理器的功耗閾值確定邊緣處理器的狀態,同時利用 Lyaponuv方法優化資源的分配,但根據功耗判斷狀態仍不夠完善。
根據當前方法的不足,本文提出了一種面向智慧高速網絡節點邊緣處理器的資源配優化算法,該算法考慮了智慧高速網絡節點的層次化結構,對邊緣處理器的工作狀態進行了建模,根據其工作狀態進行資源配置優化。實驗表明,本文算法可以在處理突發事件時能通過資源配置有效降低時延,使智慧高速網絡節點數據處理傳輸更加穩定可靠。
智慧高速網絡包括三部分:云端、邊緣處理器和外接設備[13]。云端負責接收數據及下發任務,起到統籌規劃全局的作用;邊緣處理器是智慧高速網絡的節點,從云端接收任務并下發至外接設備執行,同時通過邊緣計算合理配置資源并進行數據計算處理,最終將收集處理完畢的數據傳回至云端;外接設備包括氣象傳感器、攝像頭、GPS及雷達等,其主要工作是負責收集數據以及執行邊緣處理器下發的任務。智慧高速網絡結構如圖1所示。

圖1 智慧高速網絡節點結構圖Fig.1 Node structure diagram of intelligent high-speed network
由圖1可以看出,智慧高速網絡是一種層次化網絡[14],云端為控制層,外接設備為執行層,而邊緣處理器作為中間層起到了橋梁作用,連接著云端和外接設備,從而形成一種層次化網絡結構。例如云端下發收集實時路段氣象信息這一任務至邊緣處理器,邊緣處理器在接收任務后控制氣象傳感器獲取當前高速路段氣象信息,其中氣象傳感器收集的是最原始的數據。邊緣處理器對數據進行計算和簡化,并且上傳到云端。同時,經過處理的信息將顯示在當前路段標志牌上提醒來往車輛。此外,云端還可以直接發布邊緣計算任務給邊緣處理器,邊緣處理器將任務分解成不同工作給相應的外接設備執行。利用邊緣處理器將外接設備所采集的數據直接在本地進行簡化和處理,在提高信息時效性的同時可以減少對傳輸速率、通信鏈路帶寬的需求與消耗[15]。
基于圖1所示的智慧高速網絡節點結構,通過邊緣計算算法設計,優化網絡節點邊緣處理器資源配置能力,聯合多個網絡節點邊緣處理器組成一個靈活分配邊緣計算任務并具有故障自愈性的智慧高速系統。
本文通過云端與邊緣處理器之間的傳輸總時延[16]來表征邊緣處理器的工作狀態。傳輸總時延T的計算公式為:
(1)
式中,Tg為云端下發任務至邊緣處理器所產生的時延,可由云端下發任務時加入的時間戳T1和邊緣處理器接收到數據時的本地時間T2之差得出。Tp為邊緣處理器解析接收到的任務所產生的時延,可由邊緣處理器接收到數據時的本地時間T2和邊緣處理器為各外接傳感器分配任務時,在數據中加入的時間戳T3之差得出。j為連接到邊緣處理的第j個外接傳感器;Tdj為邊緣處理器下放任務給外接傳感器j后,其返回數據所產生的時延,可由邊緣處理器為各外接傳感器分配任務時,在數據中加入的時間戳T3和邊緣處理器接收到外接傳感器返回數據時的本地時間T4之差得出。Trj由兩部分時延組成,一部分時延由邊緣處理器將外接傳感器返回的數據進行預處理產生;另一部分時延由邊緣處理器將處理后的數據回傳給云端時產生,可將邊緣處理器接收到外接傳感器返回數據時的本地時間T4作為時間戳加入數據中,由云端接收到回傳數據時的本地時間T5和T4之差得出。
由計算得出的傳輸總時延T對邊緣處理器的工作狀態進行劃分,劃分規則如表1所示。其中,Tnormal為最大正常工作時延的閾值,Terror為最大故障工作時延的閾值。

表1 傳輸總時延與邊緣處理器工作狀態對應關系
智慧高速網絡中,云端下發任務給對應邊緣處理器,邊緣處理器再進行執行。基于工作狀態模型,單個邊緣處理器執行任務負載過大時,將處于繁忙或錯誤工作狀態。在本文設計的智慧高速網絡中,云端存儲每個邊緣處理器的任務和數據備份作為數據鏡像,當邊緣處理器開始工作時向云端索要任務與數據備份。相應的,邊緣處理器完成任務后會更新數據鏡像反饋給云端,當云端發出新的任務時,邊緣處理器再接收新的數據鏡像并執行任務。邊緣處理器執行任務有3個重要規則:更新、獲取、恢復。
(1) 更新(邊緣處理器執行任務時)
如果邊緣處理器發現其數據鏡像不存在,則會創建一個新的數據鏡像;否則用邊緣處理器的任務執行結果數據更新數據鏡像的數據。在存儲數據時使用時間戳標記最新的更新時間。如果云端生成新的任務時,數據鏡像中的任務將更新。
(2) 獲取(邊緣處理器收到任務時)
邊緣處理器向云端訂閱最新的數據鏡像。云端不需要知道哪個邊緣處理器訂閱了數據鏡像,只需根據邊緣處理器編號將數據鏡像發送到邊緣處理器。
(3) 恢復(邊緣處理器重啟時)
故障邊緣處理器重啟恢復時,會訂閱存儲在云端中的最新數據鏡像。檢查數據鏡像更新的時間戳和本地數據鏡像的時間戳。如果本地較新,則云端的數據鏡像將被更新,否則更新本地的數據鏡像。
上節描述了本文智慧高速網絡節點邊緣處理器的任務執行規則,這些規則使得多個邊緣處理器之間進行資源配置成為可能。資源配置優化基于工作狀態模型,其本質是確保邊緣處理器處于正常工作狀態,邊緣處理器的工作狀態轉換條件如圖2所示。本文所提出的資源配置優化算法包括兩部分:一是應對邊緣處理器的繁忙工作狀態;二是應對邊緣處理器的故障工作狀態。

圖2 邊緣處理器工作狀態轉移圖Fig.2 Edge processor working state transition diagram
2.2.1 繁忙工作狀態邊緣處理器資源配置優化
邊緣處理器設備在繁忙工作狀態下執行邊緣計算。當總時延超過最大正常工作時延Tnormal時,表明邊緣處理器設備負載過大,邊緣計算效率降低,此時單個邊緣處理器無法滿足云端下發的邊緣計算任務。因此在繁忙工作狀態下,需要聯合多個邊緣處理器進行邊緣計算資源配置優化,具體如圖3所示。

圖3 繁忙工作狀態邊緣處理器資源配置Fig.3 Edge processor resource configuration in busy state
設定高速公路的起點至終點方向為正方向,等間隔安裝n個邊緣處理器,依次記為D1,D2,D3,D4,…,Dk-1,Dk,Dk+1,…,Dn。由于各邊緣處理器的計算資源和處理數據的能力有限,現根據高速公路的線性特性,針對繁忙工作狀態和故障工作狀態下的各邊緣處理器的資源配置進行優化。以Dk當前工作狀態作為判斷標準,資源配置優化流程如下:
① 云端得知Dk處于繁忙工作狀態;
② 云端尋找與Dk相鄰的Dk+1和Dk-1;
③ 云端將下一時刻要發送給Dk的任務,按照任務相關程度的高低發送給另一個Di,其中Di∈{Dk-1,Dk+1}。
④ 云端再次獲取Dk的工作狀態,若仍處于繁忙工作狀態,則重復步驟①~③,直至云端得知邊緣處理器Dk已恢復正常工作狀態。
2.2.2 故障工作狀態邊緣處理器資源配置優化
當Dk處于故障工作狀態時,資源配置優化流程如下:
① 各個邊緣處理器處于正常工作狀態時,向其相鄰邊緣處理器發送其設備序號,即Dk向Dk-1和Dk+1發送其設備序號;
② 2Dk-1和Dk+1若未接收到應處于正常工作狀態的Dk的設備序號,則判定Dk處于故障工作狀態,并通知云端;
③ 云端得知Dk處于故障工作狀態,將其從邊緣處理器設備列表中刪除,并對所有邊緣處理器進行重新編號;
④ 云端將下一時刻要發送給出現故障的Dk任務,根據任務與邊緣處理器之間斯皮爾曼相關系數的大小作為依據,發送給另一個Di,其中Di∈{Dk-1,Dk+1};
⑤ 處于故障狀態的Dk恢復正常工作后,云端重新將其加入邊緣設備列表中,并對所有邊緣處理器進行重新編號。
其中,云端調度的任務與邊緣處理器之間的相關程度采用斯皮爾曼相關系數進行計算,如式(2)所示。其值用來衡量云端下發的任務在邊緣處理器中執行的必要性。若計算值大,則表明該任務可由當前邊緣處理器執行;若計算值小,則表明該任務應由其他邊緣處理器執行。
(2)

為了驗證本文提出的優化算法,根據建立的智慧高速網絡結構與邊緣處理器工作狀態模型,進行仿真實驗。實現資源配置優化的偽代碼如算法1所示。

在仿真時,假設系統中共有5個邊緣處理器,同時假設數據傳輸速度是確定的,此時,邊緣處理器處理數據時產生的時延對總時延的影響較大,所以采樣點的初始時延由前一采樣間隔內云端發布的任務數據量和邊緣處理器的處理能力以及各傳輸時延決定。在未進行資源配置優化的情況下,5個邊緣處理器在各采樣時間點的總時延如圖4所示。設定Tnormal為3 ms,邊緣處理器設備4在T12時刻總時延超過3 ms,即進入繁忙工作狀態,由于云端沒有進行合理的資源分配,導致該邊緣處理器設備在T12時刻之后始終處于繁忙工作狀態。

圖4 繁忙工作時多邊緣處理器總延時變化圖Fig.4 Variation diagram of total delay of multi-edge processor during busy working state
以表2中資源配置優化的偽代碼為核心,在采用資源優化算法的情況下,5個邊緣處理器在各采樣時間點的總時延如圖5所示。邊緣處理器設備4在T12采樣時刻進入繁忙工作狀態,通過資源配置優化后,由邊緣處理器設備5承接了下一時刻云端原本將下發給邊緣處理器設備4的任務。在T13采樣時刻,邊緣處理器設備4的總時延低于3 ms,重新變為正常工作狀態。

圖5 資源配置優化后多邊緣處理器總延時變化圖Fig.5 Variation diagram of total delay of multi-edge processor after resource allocation optimization
由此可見,在未進行資源配置優化的情況下,當邊緣處理器進入繁忙工作狀態之后,云端將繼續為其分配任務,導致該邊緣處理器將長時間處于繁忙工作狀態,這可能會影響該邊緣處理器的工作效率;同時,其他處于正常工作狀態的邊緣處理器的資源難以得到合理利用。在進行資源配置優化之后,可以將各邊緣處理器的總時延降低至3 ms以下,合理利用了邊緣處理器的資源。
在智慧高速系統中,當邊緣處理器出現故障后,實現自愈調度控制,圖6對這一過程進行了推演。

圖6 故障工作狀態邊緣處理器資源配置Fig.6 Edge processor resource allocation during fault working state
圖6中,Dk顏色變為黑色,代表Dk出現故障,此時自愈調度算法控制相鄰Dk-1、Dk+1承接故障Dk的工作;Dk-1、Dk+1承接后,顏色變為紅色,表示進入繁忙工作狀態,因此對繁忙Dk-1與Dk+1進行資源配置,配置完成后,Dk-1、Dk+1、Dk-2、Dk+2處于一個相對正常的工作狀態;Dk不再執行邊緣計算任務,同時整個邊緣計算層的平均時延降低,直至Dk恢復正常。
本文以建設智慧高速為背景,將智慧高速網絡節點視為邊緣處理器并引入邊緣計算。在邊緣處理器收集到各種數據后,直接在本地通過邊緣計算得到處理后的信息,從而大大提高了信息處理的時效性,也可以有效提高分布式組網傳輸速率,并減少對通信鏈路帶寬的苛刻要求。本文設計了邊緣計算方案,通過對執行邊緣計算任務的總時延進行監控,總時延的大小分別對應“正常、繁忙、故障”三種工作狀態模式,按照邊緣計算方案執行任務均衡分配和調度。為了保證邊緣計算層的穩定性,當故障發生時,采用自愈調度方案,云端不直接進行干預。通過建立工作狀態模型與實驗仿真驗證本文邊緣計算算法設計的合理性與有效性,實驗結果表明,當邊緣處理器發生故障時,相鄰處理器能夠承接其任務,并且邊緣設備處理的總時延可以控制在3 ms以下。