曹童杰,李丕范,劉中國(中訊郵電咨詢設計院有限公司,北京 100048)
工業(yè)互聯(lián)網(wǎng)的高速發(fā)展對建立強大的云計算范式提出了要求[1]。自2000 年以來,云計算范式在總體使用、規(guī)模、計算能力和基礎技術方面都有了重大突破,云服務的市場也有了巨大的增量[2]。美國國家標準技術研究院(NIST)列出了云計算的5 個基本屬性[3]:按需自助服務、廣泛的網(wǎng)絡訪問、資源池、快速彈性、實測服務。這也是其在學術界和行業(yè)中廣泛應用的重要支撐點。但是,隨著IIOT 的出現(xiàn),傳統(tǒng)的云計算方式已無法滿足海量終端設備的需求[4],云上實時數(shù)據(jù)存儲、訪問和處理成為了亟待解決的難題。此外,龐大的數(shù)據(jù)中繼到云基礎架構可能會給數(shù)據(jù)傳輸帶來壓力,造成網(wǎng)絡擁堵,進一步導致等待時間延長[5],降低各種應用程序的整體服務質量(QoS)[6]。
為了解決上述問題,“邊緣計算”[7]的創(chuàng)新概念被大量應用在云計算中,它可以被理解為“靠近地面的云”[8]。其通過邊緣設備,利用支持納米數(shù)據(jù)中心(nDC)[9]和微型DC(mDC)形式的機器對機器、設備對設備的交互,實現(xiàn)了網(wǎng)絡邊緣的計算和處理能力。這些設備分布廣泛,能夠支持實時數(shù)據(jù)處理,大大降低了設備數(shù)據(jù)中繼到核心的需求[10]。邊緣計算與云計算的對比如表1所示。

表1 邊緣計算與云計算的對比
工業(yè)互聯(lián)網(wǎng)的控制命令必須很精準,因此網(wǎng)絡對時延和可靠性非常敏感[11]。將計算能力推向網(wǎng)絡邊緣側是工業(yè)互聯(lián)網(wǎng)的必然發(fā)展趨勢。5G 和其衍生的多層多址邊緣計算(Multi-tier Multi-access Edge Computing,MMEC)[12]能夠很好地滿足低時延、高可靠的要求。
如圖1 所示,邊緣計算的分層體系結構包括核心計算設備、目標功能與需求、網(wǎng)絡設備、邊緣計算設備、訪問方式、應用程序和用戶、終端設備7 層[13]。用戶通過不同的訪問技術(如3G、4G[14]、5G[15]、Wi-Fi[16]、藍牙[17])連接到計算平臺,按需訪問不同的應用程序。

圖1 邊緣計算的分層體系結構
接下來,數(shù)據(jù)會通過訪問技術將用戶應用程序/服務請求中繼到附近的nDC 和mDC,成為邊緣計算設備層的組成部分。由于邊緣側設備的計算能力有限,該架構會將計算密集型請求轉發(fā)到核心計算層,通過路由器和交換機等網(wǎng)絡設備路由到核心計算設備,進行下一步處理。整個計算體系傾向于根據(jù)服務等級協(xié)議(Service-Level Agreement,SLA)[18]結構性地解決不同的目標。目標功能與需求包括最小化能量、等待時間、成本和最大化可用性、吞吐量。
邊緣計算可以在時延、地理分布和移動性支持方面逐步滿足大規(guī)模移動服務的需求[19],但如果不考慮能源效率,邊緣設備可能會消耗大量能量。此外,為了提供低時延和高數(shù)據(jù)速率,nDC 的能耗可能會激增[20]。
研究人員對nDC 和集中式DC 的能耗進行了對比研究。考慮到系統(tǒng)設計中的各種因素,例如訪問網(wǎng)絡的類型和服務器時間利用率,研究發(fā)現(xiàn),與nDC 和集中式DC 的能耗相比,多層多址邊緣云協(xié)作能夠進一步節(jié)能[21]。
云與邊緣之間的協(xié)作和影響主要有以下幾方面。
a)邊緣設備上的資源限制要求轉移云DC 上的主要負載。
b)邊緣節(jié)點上的資源超載可能導致更高的能耗。
c)在邊緣和云DC 之間對延遲敏感且面向資源的請求進行分類可以提高性能并降低能耗。
d)由于丟失鏈路的可追溯性,邊緣設備的移動性是能源消耗的挑戰(zhàn)。
e)邊緣和云設備之間的大量遷移和通信給基礎網(wǎng)絡帶來了額外的負擔。
為在平衡延遲和功耗的基礎上,最大程度地減少能耗[22],本文提出了多層多址邊云一體協(xié)同架構,如圖2所示。

