張馨元,劉 江,2,張 然,2,黃 韜,2
(1.北京郵電大學 網絡與交換國家重點實驗室,北京 100876;2.網絡通信與安全紫金山實驗室,江蘇 南京 211111)
近年來,由于天地一體化網絡(Satellite-Terrestrial Networks,STNs)具有傳統地面網絡無法比擬的優勢,如全球覆蓋、抗自然災害、低時延、高帶寬等,在通信、導航、物聯網等領域發揮著重要作用[1]。然而,隨著增強現實/虛擬現實(AR/VR)、4K/8K視頻和多方交互應用等新業務的出現,衛星網絡僅作為遠程地面數據中心的中繼,無法提供高效的數據處理響應。因此,最近的研究考慮衛星上的計算能力,將邊緣計算(Edge Computing,EC)與STNs相結合,提供在軌計算服務。
這種新模式有許多好處,在軌計算將傳統云計算“隨時計算”的承諾擴展為“隨地隨時計算”。具體來說,一方面,利用衛星的廣播/組播特性,在衛星上預先緩存數據可以減少內容獲取時延,避免相同內容的重傳,大大減少了天地一體化網絡的衛星下行流量。另一方面,將計算轉移到更近的衛星計算平臺,特別是在沒有邊緣站點的偏遠地區,可以為延遲敏感和計算密集型應用提供更高效的服務保障。將部分天基數據 (如地球圖像和天氣觀測) 的處理轉移到衛星上,可以減少因天基數據回傳而帶來的星地鏈路的帶寬浪費。
這種新的天地一體化邊緣計算網絡(Satellite-Terrestrial integrated Edge Computing Networks,STECNs)引起了研究者的極大興趣。通過將衛星網絡作為中繼,遠離邊緣計算服務器的用戶設備也可以享受全球計算服務[2-3]。此外,通過直接在衛星上處理任務,進一步減少了帶寬浪費和訪問延遲。文獻[4]提出了一種多層異構的STECN架構;文獻[5]提出了一種基于軟件定義的STN架構,用于管理、整合網絡、緩存和計算資源;文獻[6]提出了一個由嵌入式硬件平臺和微服務軟件架構組成的5G STECN框架;文獻[7]提出了服務于車聯網的STECN架構;文獻[8]介紹了一種用于遙感的納米衛星在軌邊緣計算體系架構。此外,對STECN中的計算卸載[9-10]、任務調度[11-12]、內容緩存[13]等具體問題也有進一步的研究。
雖然已有許多關于STECN的研究,但在這些研究工作中,每個衛星是作為獨立個體參與任務處理的,換言之,一個計算任務被卸載到單顆衛星或遠端數據中心執行。這些研究忽略了衛星協同邊緣計算的可行性,即衛星間協同參與任務處理,一個計算任務被卸載到衛星協同計算群或遠端數據中心執行。單顆衛星參與邊緣計算的弊端有以下幾點:首先,單顆衛星的計算資源和緩存能力有限,導致卸載到衛星的任務接受率很低;大量的任務數據被送回到地面數據中心繼續處理,造成衛星能源消耗巨大和下行鏈路過載問題。其次,全球人口分布不均,大部分地球表面的人口分布稀少,因此,大量的低軌衛星計算資源在大部分時間都是閑置的,資源利用率較低。最后,衛星星座節點規模巨大,拓撲頻繁變化,以單顆星為單位進行資源管理和任務分配,開銷巨大且十分復雜。因此,基于以上挑戰,需要提出新的衛星協同天地一體化邊緣計算架構。
大量已有研究證明,邊緣節點協同計算可以有效提高傳輸速率,減少處理延遲[14],在多種場景中均有應用,如物聯網設備[15]、無人機[16]、車輛[17]、蜂窩接入點[18]等。邊緣節點協同計算的優勢有以下四點:① 一個任務被分解為多個可并行化處理的子任務,同時在多個節點上處理,加快了任務處理速度;② 同一計算集群的節點間,可以復用相似任務的處理結果,減少多余的資源消耗,如對同一地理位置的遙感圖像識別等;③ 計算集群可形成一個動態資源池,節點間靈活地共享資源,接受更多的任務,平衡資源利用;④ 邊緣計算的任務分配、資源調度等問題,可以集群為單位進行優化求解,大大縮小了問題解空間的規模,提高求解效率。
盡管前人關于邊緣節點協同計算的研究很有價值,但它們并不適用于衛星協同的天地一體化邊緣計算場景。由于衛星節點資源有限、負載隨時空變化、拓撲高度動態等特點,需要提出新的衛星協同天地一體化邊緣計算網絡架構。本文從衛星邊緣計算硬件平臺、管控架構及衛星協同計算機制三方面,闡述衛星協同下的天地一體化邊緣計算網絡架構,為后續天地一體化邊緣計算研究奠定基礎。
文獻[2]提出將天地一體化網絡與邊緣計算融合,用于服務質量的提升,使遠離邊緣計算基礎設施的用戶,也能通過衛星鏈路,享受邊緣計算服務。在此架構中,低軌/中軌/高軌衛星都可以作為用戶和地面骨干網之間的中繼,具體衛星的選擇根據時延、覆蓋范圍等需求決定。有基礎設施覆蓋、低級分布的用戶,通過擁有大功率衛星天線的基站連接衛星。處于偏遠地區、稀疏分布的用戶,則通過個人的、功率有限的衛星終端天線連入低軌衛星。這些稀疏分布的用戶,可以是高空飛行器和飛機、應急通信用戶、偏遠地區和海洋通信用戶。除此之外,文獻[2]還給出了網絡資源虛擬化和協同計算任務卸載模型。
文獻[4]在文獻[2]的基礎上,將衛星的在軌處理能力納入考慮范圍,提出了星上可計算的天地一體化邊緣計算架構。在此架構中,用戶設備可根據地理位置、業務需求,選擇地面邊緣計算平臺、邊緣計算集群(車輛集群、船只集群、高空飛行器集群等)以及衛星邊緣計算平臺、卸載計算任務。此外,文中還提出了天地一體化邊緣計算網絡中的關鍵技術挑戰,如協同計算卸載、多節點任務規劃、移動性管理等。
文獻[5]則面向資源感知,提出了基于軟件定義的(Software-defined Network,SDN)天地一體化網絡架構。此架構中,衛星作為通信資源的一種,與網絡資源、緩存資源、計算資源一起,用于動態管理和聯合編排。文中還將資源分配問題建模為聯合優化問題,使用馬爾可夫決策過程和深度Q學習來求解最佳資源分配策略。
以上工作提供了寶貴經驗,但都忽略了衛星協同計算的場景。基于以上研究,將衛星協同計算納入考量,并針對衛星節點資源有限、負載隨時空變化、拓撲高度動態等特點,深化衛星邊緣計算硬件平臺及管控架構的設計,給出新的衛星協同下的天地一體化邊緣計算架構。
在一個計算協同域內,有資源管理和資源兩種節點。圖1給出了一個衛星計算協同域內的硬件資源平臺。

