★中國地質大學(武漢)計算機學院楊在航,李躍鵬,曾德澤
摘要:邊端融合計算架構由于其算力節點分布廣、實時處理能力強的特點,近年來在各種領域被廣泛使用,但是它在計算、通信與數據安全方面仍然面臨諸多挑戰。編碼計算因其通信負載低、計算開銷小、隱私保障高的特性恰好契合邊端融合場景的需求而得到了學術界的廣泛關注。因此,本文探索了將編碼計算應用于邊端融合計算架構中的發展趨勢與關鍵技術,并在此基礎上,提出了一種基于編碼計算的邊端融合任務卸載策略。
1簡介
隨著萬物互聯時代的到來,大量智能設備以及諸多新型應用得到了大規模普及,例如智慧城市、虛擬現實、智能交通等應用如雨后春筍般涌現,為智能社會的發展注入了新的活力。智能應用高速發展的背后實際上離不開邊緣計算作為支撐和基礎。邊緣計算將計算與存儲資源下沉到網絡邊緣處,由于更靠近終端設備,用戶請求不再需要經過長時間傳輸到核心網進行處理,而是直接在數據產生處進行計算,從而大幅度降低了傳輸時延與能量消耗。邊緣側設備與端側設備均可共同參與計算,協同構成邊端融合計算環境。然而邊端融合環境中的設備大多是由低算力硬件組成,這使得單個設備無法獨自完成這個任務。而且,終端設備大多具有較強的移動性,當大量終端設備頻繁地從一個邊緣服務器的覆蓋范圍移動到另一個邊緣服務器的覆蓋范圍內時,整個環境呈現出高度動態性。此外,相比于云數據中心,邊緣側和端側設備因成本較低無法配備高強度安全保護策略導致其更容易受到惡意節點的攻擊。
與此同時,近年來研究人員將編碼理論應用到分布式計算領域,并提出了一種新的計算框架,即編碼計算。編碼計算旨在借助靈活多樣的編碼方式來降低通信負載、緩解計算延遲并保護數據隱私[1]。編碼計算的出現引起了學術界的廣泛討論,被認為是解決上述邊端融合計算所面臨挑戰的一個有潛力的途徑。例如,Guo[2]等提出了一種面向無人機群的分布式編碼計算框架,通過將無人機群的編碼任務卸載到邊緣服務器上,不僅節省了無人機群的飛行能耗,而且降低了掉隊無人機節點所引發的計算延遲;Parkash[3]等提出了編碼計算框架CodedFedL,將結構化編碼冗余注入無線邊緣網絡下的聯邦學習中,以減少離散并加快訓練過程;Zhao[4]等提出了一種基于邊緣節點選擇的子任務分配方法,以減少編碼邊緣計算系統的總計算時間。
然而應用編碼計算到邊端融合環境中仍然面臨著不小的阻力。首先,編碼計算目前主要應用于分布式云環境中,邊端融合環境所呈現的弱算力、高異構、弱連接、廣分布、高動態等特性加大了編碼任務傳輸和計算的難度。其次,傳輸并處理編碼所產生的大量冗余數據會給整個系統帶來極高的能量開銷,邊緣側和端側設備將難以承受這些額外能量開銷所帶來的成本問題。
因此,本文介紹了編碼計算和將其融入邊端融合計算的發展趨勢以及面臨的挑戰,并探討了一種基于編碼計算的邊端融合任務卸載策略。
2邊端融合計算面臨的挑戰
近年來,邊緣計算所蘊含的巨大潛力,使其已經成為學術界和工業界共同關注的熱點話題。然而邊緣計算仍處于發展早期,與相對成熟的云計算相比,將其與端側設備融合構成邊端融合計算,不論是其自身體系結構局限還是技術積累,都還存在諸多問題亟需解決。
(1)計算延遲
邊端融合環境下的設備大多是由不可靠的低端硬件構成,單個設備的性能較差使得任務逐漸采取分布式計算完成。但相關研究[10]發現即使使用同構機器運算相同任務時,由于網絡條件變化、資源競爭等因素,每個機器所需的計算時間也不盡相同,其中部分工作節點的任務完成速度非常慢,達到平均值的5到8倍。因此,一旦邊端融合環境中存在因工作能力低下導致任務完成速度較慢的工作節點時,等待這些工作節點的反饋會給整個計算任務造成不可預測的延遲。
(2)通信瓶頸
數據洗牌是分布式計算系統(包括邊端融合環境)的核心步驟,其目的是在分布式計算節點之間交換中間值或原始數據[5]。例如,在MapReduce架構中,數據從Mapper被傳輸到Reducer。通過對Facebook的Hadoop架構進行追蹤分析,研究人員發現平均有33%的作業執行時間都花費在數據洗牌上。在TeraSort、WordCount、RankedInvertedIndex和SelfJoin等應用程序中,50%~70%的執行時間用于數據洗牌。然而,在每一次數據洗牌過程中,整個數據集都通過網絡進行通信,頻繁數據交互帶來的通信開銷造成了分布式計算系統的性能瓶頸。
(3)安全與隱私
缺乏對邊端融合環境中的數據安全與隱私保護的舉措將會增加人們的日常風險。假設一個家庭在周圍部署了物聯網,那么人們就可以從感知到的數據中了解到這個家庭的很多隱私信息,例如,通過讀取電力或水的使用情況,人們可以很容易地推測房子是否空置[6]。造成這種現象的原因一方面是社會缺乏對隱私和數據的保護意識。我們以Wi-Fi網絡安全為例,在4.39億使用無線連接的家庭中,49%的Wi-Fi網絡是不安全的,80%的家庭仍然將路由器設置為默認密碼。另一方面是缺乏有效的工具來保護網絡邊緣處的數據隱私和安全。相比于云環境,邊端融合環境中的資源高度受限,這使得傳統的安全保護方法可能無法被部署,或者被有效應用。
(4)移動性問題
隨著終端算力的增加,智能手機、平板、智能汽車等硬件逐漸成為了構成邊端融合的算力主力軍。這類設備最大的特性就是具有極強的移動性,當終端設備的移動范圍跨越多個邊緣服務器的覆蓋范圍時,終端設備狀態的更新以及設備與應用之間的重新連接將是一大難點[7]。
3編碼計算的出現
目前邊端融合計算面臨著多個方面的挑戰,這嚴重制約了邊端融合計算的進一步發展與應用。幸運的是,編碼計算通過借助靈活多樣的編碼方式有望解決邊端融合計算中存在的問題。為了方便讀者理解編碼計算的基本思想,我們將從計算延遲、通信負載和安全隱私三個方面來具體闡述并給出相關示例。
(1)降低通信負載編碼。圖1展示了一個由1個主節點和2個工作節點組成的分布式計算系統,其中A1、A2存儲在工作節點W1中,A3、A3存儲在工作節點W2中。我們的目標是將任務A3發送到工作節點W1,并將任務A2發送到工作節點W2。因此,我們可以設計這樣一種編碼,使主節點將編碼信息A2+A3廣播到2個工作節點,一旦工作節點接收到廣播信息之后就能夠利用本地已存儲的數據進行解碼。顯然,與未編碼方案相比,編碼方案可以降低50%的通信負載。
圖1降低通信負載編碼示例
(2)減少計算延遲編碼。圖2展示了一個由1個主節點和3個工作節點組成的分布式計算系統,整個系統的目標是計算矩陣乘法AX。在進行數據傳輸之前,原始任務矩陣A被平均劃分為兩個子矩陣A1和A2,然后將兩個子矩陣進行線性編碼生成新的子矩陣(A1+A2),接著主節點M將A1、A2和(A1+A2)分別發送給工作節點W1、W2和W3。每個工作節點接收到子矩陣任務之后,將子矩陣與X相乘并將計算結果返回給主節點M。通過觀察可知,主節點只需要接收到任意兩個計算結果就能恢復出最終結果,而無需等待掉隊節點的反饋。
圖2減少計算延遲編碼示例
(3)面向安全隱私編碼。圖3展示了一種用于保護雙邊隱私的編碼計算示例。具體來說,輸入矩陣被分割成子矩陣并用隨機矩陣編碼[8]。下面以工作節點為8、共謀節點為1來說明編碼過程。
主節點首先將輸入矩陣A,B進行劃分,如式(1)所示:
(1)
然后分別為A、B各生成一個隨機矩陣KA、KB。主節點為每個工作節點i選擇不同的參數xi,生成的編碼數據如式(2)和式(3):
(2)
(3)
工作節點在接收到編碼數據后,每個工作節點i計算,并將計算結果返回給主節點,則每個工作節點的計算任務相當于多項式h(x)在點x=xi的值如式(4):
(4)
由上式可知,多項式h(x)中4項A1B1、A2B1x、A1B2x、A2B2x的系數可組成最終結果,而在整個過程中,任一計算節點均未收到原始數據,一定程度上保障了數據的安全與隱私。因此,主節點可以采取多項式插值法確定該多項式,從而獲得所需的系數。
圖3面向安全隱私編碼示例
4基于編碼計算的邊端融合計算架構
傳統的邊端融合計算架構如圖4(a)所示,邊端融合環境下無論是邊緣設備還是終端設備都可以被抽象為計算節點,它們既可以向其余節點發送任務,也可以參與到任務的計算中來。例如任務A可以在主節點處進行劃分并分別卸載到三個不同的節點,只有所有計算結果成功返回主節點才能恢復出最終結果。但是邊端融合環境中的節點大多是由不可靠的低端硬件構成,這些節點極易出現失效或掉隊現象,這會給計算任務造成不可預測的延遲。此外,邊端融合環境中節點資源受限并且網絡條件處于高度動態變化中,這使得原有的數據保護方案難以應用到邊端融合環境中,從而導致了數據泄露問題。
將編碼計算融入至邊端融合計算是解決上述問題的潛力途徑,其架構如圖4(b)所示。該架構中主節點在任務分發之前會對原始任務矩陣進行編碼,即便在任務傳輸時數據遭到泄露,攻擊者也只能獲取到編碼之后的數據而無法恢復出原始數據。同時,通過觀察可知,主節點只需要接收到任意3個計算結果就能恢復出最終結果,即便某個節點出現掉隊或者失效現象也不會對整個任務造成高延遲現象。
圖4邊端融合計算架構演變圖
5案例:基于編碼技術的邊端融合任務卸載策略
即便基于編碼計算的邊端融合計算架構解決了由掉隊現象帶來的計算延遲并避免了數據泄露問題,但是主節點在任務分發階段仍然延續了編碼計算在分布式云環境中的平均分配原則。需要注意的是,邊端融合環境中的節點在計算性能、地理位置、網絡條件等方面存在極大的異構性,簡單地將編碼任務進行平均分配無疑會降低整個分布式系統的任務執行效率。此外,編碼計算容易產生大量冗余數據,引發高能耗問題。為此,接下來我們探討一個基于編碼技術的邊端融合任務卸載問題。
如圖5所示,該系統由一個主節點和多個工作節點構成的集合I組成。這些節點大多是由不可靠的低端硬件組成,并且節點之間在計算性能、地理位置和通信能力等方面存在較大的異構性。在任務分發之前,位于主節點上的原始任務矩陣將按行平均劃分為K個子任務,在使用MDS碼編碼之后整個任務矩陣變為了N行,即N個子任務。編碼后的子任務既可以選擇直接在本地執行,也可以卸載到工作節點上執行。當選擇卸載到工作節點上執行時,工作節點會有一定幾率出現掉隊現象從而導致任務完成時間增加。一旦主節點接收到任意K個返回結果時就能恢復出最終結果。
圖5編碼任務部分卸載架構圖
(1)系統算法設計:針對邊端融合環境下的編碼任務部分卸載問題,我們提出了一種基于迭代貪心的節點選擇算法。該算法通過對工作節點進行迭代交換的方式不斷降低整個系統的能量開銷,算法的具體步驟如表1所示。
表1基于迭代貪心的節點選擇算法
(2)實驗結果:為了評估該系統所使用算法的性能,我們將所提出的算法(IterationGreedyPolicy,IGP)與隨機卸載算法(RandomOffloadingPolicy,ROP)、全卸載算法(AllOffloadingPolicy,AOP)和本地優先算法(LocalComputingPolicy,LCP)進行對比并分別探究了主節點發送功率和工作節點CPU頻率等因素對于不同方案能量開銷的影響,實驗結果如圖6、7所示。
圖6不同方案的能量開銷與主節點發送功率關系圖
圖7不同方案的能量開銷與工作節點CPU頻率關系圖
調節主節點發送功率,四種方案能量開銷的變化情況如圖6所示,增大主節點的發送功率會提高傳輸任務的能量開銷但本地執行的能量開銷保持不變。由于AOP方案將所有任務卸載到工作節點執行,故該方案的能量開銷增幅最大。盡管LCP方案將大部分任務交由主節點執行,但受制于任務時延約束的影響,仍有少部分任務被卸載到工作節點執行,所以LCP方案的能耗曲線雖保持不斷上漲但增幅較低。我們所提出的IGP方案產生的能量開銷相比于其他方案保持最低,一方面是隨著任務傳輸能量的提高,會有越來越多的任務轉移到主節點上執行,另一方面IGP方案存在著工作節點的迭代交換過程,該過程會不斷地對能耗進行優化調整。
調節工作節點CPU頻率,四種方案能量開銷的變化情況如圖7所示,提高工作節點的CPU頻率會縮短任務執行時間但主節點執行和發送任務的能量開銷保持不變。同時工作節點性能的增強不會改變AOP方案和LCP方案的卸載決策,因此AOP方案與LCP方案的能量開銷自動化博覽·邊緣計算專輯/2023.02/49保持不變,ROP方案的能量開銷仍然呈現一定的波動性。我們所提出的IGP方案產生的能量開銷保持最低,并且在1.5GHz至2.7GHz區間能量開銷不斷降低,隨后保持不變,這是由于部分工作節點計算性能較差無法滿足任務的時延約束,但這類節點在地理位置和網絡條件方面存在優勢,從而導致傳輸任務產生的能量開銷較低。隨著工作節點的性能增強,這類節點也會逐漸滿足任務的時延約束,從而在IGP方案的迭代交換部分能夠實現對于這類節點的選擇。
6結語
隨著智能設備算力的不斷加強,邊端融合計算架構正發揮著舉足輕重的作用,但應用邊端融合計算到實際生活中還面臨著諸多挑戰,編碼計算的出現有望打破僵局。因此,本文介紹了邊端融合計算架構所面臨的挑戰與編碼計算的基本思想,提出了基于編碼計算的邊端融合計算架構,并設計了一種基于編碼計算的邊端融合任務卸載策略作為案例,以此驗證編碼計算與邊端融合計算架構相結合技術的可行性。
作者簡介:
楊在航(1997-),男,湖北人,碩士,現就讀于中國地質大學(武漢)計算機學院,研究方向為編碼計算、邊端融合計算等。
李躍鵬(1994-),男,河南人,博士,現就讀于中國地質大學(武漢)計算機學院,主要研究方向為可信邊緣計算等。
曾德澤(1984-),男,四川人,中國地質大學(武漢)計算機學院教授、博士生導師,主要研究方向為邊緣計算、未來網絡等。
參考文獻:
[1]鄭騰飛,周桐慶,蔡志平,吳虹佳.編碼計算研究綜述[J].計算機研究與發展,2021,58(10):2187-2212.
[2]GuoY,GuS,ZhangQ,etal.Acodeddistributedcomputingframeworkfortaskoffloadingfrommulti-UAVtoedgeservers[C].2021IEEEWirelessCommunicationsandNetworkingConference(WCNC).IEEE,2021:1-6.
[3]PrakashS,DhakalS,AkdenizMR,etal.Codedcomputingforlow-latencyfederatedlearningoverwirelessedgenetworks[J].IEEEJournalonSelectedAreasinCommunications,2020,39(1):233-250.
[4]ZhaoS.Anode-selection-basedsub-taskassignmentmethodforcodededgecomputing[J].IEEECommunicationsLetters,2019,23(5):797-801.
[5]VargheseB,WangN,BarbhuiyaS,etal.Challengesandopportunitiesinedgecomputing[C].2016IEEEInternationalConferenceonSmartCloud(SmartCloud).IEEE,2016:20-26.
[6]ShiW,CaoJ,ZhangQ,etal.Edgecomputing:Visionandchallenges[J].IEEEInternetofThingsJournal,2016,3(5):637-646.
[7]LiH,ShouG,HuY,etal.Mobileedgecomputing:Progressandchallenges[C].20164thIEEEInternationalConferenceonMobileCloudComputing,Services,andEngineering(MobileCloud).IEEE,2016:83-84.
[8]ChangWT,TandonR.Onthecapacityofsecuredistributedmatrixmultiplication[C].2018IEEEGlobalCommunicationsConference(GLOBECOM).IEEE,2018:1-6.
[9]CaoC,WangJ,WangJ,etal.Optimaltaskallocationandcodingdesignforsecurecodededgecomputing[C].2019IEEE39thInternationalConferenceonDistributedComputingSystems(ICDCS).IEEE,2019:1083-1093.
[10]YadwadkarNJ,HariharanB,GonzalezJE,etal.Multi-tasklearningforstraggleravoidingpredictivejobscheduling[J].TheJournalofMachineLearningResearch,2016,17(1):3692-3728.
摘自《自動化博覽》2023年第2期暨《邊緣計算2023專輯》