張馨元,劉 江,2,張 然,2,黃 韜,2
(1.北京郵電大學 網(wǎng)絡與交換國家重點實驗室,北京 100876;2.網(wǎng)絡通信與安全紫金山實驗室,江蘇 南京 211111)
近年來,由于天地一體化網(wǎng)絡(Satellite-Terrestrial Networks,STNs)具有傳統(tǒng)地面網(wǎng)絡無法比擬的優(yōu)勢,如全球覆蓋、抗自然災害、低時延、高帶寬等,在通信、導航、物聯(lián)網(wǎng)等領(lǐng)域發(fā)揮著重要作用[1]。然而,隨著增強現(xiàn)實/虛擬現(xiàn)實(AR/VR)、4K/8K視頻和多方交互應用等新業(yè)務的出現(xiàn),衛(wèi)星網(wǎng)絡僅作為遠程地面數(shù)據(jù)中心的中繼,無法提供高效的數(shù)據(jù)處理響應。因此,最近的研究考慮衛(wèi)星上的計算能力,將邊緣計算(Edge Computing,EC)與STNs相結(jié)合,提供在軌計算服務。
這種新模式有許多好處,在軌計算將傳統(tǒng)云計算“隨時計算”的承諾擴展為“隨地隨時計算”。具體來說,一方面,利用衛(wèi)星的廣播/組播特性,在衛(wèi)星上預先緩存數(shù)據(jù)可以減少內(nèi)容獲取時延,避免相同內(nèi)容的重傳,大大減少了天地一體化網(wǎng)絡的衛(wèi)星下行流量。另一方面,將計算轉(zhuǎn)移到更近的衛(wèi)星計算平臺,特別是在沒有邊緣站點的偏遠地區(qū),可以為延遲敏感和計算密集型應用提供更高效的服務保障。將部分天基數(shù)據(jù) (如地球圖像和天氣觀測) 的處理轉(zhuǎn)移到衛(wèi)星上,可以減少因天基數(shù)據(jù)回傳而帶來的星地鏈路的帶寬浪費。
這種新的天地一體化邊緣計算網(wǎng)絡(Satellite-Terrestrial integrated Edge Computing Networks,STECNs)引起了研究者的極大興趣。通過將衛(wèi)星網(wǎng)絡作為中繼,遠離邊緣計算服務器的用戶設備也可以享受全球計算服務[2-3]。此外,通過直接在衛(wèi)星上處理任務,進一步減少了帶寬浪費和訪問延遲。文獻[4]提出了一種多層異構(gòu)的STECN架構(gòu);文獻[5]提出了一種基于軟件定義的STN架構(gòu),用于管理、整合網(wǎng)絡、緩存和計算資源;文獻[6]提出了一個由嵌入式硬件平臺和微服務軟件架構(gòu)組成的5G STECN框架;文獻[7]提出了服務于車聯(lián)網(wǎng)的STECN架構(gòu);文獻[8]介紹了一種用于遙感的納米衛(wèi)星在軌邊緣計算體系架構(gòu)。此外,對STECN中的計算卸載[9-10]、任務調(diào)度[11-12]、內(nèi)容緩存[13]等具體問題也有進一步的研究。
雖然已有許多關(guān)于STECN的研究,但在這些研究工作中,每個衛(wèi)星是作為獨立個體參與任務處理的,換言之,一個計算任務被卸載到單顆衛(wèi)星或遠端數(shù)據(jù)中心執(zhí)行。這些研究忽略了衛(wèi)星協(xié)同邊緣計算的可行性,即衛(wèi)星間協(xié)同參與任務處理,一個計算任務被卸載到衛(wèi)星協(xié)同計算群或遠端數(shù)據(jù)中心執(zhí)行。單顆衛(wèi)星參與邊緣計算的弊端有以下幾點:首先,單顆衛(wèi)星的計算資源和緩存能力有限,導致卸載到衛(wèi)星的任務接受率很低;大量的任務數(shù)據(jù)被送回到地面數(shù)據(jù)中心繼續(xù)處理,造成衛(wèi)星能源消耗巨大和下行鏈路過載問題。其次,全球人口分布不均,大部分地球表面的人口分布稀少,因此,大量的低軌衛(wèi)星計算資源在大部分時間都是閑置的,資源利用率較低。最后,衛(wèi)星星座節(jié)點規(guī)模巨大,拓撲頻繁變化,以單顆星為單位進行資源管理和任務分配,開銷巨大且十分復雜。因此,基于以上挑戰(zhàn),需要提出新的衛(wèi)星協(xié)同天地一體化邊緣計算架構(gòu)。
大量已有研究證明,邊緣節(jié)點協(xié)同計算可以有效提高傳輸速率,減少處理延遲[14],在多種場景中均有應用,如物聯(lián)網(wǎng)設備[15]、無人機[16]、車輛[17]、蜂窩接入點[18]等。邊緣節(jié)點協(xié)同計算的優(yōu)勢有以下四點:① 一個任務被分解為多個可并行化處理的子任務,同時在多個節(jié)點上處理,加快了任務處理速度;② 同一計算集群的節(jié)點間,可以復用相似任務的處理結(jié)果,減少多余的資源消耗,如對同一地理位置的遙感圖像識別等;③ 計算集群可形成一個動態(tài)資源池,節(jié)點間靈活地共享資源,接受更多的任務,平衡資源利用;④ 邊緣計算的任務分配、資源調(diào)度等問題,可以集群為單位進行優(yōu)化求解,大大縮小了問題解空間的規(guī)模,提高求解效率。
盡管前人關(guān)于邊緣節(jié)點協(xié)同計算的研究很有價值,但它們并不適用于衛(wèi)星協(xié)同的天地一體化邊緣計算場景。由于衛(wèi)星節(jié)點資源有限、負載隨時空變化、拓撲高度動態(tài)等特點,需要提出新的衛(wèi)星協(xié)同天地一體化邊緣計算網(wǎng)絡架構(gòu)。本文從衛(wèi)星邊緣計算硬件平臺、管控架構(gòu)及衛(wèi)星協(xié)同計算機制三方面,闡述衛(wèi)星協(xié)同下的天地一體化邊緣計算網(wǎng)絡架構(gòu),為后續(xù)天地一體化邊緣計算研究奠定基礎(chǔ)。
文獻[2]提出將天地一體化網(wǎng)絡與邊緣計算融合,用于服務質(zhì)量的提升,使遠離邊緣計算基礎(chǔ)設施的用戶,也能通過衛(wèi)星鏈路,享受邊緣計算服務。在此架構(gòu)中,低軌/中軌/高軌衛(wèi)星都可以作為用戶和地面骨干網(wǎng)之間的中繼,具體衛(wèi)星的選擇根據(jù)時延、覆蓋范圍等需求決定。有基礎(chǔ)設施覆蓋、低級分布的用戶,通過擁有大功率衛(wèi)星天線的基站連接衛(wèi)星。處于偏遠地區(qū)、稀疏分布的用戶,則通過個人的、功率有限的衛(wèi)星終端天線連入低軌衛(wèi)星。這些稀疏分布的用戶,可以是高空飛行器和飛機、應急通信用戶、偏遠地區(qū)和海洋通信用戶。除此之外,文獻[2]還給出了網(wǎng)絡資源虛擬化和協(xié)同計算任務卸載模型。
文獻[4]在文獻[2]的基礎(chǔ)上,將衛(wèi)星的在軌處理能力納入考慮范圍,提出了星上可計算的天地一體化邊緣計算架構(gòu)。在此架構(gòu)中,用戶設備可根據(jù)地理位置、業(yè)務需求,選擇地面邊緣計算平臺、邊緣計算集群(車輛集群、船只集群、高空飛行器集群等)以及衛(wèi)星邊緣計算平臺、卸載計算任務。此外,文中還提出了天地一體化邊緣計算網(wǎng)絡中的關(guān)鍵技術(shù)挑戰(zhàn),如協(xié)同計算卸載、多節(jié)點任務規(guī)劃、移動性管理等。
文獻[5]則面向資源感知,提出了基于軟件定義的(Software-defined Network,SDN)天地一體化網(wǎng)絡架構(gòu)。此架構(gòu)中,衛(wèi)星作為通信資源的一種,與網(wǎng)絡資源、緩存資源、計算資源一起,用于動態(tài)管理和聯(lián)合編排。文中還將資源分配問題建模為聯(lián)合優(yōu)化問題,使用馬爾可夫決策過程和深度Q學習來求解最佳資源分配策略。
以上工作提供了寶貴經(jīng)驗,但都忽略了衛(wèi)星協(xié)同計算的場景?;谝陨涎芯?,將衛(wèi)星協(xié)同計算納入考量,并針對衛(wèi)星節(jié)點資源有限、負載隨時空變化、拓撲高度動態(tài)等特點,深化衛(wèi)星邊緣計算硬件平臺及管控架構(gòu)的設計,給出新的衛(wèi)星協(xié)同下的天地一體化邊緣計算架構(gòu)。
在一個計算協(xié)同域內(nèi),有資源管理和資源兩種節(jié)點。圖1給出了一個衛(wèi)星計算協(xié)同域內(nèi)的硬件資源平臺。
圖1 硬件平臺Fig.1 Hardware platform
衛(wèi)星資源節(jié)點有多種類型,如GPU資源節(jié)點、FPGA資源節(jié)點、存儲資源節(jié)點、通用資源節(jié)點等,衛(wèi)星資源種類與衛(wèi)星搭載的硬件平臺有關(guān)。
GPU資源節(jié)點搭載GPU NVIDIA jetson芯片,這種芯片包含多個GPU核和CPU核,可提供GPU計算資源,主要用于圖像處理、深度學習計算和其他計算密集型業(yè)務。
FPGA資源節(jié)點搭載Xilinx Zynq UltraScale + MPSoC FPGA平臺,包含多個CPU核和FPGA可編程邏輯單元,支持在軌動態(tài)重配置,可作為多核處理器使用,支持加速處理視頻/圖像處理、深度學習、數(shù)據(jù)分析等業(yè)務。
存儲資源節(jié)點搭載大容量的固態(tài)硬盤和CPU,支持大量數(shù)據(jù)的存儲。
通用資源節(jié)點通常搭載CPU、內(nèi)存、存儲等多種硬件平臺,支持通用化的業(yè)務處理。
無論何種資源節(jié)點,考慮到能耗問題,節(jié)點上搭載的都是基于精簡指令集(RISC)的ARM CPU。相對于Intel X86處理器而言,ARM的指令集和硬件邏輯更加簡單,因此能耗更低,適用于功率、散熱受限的衛(wèi)星節(jié)點。
每個衛(wèi)星資源節(jié)點都使用基于容器的虛擬化技術(shù),如Docker,用于自身資源的抽象。
除以上資源外,每個衛(wèi)星資源節(jié)點還擁有支持SDN的網(wǎng)絡接口,用于靈活的資源管理和配置。
每個計算域內(nèi)存在一個資源管理節(jié)點和多個備用資源管理節(jié)點,在資源管理節(jié)點故障時,迅速從備用資源管理節(jié)點中選出一個新代理節(jié)點,代替原節(jié)點工作。
通過資源節(jié)點中的資源虛擬化容器,資源節(jié)點將自身資源抽象,上報給資源管理節(jié)點。資源管理節(jié)點維護著高可靠性的數(shù)據(jù)庫,存儲計算域的資源信息,并將這些信息用于資源管理、業(yè)務部署、安全保障策略等。對各資源節(jié)點的配置則由資源管理節(jié)點通過SDN南向協(xié)議下發(fā)。
衛(wèi)星邊緣計算控制器的分級分域放置如圖2所示,設計原則如下:
圖2 衛(wèi)星協(xié)同邊緣計算架構(gòu)Fig.2 Architecture of satellite cooperative edge computing
① 若以單顆星為單位進行管控,則資源分配及任務規(guī)劃計算復雜,節(jié)點資源狀態(tài)更新時全網(wǎng)洪泛開銷巨大,因此將整個衛(wèi)星邊緣計算平臺劃分為多個計算域,以域為單位進行資源分配和任務規(guī)劃大大減少了求解復雜度,且將變動開銷限制在域內(nèi),減少了帶寬浪費。
② 每個計算域選舉一個衛(wèi)星計算域控制器,保證域內(nèi)所有計算節(jié)點與控制器的時刻聯(lián)通,不同衛(wèi)星快照下,計算域控制器選舉可變動。
③ 衛(wèi)星全球分布,且低軌衛(wèi)星的運動速度較快,若只在地面上放置一個衛(wèi)星邊緣計算平臺控制器,則計算域控制器需要經(jīng)過一整個星座周期才能與平臺控制器進行一次通信,且通信時長十分有限,使新的配置要求無法迅速下發(fā)。因此,在地面上放置多個邊緣計算平臺控制器,增加星座周期內(nèi)域控制器與平臺控制器通信的機會,同時利用星間鏈路,向不在平臺控制器視線內(nèi)的域控制器下發(fā)指令。
④ 所有衛(wèi)星邊緣計算平臺控制器與全局控制器相連,接受集中化的管理控制。
基于資源感知的多級控制器協(xié)同機制流程如圖3所示。
圖3 衛(wèi)星邊緣計算管控流程Fig.3 Workflows among the framework of management and control of satellite edge computing
各級控制器功能如下:
衛(wèi)星計算域控制器收集域內(nèi)衛(wèi)星計算節(jié)點資源狀態(tài)及域內(nèi)拓撲信息;域內(nèi)資源管理、任務規(guī)劃、移動性管理、故障恢復;根據(jù)域內(nèi)決策下發(fā)配置;抽象出域內(nèi)計算、緩存、網(wǎng)絡資源視圖,提供給衛(wèi)星邊緣平臺控制器;接收衛(wèi)星邊緣計算平臺控制器的指令。
衛(wèi)星邊緣計算平臺控制器匯總多個計算域的資源狀態(tài)及域間拓撲信息;下發(fā)指令給衛(wèi)星計算域控制器;抽象出各域資源視圖及域間拓撲,提供給全局控制器;接收全局控制器的指令。
全局控制器匯總各計算域的資源狀態(tài)及整個衛(wèi)星邊緣計算平臺的拓撲信息;面向業(yè)務需求的全局資源管理、任務規(guī)劃、移動性管理、故障恢復;邊緣計算業(yè)務登記、用戶準入、業(yè)務周期管理等;向衛(wèi)星邊緣計算控制器下發(fā)決策。
此外,由應用向全局控制器提出需求,并由衛(wèi)星計算節(jié)點提供實際邊緣計算資源,就此完成基于資源感知的衛(wèi)星邊緣計算管控流程閉環(huán),集中與分布式相結(jié)合,實現(xiàn)靈活性、最優(yōu)性、可擴展性。
天地一體化邊緣計算網(wǎng)絡中各層間協(xié)同機制如圖2所示。根據(jù)不同的場景和用戶需求,用戶設備產(chǎn)生計算任務。當本地資源(即設備本身的計算能力)充足時,計算任務在設備本地執(zhí)行。若本地資源無法滿足計算任務,則由用戶設備決策,將計算糞污卸載到邊緣計算層。
邊緣計算層中有多種邊緣計算平臺,圖2中所示的衛(wèi)星邊緣計算平臺只是其中一種。除衛(wèi)星邊緣計算平臺外,還有地面邊緣計算平臺、車輛邊緣計算集群、飛行器邊緣計算集群等[4]。當邊緣計算平臺收到計算任務后,立即進行處理,若單計算域的計算資源不足,則協(xié)同相鄰計算域共同處理任務,如圖2中衛(wèi)星邊緣計算域的域間協(xié)同。
若邊緣計算域及其相鄰域仍不具有充足的資源,則由邊緣計算平臺控制器決策,將計算任務卸載到云計算層的數(shù)據(jù)中心,數(shù)據(jù)中心具有足夠充分的資源來處理任務。在任務處理結(jié)束后,處理結(jié)果返回給用戶設備。
衛(wèi)星邊緣計算平臺內(nèi)部有兩種協(xié)同計算形式,一是域間協(xié)同計算,發(fā)生在單個衛(wèi)星計算域資源不足以進行任務處理時,由衛(wèi)星邊緣計算平臺控制器進行域間協(xié)同計算規(guī)劃;二是域內(nèi)協(xié)同計算,發(fā)生在單個衛(wèi)星計算節(jié)點資源不足時,由衛(wèi)星計算域控制器進行資源分配和任務規(guī)劃。
每個衛(wèi)星計算節(jié)點的計算、存儲、通信資源都將被放在所屬衛(wèi)星計算域的動態(tài)資源池里。計算域可以靈活調(diào)配域內(nèi)的各種資源,支持任務協(xié)同計算,在提高資源利用率的同時,增加任務成功率。
衛(wèi)星協(xié)同計算需要由底層機制進行支持和保障,衛(wèi)星協(xié)同計算的3種關(guān)鍵保障機制:協(xié)同計算域生成、任務規(guī)劃和故障應對。
4.3.1 協(xié)同計算域生成
協(xié)同計算域的生成,是指預先規(guī)劃好對整個衛(wèi)星邊緣計算平臺的計算域劃分情況,為用戶的計算任務卸載及衛(wèi)星邊緣計算平臺的任務分配決策提供基礎(chǔ)。
協(xié)同計算域的生成以整個衛(wèi)星邊緣計算平臺的收益最大化為優(yōu)化目標,與以下幾個因素有關(guān):
① 用戶需求。由于衛(wèi)星圍繞地球旋轉(zhuǎn),每顆衛(wèi)星服務的用戶流量隨空間、時間變化??臻g上的變化是指地球上人口分布密集的區(qū)域,流量普遍較大,反之較?。粫r間上的變化是指單個用戶產(chǎn)生的流量在一天內(nèi)各時段波動。衛(wèi)星服務的用戶流量隨時空變化,若用戶流量超過衛(wèi)星自身計算資源,則衛(wèi)星需要將多余的計算任務分給同一計算域的其他衛(wèi)星;若用戶流量少于衛(wèi)星資源,則衛(wèi)星愿意協(xié)同分擔同一計算域中其他衛(wèi)星的計算任務。通過衛(wèi)星間協(xié)同計算,衛(wèi)星盡可能地將協(xié)同計算域覆蓋的用戶流量,在本計算域內(nèi)處理完畢,避免因資源不足而卸載給地面數(shù)據(jù)中心,減少下行鏈路帶寬消耗,以及租用數(shù)據(jù)中心計算資源的開銷。
② 網(wǎng)絡拓撲。衛(wèi)星拓撲處于高度動態(tài),星間鏈路頻繁通斷。采用快照思想,假設單個快照內(nèi),衛(wèi)星網(wǎng)絡拓撲保持靜態(tài),則必須保證在此快照下的協(xié)同計算域拓撲連通。拓撲連通,是實現(xiàn)衛(wèi)星計算域控制器實時管控、衛(wèi)星間協(xié)同計算、數(shù)據(jù)傳輸?shù)幕緱l件。若某時刻拓撲不連通,則需要重新選舉計算域控制器,帶來控制器遷移開銷;且在斷掉鏈路上傳輸?shù)臄?shù)據(jù)需要重傳到其他計算節(jié)點,帶來重傳開銷。
③ 拓撲可靠性。拓撲可靠性與拓撲的連通度、邊的冗余程度等有關(guān)。因平臺抖動、天線對準等問題,衛(wèi)星鏈路的質(zhì)量不穩(wěn)定,容易帶來鏈路突然斷掉或鏈路丟包率很高等突發(fā)故障。此時,若與故障鏈路相連的衛(wèi)星節(jié)點周圍沒有其余節(jié)點可分擔計算任務,則需要將這部分計算任務卸載到地面數(shù)據(jù)中心,帶來業(yè)務遷移開銷,造成衛(wèi)星邊緣計算平臺收益的下降。
由于衛(wèi)星節(jié)點數(shù)目眾多,協(xié)同計算域生成的計算復雜度很高,可以基于以上模型,用啟發(fā)式算法進行離線求解。求出的協(xié)同計算域方案可作為后續(xù)任務規(guī)劃問題的輸入。
4.3.2 任務規(guī)劃
衛(wèi)星邊緣計算平臺的任務規(guī)劃及分配,需結(jié)合各計算域的資源利用情況、計算任務特性進行,有以下4種任務分配方式:
① 一個衛(wèi)星對應一個任務。一對一是最簡單的任務分配方式,若單個衛(wèi)星有充足的資源支持任務處理,則可選擇這種方式。
② 多個衛(wèi)星對應一個任務。一個可以被并行化分解的計算任務,可以分配到多個衛(wèi)星上同時處理,以加快處理速度。
③ 一個衛(wèi)星對應多個任務。通常來說,覆蓋相鄰地理區(qū)域的衛(wèi)星節(jié)點收到的計算任務相似,如針對同一區(qū)域的大氣層進行觀測,并對觀測圖像進行處理分析。一個衛(wèi)星對多個同類計算任務的計算結(jié)果可復用,如一段時間內(nèi)對云層的識別結(jié)果,這種方式可以節(jié)約計算資源。
④ 多個衛(wèi)星對應多個任務。這種混合業(yè)務模式是多個衛(wèi)星對應一個任務和一個微型對應多個任務的結(jié)合,是最普遍的衛(wèi)星協(xié)同計算任務分配方式,是任務規(guī)劃問題求解的主要形式。
對衛(wèi)星協(xié)同計算任務規(guī)劃問題的求解,可以以離線形式,對提前已知需求的多項任務做規(guī)劃;也可以以在線形式,對新到來的任務做增量式規(guī)劃。
4.3.3 故障應對
如前文所述,當鏈路故障發(fā)生時,需進行任務遷移。實際上,任務遷移在衛(wèi)星拓撲改變、突發(fā)鏈路故障兩種情況下均會發(fā)生。由于衛(wèi)星拓撲改變是規(guī)律性變化,可提前預知,可以由衛(wèi)星計算域控制器或計算節(jié)點自發(fā)地提前做好數(shù)據(jù)備份、在變動時刻前后切換路徑。然而,突發(fā)鏈路故障不可預知,需要迅速應對,減少對任務處理時延的影響。
① 故障檢測。故障檢測以控制器周期性探測和節(jié)點主動上報的形式進行??刂破髦芷谛园l(fā)包,詢問計算節(jié)點的鏈路狀況,周期越小,探測到故障的速度越快,但相應地會帶來探測開銷大的弊端,需要在二者之間做權(quán)衡。另一種方式為節(jié)點檢測到端口異常,主動發(fā)包給控制器上報故障。
② 路由計算。計算域控制器檢測到域內(nèi)故障,通過控制器維持的域內(nèi)資源視圖及拓撲視圖,計算出業(yè)務遷移路徑,即新的協(xié)同計算節(jié)點、節(jié)點間的數(shù)據(jù)傳輸路徑。若域內(nèi)控制器判斷當前域的資源和拓撲條件無法支持業(yè)務遷移,則與相鄰域控制器通信,計算得到跨域的任務遷移方案。
③ 故障恢復。域控制器下發(fā)指令給相關(guān)計算節(jié)點,若新舊協(xié)同計算節(jié)點之間存在鏈路,則可由舊節(jié)點將已得到的計算結(jié)果和未計算的數(shù)據(jù)傳給新節(jié)點;若不存在,則由源計算節(jié)點將所有需要計算的數(shù)據(jù)傳給新節(jié)點。
近年來,天地一體化的邊緣計算網(wǎng)絡受到廣泛關(guān)注。本文提出了衛(wèi)星協(xié)同的天地一體化邊緣計算網(wǎng)絡架構(gòu),從衛(wèi)星邊緣計算硬件平臺、衛(wèi)星邊緣計算管控架構(gòu)、天地一體化邊緣計算網(wǎng)絡協(xié)同計算機制三方面對架構(gòu)進行闡述,并在最后針對衛(wèi)星協(xié)同邊緣計算的挑戰(zhàn),提出了三種協(xié)同計算關(guān)鍵保障機制。本文拓展了以往天地一體化邊緣計算的研究,為后續(xù)工作打下基礎(chǔ)。