圖1 硬件平臺Fig.1 Hardware platform
衛星資源節點有多種類型,如GPU資源節點、FPGA資源節點、存儲資源節點、通用資源節點等,衛星資源種類與衛星搭載的硬件平臺有關。
GPU資源節點搭載GPU NVIDIA jetson芯片,這種芯片包含多個GPU核和CPU核,可提供GPU計算資源,主要用于圖像處理、深度學習計算和其他計算密集型業務。
FPGA資源節點搭載Xilinx Zynq UltraScale + MPSoC FPGA平臺,包含多個CPU核和FPGA可編程邏輯單元,支持在軌動態重配置,可作為多核處理器使用,支持加速處理視頻/圖像處理、深度學習、數據分析等業務。
存儲資源節點搭載大容量的固態硬盤和CPU,支持大量數據的存儲。
通用資源節點通常搭載CPU、內存、存儲等多種硬件平臺,支持通用化的業務處理。
無論何種資源節點,考慮到能耗問題,節點上搭載的都是基于精簡指令集(RISC)的ARM CPU。相對于Intel X86處理器而言,ARM的指令集和硬件邏輯更加簡單,因此能耗更低,適用于功率、散熱受限的衛星節點。
每個衛星資源節點都使用基于容器的虛擬化技術,如Docker,用于自身資源的抽象。
除以上資源外,每個衛星資源節點還擁有支持SDN的網絡接口,用于靈活的資源管理和配置。
每個計算域內存在一個資源管理節點和多個備用資源管理節點,在資源管理節點故障時,迅速從備用資源管理節點中選出一個新代理節點,代替原節點工作。
通過資源節點中的資源虛擬化容器,資源節點將自身資源抽象,上報給資源管理節點。資源管理節點維護著高可靠性的數據庫,存儲計算域的資源信息,并將這些信息用于資源管理、業務部署、安全保障策略等。對各資源節點的配置則由資源管理節點通過SDN南向協議下發。
衛星邊緣計算控制器的分級分域放置如圖2所示,設計原則如下:

