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