董春利,王 莉
(1.南京交通職業技術學院 電子信息工程學院,江蘇 南京 211188;2.上海劍曦信息科技有限公司,上海 200051)
有幾種底層算法用于促進霧/邊緣計算,本文將其歸納為4種算法進行討論[1]:
(1)發現:識別網絡中可用于分布式計算的邊緣資源;
(2)基準測試:捕獲用于決策的資源性能,以最大化部署性能;
(3)負載均衡:根據不同的標準,如優先級、公平性等,在資源之間分配工作負載;
(4)放置:為部署工作負載,確定合適的資源。
發現是指識別邊緣資源,以便可以在云或用戶設備/傳感器上部署工作負載[2]。通常邊緣計算研究假定邊緣資源是已被發現的,但這不是一件容易的事。這里使用3種技術,分別為編程基礎設施、握手協議和消息傳遞技術。
第一種技術使用如霧滴(Foglets)之類的編程基礎設施,于是邊緣資源加入云邊緣生態系統的機制被提出。具體地,提出了一種發現協議,將一個應用的資源需求與邊緣上的可用資源相匹配。盡管如此,該協議假定邊緣資源是眾所周知的或可供使用的,實現了一個附加的加入協議,允許從與用戶具有相同地理距離的一組資源中選擇一個邊緣節點。
第二種技術使用握手協議。邊緣即服務(EaaS)平臺為一組同質邊緣資源提供輕量級發現協議。該平臺需要主節點,可以是計算可用網絡設備或者是執行管理器進程,并與邊緣節點通信的專用節點。管理器與潛在的邊緣節點通信,并在邊緣節點上執行進程以運行命令。一旦被發現,LXD容器可以部署在邊緣節點上。
第三種技術使用消息傳遞。在傳感器網絡環境中,終端設備可能不一定能夠訪問互聯網。研究表明,可以使用由連接到互聯網的節點(稱為處理節點)提供的服務,從而在這樣的網絡中傳遞消息。具體地,提出了一種用于識別處理節點的發現方法,假設用戶可以與網絡中的任何節點通信,提交查詢,并依賴于基于仿真的驗證。
基準測試是一種事實上的方法,用于捕獲計算系統的性能(如存儲器、CPU、網絡等實體)。需要使用標準性能評估工具,捕獲與每個實體性能相關的度量標準[3]。
邊緣基準測試可分為評估功能屬性的基準測試、基于應用的基準測試以及集成基準測試。大多數邊緣基準測試研究是評估邊緣處理器的功耗、CPU和內存性能。
由于多種原因,在邊緣環境中基準測試變得更具挑戰性。首先,因為尚未提供捕獲各種工作負載的邊緣特定應用的基準測試?,F有的基準測試通常是不太適合邊緣的科學應用。相反已經使用了語音驅動的基準測試和物聯網(IoT)應用。其次,在資源受限的邊緣節點上,運行額外的耗時應用具有挑戰性,需要用于邊緣的輕量級基準測試工具。最后,僅僅對邊緣資源進行基準測試并不充分,還需要一種用于對云和邊緣資源進行基準測試的集成方法。
當邊緣數據中心部署在網絡邊緣時,使用高效負載均衡算法分配任務的問題,已經引起了人們的極大關注。邊緣現有的負載均衡算法采用4種技術,即粒子群優化、協作負載均衡、基于圖的平衡以及廣度優先搜索[4]。
He等人提出了用于車輛互聯網(IoV)的軟件定義云/霧網絡(SDCFN)架構。SDCFN允許集中式控制車輛之間的網絡,并幫助中間件獲得負載均衡所需的信息。該研究采用粒子群優化-約束優化進行負載均衡,以減少延遲,并有效地實現車輛所需的服務質量(QoS)。
CooLoad提出了霧/邊緣數據中心之間的協作負載均衡模型,以減少服務暫停時間。CooLoad為每個數據中心分配一個緩沖區,以接收來自客戶端的請求。當緩沖區中的項目數超過某個閾值時,對數據中心的傳入請求,將負載均衡到相鄰的數據中心。這項工作假設數據中心通過高速傳輸連接,以實現有效的負載均衡。
Song等人指出,在單個集群中運行的云平臺的現有負載均衡算法,不能直接應用于動態和點對點的霧計算架構。為了實現有效的負載均衡,可將霧結構抽象為圖模型,其中每個頂點表示節點,圖邊表示任務之間的數據依賴性。于是,提出了一種動態圖重新分區算法,使用先前的負載均衡結果作為輸入,最小化負載均衡結果差異,同時提出了原始狀態。
Puthal等人專注于開發一種有效的動態負載均衡算法,一種為邊緣數據中心的認證方法。通過應用廣度優先搜索(BFS)方法,將任務分配給未充分利用的邊緣數據中心。每個數據中心都使用當前負載和用于計算當前負載的最大容量建模。驗證方法允許負載均衡算法找到一個經過驗證的數據中心。
霧/邊緣計算中的一個具有挑戰性的問題,是將輸入的計算任務放在合適的霧/邊緣資源上。放置算法解決了這個問題,需要考慮霧/邊緣層資源的可用性和環境變化[5]?,F有技術可被分類為動態條件感知技術和迭代技術。迭代技術可以進一步分為2個空間,即迭代資源空間和迭代問題空間。
王等人指出,現有的工作解決了靜態網絡條件和預定資源需求下的霧/邊緣計算中的放置問題,不是動態條件感知(不考慮用戶的移動性和資源可用性的變化)。通過考慮一組額外的參數來解決這個缺點,包括用戶的位置、偏好、數據庫位置以及系統上的負載。
霧計算層次結構中,資源的迭代方法是另一種有效的技術。Taneja等人提出了一種用于分層霧計算的放置算法,利用了傳統的云計算和最近的霧計算。該算法從霧向云迭代,以便先將計算模塊放置在可用的霧節點上。
與上述迭代方法相反,可以在識別問題空間上執行多次迭代。Skarlat等人提出了一種稱為霧服務放置問題(FSPP)的方法,以便在物聯網服務中更優地共享霧節點中的資源。
本次調查中注意到,霧/邊緣計算資源管理中,發現、基準測試、負載均衡和放置方面的算法還比較有限,需要進一步開發用于對云和邊緣資源進行基準測試的集成方法,同時需充分考慮用戶的移動性和資源可用性的變化。