圖2 衛星協同邊緣計算架構Fig.2 Architecture of satellite cooperative edge computing
① 若以單顆星為單位進行管控,則資源分配及任務規劃計算復雜,節點資源狀態更新時全網洪泛開銷巨大,因此將整個衛星邊緣計算平臺劃分為多個計算域,以域為單位進行資源分配和任務規劃大大減少了求解復雜度,且將變動開銷限制在域內,減少了帶寬浪費。
② 每個計算域選舉一個衛星計算域控制器,保證域內所有計算節點與控制器的時刻聯通,不同衛星快照下,計算域控制器選舉可變動。
③ 衛星全球分布,且低軌衛星的運動速度較快,若只在地面上放置一個衛星邊緣計算平臺控制器,則計算域控制器需要經過一整個星座周期才能與平臺控制器進行一次通信,且通信時長十分有限,使新的配置要求無法迅速下發。因此,在地面上放置多個邊緣計算平臺控制器,增加星座周期內域控制器與平臺控制器通信的機會,同時利用星間鏈路,向不在平臺控制器視線內的域控制器下發指令。
④ 所有衛星邊緣計算平臺控制器與全局控制器相連,接受集中化的管理控制。
基于資源感知的多級控制器協同機制流程如圖3所示。

圖3 衛星邊緣計算管控流程Fig.3 Workflows among the framework of management and control of satellite edge computing
各級控制器功能如下:
衛星計算域控制器收集域內衛星計算節點資源狀態及域內拓撲信息;域內資源管理、任務規劃、移動性管理、故障恢復;根據域內決策下發配置;抽象出域內計算、緩存、網絡資源視圖,提供給衛星邊緣平臺控制器;接收衛星邊緣計算平臺控制器的指令。
衛星邊緣計算平臺控制器匯總多個計算域的資源狀態及域間拓撲信息;下發指令給衛星計算域控制器;抽象出各域資源視圖及域間拓撲,提供給全局控制器;接收全局控制器的指令。
全局控制器匯總各計算域的資源狀態及整個衛星邊緣計算平臺的拓撲信息;面向業務需求的全局資源管理、任務規劃、移動性管理、故障恢復;邊緣計算業務登記、用戶準入、業務周期管理等;向衛星邊緣計算控制器下發決策。
此外,由應用向全局控制器提出需求,并由衛星計算節點提供實際邊緣計算資源,就此完成基于資源感知的衛星邊緣計算管控流程閉環,集中與分布式相結合,實現靈活性、最優性、可擴展性。
天地一體化邊緣計算網絡中各層間協同機制如圖2所示。根據不同的場景和用戶需求,用戶設備產生計算任務。當本地資源(即設備本身的計算能力)充足時,計算任務在設備本地執行。若本地資源無法滿足計算任務,則由用戶設備決策,將計算糞污卸載到邊緣計算層。
邊緣計算層中有多種邊緣計算平臺,圖2中所示的衛星邊緣計算平臺只是其中一種。除衛星邊緣計算平臺外,還有地面邊緣計算平臺、車輛邊緣計算集群、飛行器邊緣計算集群等[4]。當邊緣計算平臺收到計算任務后,立即進行處理,若單計算域的計算資源不足,則協同相鄰計算域共同處理任務,如圖2中衛星邊緣計算域的域間協同。
若邊緣計算域及其相鄰域仍不具有充足的資源,則由邊緣計算平臺控制器決策,將計算任務卸載到云計算層的數據中心,數據中心具有足夠充分的資源來處理任務。在任務處理結束后,處理結果返回給用戶設備。
衛星邊緣計算平臺內部有兩種協同計算形式,一是域間協同計算,發生在單個衛星計算域資源不足以進行任務處理時,由衛星邊緣計算平臺控制器進行域間協同計算規劃;二是域內協同計算,發生在單個衛星計算節點資源不足時,由衛星計算域控制器進行資源分配和任務規劃。
每個衛星計算節點的計算、存儲、通信資源都將被放在所屬衛星計算域的動態資源池里。計算域可以靈活調配域內的各種資源,支持任務協同計算,在提高資源利用率的同時,增加任務成功率。
衛星協同計算需要由底層機制進行支持和保障,衛星協同計算的3種關鍵保障機制:協同計算域生成、任務規劃和故障應對。
4.3.1 協同計算域生成
協同計算域的生成,是指預先規劃好對整個衛星邊緣計算平臺的計算域劃分情況,為用戶的計算任務卸載及衛星邊緣計算平臺的任務分配決策提供基礎。
協同計算域的生成以整個衛星邊緣計算平臺的收益最大化為優化目標,與以下幾個因素有關:
① 用戶需求。由于衛星圍繞地球旋轉,每顆衛星服務的用戶流量隨空間、時間變化。空間上的變化是指地球上人口分布密集的區域,流量普遍較大,反之較小;時間上的變化是指單個用戶產生的流量在一天內各時段波動。衛星服務的用戶流量隨時空變化,若用戶流量超過衛星自身計算資源,則衛星需要將多余的計算任務分給同一計算域的其他衛星;若用戶流量少于衛星資源,則衛星愿意協同分擔同一計算域中其他衛星的計算任務。通過衛星間協同計算,衛星盡可能地將協同計算域覆蓋的用戶流量,在本計算域內處理完畢,避免因資源不足而卸載給地面數據中心,減少下行鏈路帶寬消耗,以及租用數據中心計算資源的開銷。
② 網絡拓撲。衛星拓撲處于高度動態,星間鏈路頻繁通斷。采用快照思想,假設單個快照內,衛星網絡拓撲保持靜態,則必須保證在此快照下的協同計算域拓撲連通。拓撲連通,是實現衛星計算域控制器實時管控、衛星間協同計算、數據傳輸的基本條件。若某時刻拓撲不連通,則需要重新選舉計算域控制器,帶來控制器遷移開銷;且在斷掉鏈路上傳輸的數據需要重傳到其他計算節點,帶來重傳開銷。
③ 拓撲可靠性。拓撲可靠性與拓撲的連通度、邊的冗余程度等有關。因平臺抖動、天線對準等問題,衛星鏈路的質量不穩定,容易帶來鏈路突然斷掉或鏈路丟包率很高等突發故障。此時,若與故障鏈路相連的衛星節點周圍沒有其余節點可分擔計算任務,則需要將這部分計算任務卸載到地面數據中心,帶來業務遷移開銷,造成衛星邊緣計算平臺收益的下降。
由于衛星節點數目眾多,協同計算域生成的計算復雜度很高,可以基于以上模型,用啟發式算法進行離線求解。求出的協同計算域方案可作為后續任務規劃問題的輸入。
4.3.2 任務規劃
衛星邊緣計算平臺的任務規劃及分配,需結合各計算域的資源利用情況、計算任務特性進行,有以下4種任務分配方式:
① 一個衛星對應一個任務。一對一是最簡單的任務分配方式,若單個衛星有充足的資源支持任務處理,則可選擇這種方式。
② 多個衛星對應一個任務。一個可以被并行化分解的計算任務,可以分配到多個衛星上同時處理,以加快處理速度。
③ 一個衛星對應多個任務。通常來說,覆蓋相鄰地理區域的衛星節點收到的計算任務相似,如針對同一區域的大氣層進行觀測,并對觀測圖像進行處理分析。一個衛星對多個同類計算任務的計算結果可復用,如一段時間內對云層的識別結果,這種方式可以節約計算資源。
④ 多個衛星對應多個任務。這種混合業務模式是多個衛星對應一個任務和一個微型對應多個任務的結合,是最普遍的衛星協同計算任務分配方式,是任務規劃問題求解的主要形式。
對衛星協同計算任務規劃問題的求解,可以以離線形式,對提前已知需求的多項任務做規劃;也可以以在線形式,對新到來的任務做增量式規劃。
4.3.3 故障應對
如前文所述,當鏈路故障發生時,需進行任務遷移。實際上,任務遷移在衛星拓撲改變、突發鏈路故障兩種情況下均會發生。由于衛星拓撲改變是規律性變化,可提前預知,可以由衛星計算域控制器或計算節點自發地提前做好數據備份、在變動時刻前后切換路徑。然而,突發鏈路故障不可預知,需要迅速應對,減少對任務處理時延的影響。
① 故障檢測。故障檢測以控制器周期性探測和節點主動上報的形式進行。控制器周期性發包,詢問計算節點的鏈路狀況,周期越小,探測到故障的速度越快,但相應地會帶來探測開銷大的弊端,需要在二者之間做權衡。另一種方式為節點檢測到端口異常,主動發包給控制器上報故障。
② 路由計算。計算域控制器檢測到域內故障,通過控制器維持的域內資源視圖及拓撲視圖,計算出業務遷移路徑,即新的協同計算節點、節點間的數據傳輸路徑。若域內控制器判斷當前域的資源和拓撲條件無法支持業務遷移,則與相鄰域控制器通信,計算得到跨域的任務遷移方案。
③ 故障恢復。域控制器下發指令給相關計算節點,若新舊協同計算節點之間存在鏈路,則可由舊節點將已得到的計算結果和未計算的數據傳給新節點;若不存在,則由源計算節點將所有需要計算的數據傳給新節點。
近年來,天地一體化的邊緣計算網絡受到廣泛關注。本文提出了衛星協同的天地一體化邊緣計算網絡架構,從衛星邊緣計算硬件平臺、衛星邊緣計算管控架構、天地一體化邊緣計算網絡協同計算機制三方面對架構進行闡述,并在最后針對衛星協同邊緣計算的挑戰,提出了三種協同計算關鍵保障機制。本文拓展了以往天地一體化邊緣計算的研究,為后續工作打下基礎。