圖2 邊云協(xié)同計算的內部構架
服務協(xié)同:邊緣節(jié)點根據(jù)從云端下沉的算法決策,實現(xiàn)本地的SaaS 服務,并將特殊數(shù)據(jù)和非實時性的服務上傳至云端,云端接收非實時性數(shù)據(jù),更新知識庫,調整算法模型和邊緣節(jié)點的分布,提供SaaS 服務。
數(shù)據(jù)協(xié)同:邊緣節(jié)點具有數(shù)據(jù)采集裝置,能收集本地信息、進行簡單的數(shù)據(jù)分析,并將分析結果和特殊信息數(shù)據(jù)(如故障點)上傳至云端。云端有海量存儲和大數(shù)據(jù)分析的能力,能了解整體的環(huán)境變化并對邊緣節(jié)點做出指導。數(shù)據(jù)在邊緣節(jié)點和云上有序流動,形成完整的數(shù)據(jù)流動路徑,極大地提高了挖掘有價值數(shù)據(jù)的效率。
智能協(xié)同:邊緣節(jié)點內部部署的AI模型和算法來自于云端,基于這些算法,分布式邊緣節(jié)點可以快速響應周圍環(huán)境變化并做出判斷;云端是集中式的模型訓練,收集邊緣節(jié)點的數(shù)據(jù),不斷更新知識庫,更新算法模型并下沉至邊緣節(jié)點,提高邊緣節(jié)點的分析速度和準確性。
資源協(xié)同:邊緣節(jié)點集成了計算、存儲、通信等功能,可以在本地提供資源調度、監(jiān)測、生命周期管理等能力;云端與邊緣節(jié)點協(xié)同,提供設備管理、資源管理、網(wǎng)絡連接管理等資源調度的策略。
多層多址邊緣云一體架構依賴于網(wǎng)絡層的支持,效率低下的網(wǎng)絡可能導致過多的能源消耗和高時延。此外,基于標準協(xié)議和體系結構的傳統(tǒng)網(wǎng)絡的依賴性也是實現(xiàn)邊緣云一體的挑戰(zhàn)之一。因此,需要一種可編程的、可擴展的、靈活獨立、可重新配置的網(wǎng)絡體系結構來處理邊緣和云設備之間的大量流量信息,以提高性能,降低能耗。
本文提出了一種動態(tài)資源供應方案,用于云和邊緣之間的能源感知相互作用,使用軟件定義網(wǎng)絡(Software Defined Network,SDN)[23]來最大程度地減少邊緣和云之間的基礎網(wǎng)絡的能耗,處理多層多址邊緣云環(huán)境中的網(wǎng)絡擁塞問題。
在SDN 中,數(shù)據(jù)平面和控制平面彼此分離,以降低網(wǎng)絡擁塞和復雜性[24-25]。因此,SDN 是多層多址云環(huán)境中最可行的網(wǎng)絡技術。通常,SDN 中的通信基礎結構根據(jù)開放網(wǎng)絡基金會(Open Networking Foundation,ONF)[26]設計的標準工作。OpenFlow 協(xié)議用于處理SDN中的流量[27]。網(wǎng)絡主干網(wǎng)絡的范圍可以從3G、4G、5G到Wi-Fi和藍牙[28]。
數(shù)據(jù)平面:所有轉發(fā)設備(FD)都位于此平面中,F(xiàn)D 根據(jù)駐留在控制平面中的控制器做出的轉發(fā)決策來運行,并使用數(shù)據(jù)控制平面接口將所有此類決策配置到FD的流表中。
控制平面:控制平面是SDN 架構的核心,也叫決策平面。該平面根據(jù)提供給控制器的控制邏輯進行工作。所有轉發(fā)決策均由控制器決定,并添加到該平面的指令集中。此外,控制器還可以使用網(wǎng)絡操作系統(tǒng)通過管理程序創(chuàng)建虛擬控制器[29]。SDN 的最重要特征之一是可以根據(jù)不同的環(huán)境對控制邏輯進行編程和重新配置[30]。因此,本文利用SDN 的這一特性,提出了一種流管理方案,該方案有效平衡了多層多址邊緣云一體結構的能效、帶寬和時延,具體如圖3 所示。

圖3 基于SDN的邊緣計算架構
針對工業(yè)互聯(lián)網(wǎng),本文提出了一種基于SDN 的工業(yè)互聯(lián)網(wǎng)多層多址邊緣計算架構,如圖4所示。

圖4 基于SDN的工業(yè)互聯(lián)網(wǎng)多層多址邊緣計算架構
此架構的底層為機械臂、車床、傳送帶、移動設備等工業(yè)設備和傳感器,傳感器收集到的信息通過AP接入到數(shù)據(jù)傳輸層的邊緣交換機中,控制器會將計算任務需求上傳到SDN 控制器中,并執(zhí)行計算卸載決策。
邊緣計算服務平臺包含邊緣服務器和緩存節(jié)點,控制器將計算量較小的任務卸載到邊緣節(jié)點,計算量較大的任務上傳云服務器,能夠有效提高計算效率,降低時間成本。緩存節(jié)點用于存儲高頻次請求任務,避免重復計算和分配請求,減少網(wǎng)絡堵塞可能性。任務卸載決策和計算節(jié)點的編排由SDN 控制器決定。其工作流程如圖5所示。

圖5 計算卸載流程
根據(jù)工業(yè)互聯(lián)網(wǎng)的特性,本文提出一種基于ASO算法的任務卸載方法[31-33],包含截止時間分配子算法(Sub-deadline Allocation,SDA)、拓撲排序算法(Topology Sorting,TS)和任務卸載算法(Task Offloading,TO)3個子算法。這種卸載算法是一種多項式時間分流算法,在進行任務卸載決策時會優(yōu)先考慮邊緣計算層,只有當本地的多層多址邊緣計算資源均不能滿足計算要求時,才會將任務卸載至云計算層。該算法通過SDA 算法將工業(yè)應用的截止時間分配給各個任務,以此對任務進行拓撲排序;除此之外,還會綜合考慮能耗和成本,根據(jù)每個任務的期限合理分配任務。與普通啟發(fā)式算法相比,該算法能夠更合理地對計算任務進行卸載,更好地平衡計算任務的時延和能耗。
本文提出了一種基于SDN 的工業(yè)互聯(lián)網(wǎng)多層多址邊緣云一體架構,以處理邊緣與云設備之間的協(xié)同合作和計算任務卸載。該架構使用了邊緣云協(xié)同,復雜任務在云側處理,簡單任務在邊緣側處理,有效平衡了計算任務的時延、帶寬和能耗,利用SDN 提供有效的中間件支持,幫助處理IIoT環(huán)境中的流式大數(shù)據(jù)。最后提出一種邊任務卸載方法,并說明了其性能和優(yōu)勢。