推動邊緣計算的七項核心技術(shù)
計算模型的創(chuàng)新帶來的是技術(shù)的升級換代,而邊緣計算的迅速發(fā)展也得益于技術(shù)的進步。本節(jié)總結(jié)了推動邊緣計算發(fā)展的7項核心技術(shù),它們包括網(wǎng)絡(luò)、隔離技術(shù)、體系結(jié)構(gòu)、邊緣操作系統(tǒng)、算法執(zhí)行框架、數(shù)據(jù)處理平臺以及安全和隱私。
1.網(wǎng)絡(luò)
邊緣計算將計算推至靠近數(shù)據(jù)源的位置,甚至于將整個計算部署于從數(shù)據(jù)源到云計算中心的傳輸路徑上的節(jié)點,這樣的計算部署對現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)提出了 3個新的要求:
1)服務(wù)發(fā)現(xiàn)。在邊緣計算中,由于計算服務(wù)請求者的動態(tài)性,計算服務(wù)請求者如何知道周邊的服務(wù),將是邊緣計算在網(wǎng)絡(luò)層面中的一個核心問題.傳統(tǒng)的基于DNS的服務(wù)發(fā)現(xiàn)機制,主要應(yīng)對服務(wù)靜態(tài)或者服務(wù)地址變化較慢的場景下.當(dāng)服務(wù)變化時,DNS的服務(wù)器通常需要一定的時間以完成域名服務(wù)的同步,在此期間會造成一定的網(wǎng)絡(luò)抖動,因此并不適合大范圍、動態(tài)性的邊緣計算場景。
2)快速配置。在邊緣計算中,由于用戶和計算設(shè)備的動態(tài)性的增加,如智能網(wǎng)聯(lián)車,以及計算設(shè)備由于用戶開關(guān)造成的動態(tài)注冊和撤銷,服務(wù)通常也需要跟著進行遷移,而由此將會導(dǎo)致大量的突發(fā)網(wǎng)絡(luò)流量。與云計算中心不同,廣域網(wǎng)的網(wǎng)絡(luò)情況更為復(fù)雜,帶寬可能存在一定的限制.因此,如何從設(shè)備層支持服務(wù)的快速配置,是邊緣計算中的一 個核心問題。
3)負載均衡。邊緣計算中,邊緣設(shè)備產(chǎn)生大量的數(shù)據(jù),同時邊緣服務(wù)器提供了大量的服務(wù).因此,根據(jù)邊緣服務(wù)器以及網(wǎng)絡(luò)狀況,如何動態(tài)地對這些數(shù)據(jù)進行調(diào)度至合適的計算服務(wù)提供者,將是邊緣計算中的核心問題。
針對以上3個問題,一種最簡單的方法是,在所有的中間節(jié)點上均部署所有的計算服務(wù),然而這將導(dǎo)致大量的冗余,同時也對邊緣計算設(shè)備提出了較高的要求。因此,我們以“建立一條從邊緣到云的計算路徑”為例來說,首當(dāng)其沖面對的就是如何尋找服務(wù),以完成計算路徑的建立。命名數(shù)據(jù)網(wǎng)絡(luò)(named data networking,NDN)是一種將數(shù)據(jù)和服務(wù)進行命名和尋址,以P2P和中心化方式相結(jié)合進行自組織的一種數(shù)據(jù)網(wǎng)絡(luò)。而計算鏈路的建立,在一定程度上也是數(shù)據(jù)的關(guān)聯(lián)建立,即數(shù)據(jù)應(yīng)該從源到云的傳輸關(guān)系.因此,將NDN引入邊緣計算中,通過其建立計算服務(wù)的命名并關(guān)聯(lián)數(shù)據(jù)的流動,從而可以很好地解決計算鏈路中服務(wù)發(fā)現(xiàn)的問題。
而隨著邊緣計算的興起,尤其是用戶移動的情況下,如車載網(wǎng)絡(luò),計算服務(wù)的遷移相較于基于云計算的模式更為頻繁,與之同時也會引起大量的數(shù)據(jù)遷移,從而對網(wǎng)絡(luò)層面提供了動態(tài)性的需求。軟件定義網(wǎng)絡(luò)(software definednetworking,SDN), 于2006年誕生于美國GENI項目資助的斯坦福大學(xué)Clean Slate課題,是一種控制面和數(shù)據(jù)面分離的可編程網(wǎng)絡(luò),以及簡單網(wǎng)絡(luò)管理.由于控制面和數(shù)據(jù)面分離這一特性,網(wǎng)絡(luò)管理者可以較為快速地進行路由器、交換器的配置,減少網(wǎng)絡(luò)抖動性,以支持快速的流量遷移,因此可以很好地支持計算服務(wù)和數(shù)據(jù)的遷移。同時,結(jié)合NDN和SDN,可以較好地對網(wǎng)絡(luò)及其上的服務(wù)進行組織,并進行管理,從而可以初步實現(xiàn)計算鏈路的建立和管理問題。
2.隔離技術(shù)
隔離技術(shù)是支撐邊緣計算穩(wěn)健發(fā)展的研究技術(shù),邊緣設(shè)備需要通過有效的隔離技術(shù)來保證服務(wù)的可靠性和服務(wù)質(zhì)量.隔離技術(shù)需要考慮2方面:
1)計算資源的隔離,即應(yīng)用程序間不能相互干擾;
2)數(shù)據(jù)的隔離,即不同應(yīng)用程序應(yīng)具有不同的訪問權(quán)限。
在云計算場景下,由于某一應(yīng)用程序的崩潰可能帶來整個系統(tǒng)的不穩(wěn)定,造成嚴重的后果,而在邊緣計算下,這一情況變得更加復(fù)雜.例如在自動駕駛操作系統(tǒng)中,既需要支持車載娛樂滿足用戶需求, 又需要同時運行自動駕駛?cè)蝿?wù)滿足汽車本身駕駛需求,此時,如果車載娛樂的任務(wù)干擾了自動駕駛?cè)蝿?wù),或者影響了整個操作系統(tǒng)的性能,將會引起嚴重后果,對生命財產(chǎn)安全造成直接損失.隔離技術(shù)同時需要考慮第三方程序?qū)τ脩綦[私數(shù)據(jù)的訪問權(quán)限問題,例如,車載娛樂程序不應(yīng)該被允許訪問汽車控制總線數(shù)據(jù)等.目前在云計算場景下主要使用VM虛擬機和Docker容器技術(shù)等方式保證資源隔離。邊緣計算可汲取云計算發(fā)展的經(jīng)驗,研究適合邊緣計算場景下的隔離技術(shù)。
在云平臺上普遍應(yīng)用的Docker技術(shù)可以實現(xiàn)應(yīng)用在基于0S級虛擬化的隔離環(huán)境中運行,Docker的存儲驅(qū)動程序采用容器內(nèi)分層鏡像的結(jié)構(gòu),使得應(yīng)用程序可以作為一個容器快速打包和發(fā)布,從而保證了應(yīng)用程序間的隔離性.Li等人建立 了一個基于Docker遷移的有效服務(wù)切換系統(tǒng),利用Docker的分層文件系統(tǒng)支持,提出了一種適合邊緣計算的高效容器遷移策略,以減少包括文件系統(tǒng)、二進制內(nèi)存映象、檢查點在內(nèi)的數(shù)據(jù)傳輸?shù)拈_ 銷.Ha等人提出了一種VM切換技術(shù),實現(xiàn)虛擬機VM的計算任務(wù)遷移,支持快速和透明的資源放置,保證將VM虛擬機封裝在安全性和可管理行要求較高的應(yīng)用中.這種多功能原語還提供了動態(tài)遷移的功能,對邊緣端進行了優(yōu)化.這種基于VM的隔離技術(shù)提高了應(yīng)用程序的抗干擾性,增加了邊緣計算系統(tǒng)的可用性。
3.體系結(jié)構(gòu)
無論是如高性能計算一類傳統(tǒng)的計算場景,還是如邊緣計算一類的新興計算場景,未來的體系結(jié)構(gòu)應(yīng)該是通用處理器和異構(gòu)計算硬件并存的模式。異構(gòu)硬件犧牲了部分通用計算能力,使用專用加速單元減小了某一類或多類負載的執(zhí)行時間,并且顯著提高了性能功耗比。邊緣計算平臺通常針對某一類特定的計算場景設(shè)計,處理的負載類型較為固定,故目前有很多前沿工作針對特定的計算場景設(shè)計邊緣計算平臺的體系結(jié)構(gòu).
ShiDianNao首次提出了將人工智能處理器放置在靠近圖像傳感器的位置,處理器直接從傳感器讀取數(shù)據(jù),避免圖像數(shù)據(jù)在DRAM中的存取帶來的能耗開銷;同時通過共享卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNNs) 權(quán)值的方法 ,將模型完整放置在SRAM中,避免權(quán)值數(shù)據(jù)在DRAM 中的存取帶來的能耗開銷;由于計算能效地大幅度提升(60倍),使其可以被應(yīng)用于移動端設(shè)備.EIE:是一個用于稀疏神經(jīng)網(wǎng)絡(luò)的高效推理引擎,其通過稀疏矩陣的并行化以及權(quán)值共享的方法加速稀疏神 經(jīng)網(wǎng)絡(luò)在移動設(shè)備的執(zhí)行能效.Phi-Stack則提出了針對邊緣計算的一整套技術(shù)桟,其中針對物聯(lián)網(wǎng)設(shè)備設(shè)計的PhiPU,使用異構(gòu)多核的結(jié)構(gòu)并行處理 深度學(xué)習(xí)任務(wù)和普通的計算任務(wù)(實時操作系統(tǒng)). In-Situ AI是一個用于物聯(lián)網(wǎng)場景中深度學(xué)習(xí)應(yīng)用的自動增量計算框架和架構(gòu),其通過數(shù)據(jù)診斷,選擇最小數(shù)據(jù)移動的計算模式,將深度學(xué)習(xí)任務(wù)部署 到物聯(lián)網(wǎng)計算節(jié)點.除了專用計算硬件的設(shè)計,還有 一類工作探索FPGA在邊緣計算場景中的應(yīng)用. ESE[6]通過FPGA提高了稀疏長短時記憶網(wǎng)絡(luò) (long short term memory network,LSTM)在移動設(shè)備上的執(zhí)行能效,用于加速語音識別應(yīng)用.其通過負載平衡感知的方法對LSTM進行剪枝壓縮,并保證硬件的高利用率,同時在多個硬件計算單元中調(diào)度 LSTM 數(shù)據(jù)流;其使用 Xilinx XCKU060 FPGA 進行硬件設(shè)計實現(xiàn),與CPU和GPU相比,其分別實現(xiàn)了 40倍和11. 5倍的能效提升.Biookaghazadeh 等人通過對比FPGA和GPU在運行特定負載時吞 吐量敏感性、結(jié)構(gòu)適應(yīng)性和計算能效等指標(biāo),表明 FPGA更加適合邊緣計算場景。
針對邊緣計算的計算系統(tǒng)結(jié)構(gòu)設(shè)計仍然是一個新興的領(lǐng)域,仍然具有很多挑戰(zhàn)亟待解決,例如如何高效地管理邊緣計算異構(gòu)硬件、如何對這類的系統(tǒng)結(jié)構(gòu)進行公平及全面的評測等.在第三屆邊緣計算會議(S E C 2 018 )上首次設(shè)立了針對邊緣計算體系結(jié)構(gòu)的Workshop:ArchEdge,鼓勵學(xué)術(shù)界和工業(yè)界對此領(lǐng)域進行探討和交流。
4.邊緣操作系統(tǒng)
邊緣計算操作系統(tǒng)向下需要管理異構(gòu)的計算資源,向上需要處理大量的異構(gòu)數(shù)據(jù)以及多用的應(yīng)用負載,其需要負責(zé)將復(fù)雜的計算任務(wù)在邊緣計算節(jié)點上部署 、調(diào)度 及遷移從而保證計算任務(wù)的可靠性以及資源的最大化利用。與傳統(tǒng)的物聯(lián)網(wǎng)設(shè)備上的實時操作系統(tǒng)Contikt和FreeRTOS不同,邊緣計算操作系統(tǒng)更傾向于對數(shù)據(jù)、計算任務(wù)和計算資源的管理框架。
機器人操作系統(tǒng)(robot operating system, ROS) 最開始被設(shè)計用于異構(gòu)機器人機群的消息通信管理,現(xiàn)逐漸發(fā)展成一套開源的機器人開發(fā)及管理工具,提供硬件抽象和驅(qū)動、消息通信標(biāo)準、軟件包管理等 一系列工具,被廣泛應(yīng)用于工業(yè)機器人、自動駕駛車輛即無人機等邊緣計算場景.為解決ROS中的性能 問題,社區(qū)在2015年推出ROS2. 0,其核心為引入數(shù)據(jù)分發(fā)服務(wù)(data distribution service,DDS), 解決ROS對主節(jié)點(master node)性能依賴問題,同時DDS提供共享內(nèi)存機制提高節(jié)點間的通信效率.EdgeOSH則是針對智能家居設(shè)計的邊緣操作系統(tǒng),其部署于家庭的邊緣網(wǎng)關(guān)中,通過3層功能抽象連接上層應(yīng)用和下層智能家居硬件,其提出面向多樣的邊緣計算任務(wù),服務(wù)管理層應(yīng)具有差異性 (differentiation)、可擴展性(extensibility)、隔離性 (isolation)和可靠性(reliability)的需求.Phi-Stack 中提出了面向智能家居設(shè)備的邊緣操作系統(tǒng) PhiOS,其引人輕量級的REST引擎和LUA解釋器,幫助用戶在家庭邊緣設(shè)備上部署計算任務(wù). OPenVDAP是針對汽車場景設(shè)計的數(shù)據(jù)分析平臺,其提出了面向網(wǎng)聯(lián)車場景的邊緣操作系統(tǒng) EdgeOSv.該操作系統(tǒng)中提供了任務(wù)彈性管理、數(shù)據(jù)共享以及安全和隱私保護等功能.
根據(jù)目前的研究現(xiàn)狀,ROS以及基于ROS實現(xiàn)的操作系統(tǒng)有可能會成為邊緣計算場景的典型操作系統(tǒng),但其仍然需要經(jīng)過在各種真實計算場景下部署的評測和檢驗。
5.算法執(zhí)行框架
隨著人工智能的快速發(fā)展,邊緣設(shè)備需要執(zhí)行越來越多的智能算法任務(wù),例如家庭語音助手需要 進行自然語言理解、智能駕駛汽車需要對街道目標(biāo)檢測和識別、手持翻譯設(shè)備需要翻譯實時語音信息等.在這些任務(wù)中,機器學(xué)習(xí)尤其是深度學(xué)習(xí)算法占有很大的比重,使硬件設(shè)備更好地執(zhí)行以深度學(xué)習(xí)算法為代表的智能任務(wù)是研究的焦點,也是實現(xiàn)邊緣智能的必要條件.而設(shè)計面向邊緣計算場景下的高效的算法執(zhí)行框架是一個重要的方法.目前有許 多針對機器學(xué)習(xí)算法特性而設(shè)計的執(zhí)行框架,例如谷歌于2016年發(fā)布的TensorFloE、依賴開源社區(qū)力量發(fā)展的Caffe等,但是這些框架更多地運行在云數(shù)據(jù)中心,它們不能直接應(yīng)用于邊緣設(shè)備.如表2所示,云數(shù)據(jù)中心和邊緣設(shè)備對算法執(zhí)行框架的需求有較大的區(qū)別。在云數(shù)據(jù)中心,算法執(zhí)行框架更多地執(zhí)行模型訓(xùn)練的任務(wù),它們的輸人是大規(guī)模的批量數(shù)據(jù)集,關(guān)注的是訓(xùn)練時的迭代速度、收斂率和框架的可擴展性等.而邊緣設(shè)備更多地執(zhí)行預(yù)測任務(wù),輸人的是實時的小規(guī)模數(shù)據(jù),由于邊緣設(shè)備計算資源和存儲資源的相對受限性,它們更關(guān)注算法執(zhí)行框架預(yù)測時的速度、內(nèi)存占用量和能效。
為了更好地支持邊緣設(shè)備執(zhí)行智能任務(wù),一些專門針對邊緣設(shè)備的算法執(zhí)行框架應(yīng)運而生.2017年,谷歌發(fā)布了用于移動設(shè)備和嵌人式設(shè)備的輕量級解決方案TensorFlow Lite,它通過優(yōu)化移動應(yīng)用程序的內(nèi)核、預(yù)先激活和量化內(nèi)核等方法來減少執(zhí)行預(yù)測任務(wù)時的延遲和內(nèi)存占有量.Caffe2 是Caffe的更高級版本,它是一個輕量級的執(zhí)行框架,增加了對移動端的支持.此外,PyTorch和 MXNet等主流的機器學(xué)習(xí)算法執(zhí)行框架也都開始提供在邊緣設(shè)備上的部署方式。
Zhang 等人對 TensorFlow,Caffe2 ,MXNet, PyTorch和TensorFlow Lite等在不同的邊緣設(shè)備 (MacBook Pro,Intel FogNode,NVIDIA Jetson TX2,Raspberry Pi 3 Model B+ ,Huawfi Nexus 6P) 上的性能從延遲、內(nèi)存占用量和能效等方面進行了對比和分析,最后發(fā)現(xiàn)沒有一款框架能夠在所有維度都取得最好的表現(xiàn),因此執(zhí)行框架的性能提升空間比較大.開展針對輕量級的、高效的、可擴展性強的邊緣設(shè)備算法執(zhí)行框架的研究十分重要,也是實現(xiàn)邊緣智能的重要步驟。
6.數(shù)據(jù)處理平臺
邊緣計算場景下,邊緣設(shè)備時刻產(chǎn)生海量數(shù)據(jù),數(shù)據(jù)的來源和類型具有多樣化的特征,這些數(shù)據(jù)包括環(huán)境傳感器采集的時間序列數(shù)據(jù)、攝像頭采集的圖片視頻數(shù)據(jù)、車載LiDAR的點云數(shù)據(jù)等,數(shù)據(jù)大多具有時空屬性。構(gòu)建一個針對邊緣數(shù)據(jù)進行管理、分析和共享的平臺十分重要。
以智能網(wǎng)聯(lián)車場景為例,車輛逐漸演變成一個移動的計算平臺,越來越多的車載應(yīng)用也被開發(fā)出來,車輛的各類數(shù)據(jù)也比較多。由.Zhang等人提出的OPenVDAP是一個開放的汽車數(shù)據(jù)分析平臺,如下圖3所示,Open VDAP分成4部分,分別是異構(gòu)計算平臺(VCU )、操作系統(tǒng)(EdgeOSv)、駕駛數(shù)據(jù)收集器(DDI)和應(yīng)用程序庫(libvdap),汽車可安裝部署該平臺,從而完成車載應(yīng)用的計算,并且實現(xiàn)車與云、車與車、車與路邊計算單元的通信,從而保證了車載應(yīng)用服務(wù)質(zhì)量和用戶體驗.因此,在邊緣計算不同的應(yīng)用場景下,如何有效地管理數(shù)據(jù)、提供數(shù)據(jù)分析服務(wù),保證一定的用戶體驗是一個重要的研究問題。
7.安全和隱私
雖然邊緣計算將計算推至靠近用戶的地方,避免了數(shù)據(jù)上傳到云端,降低了隱私數(shù)據(jù)泄露的可能性。但是,相較于云計算中心,邊緣計算設(shè)備通常處于靠近用戶側(cè),或者傳輸路徑上,具有更高的潛在可能被攻擊者入侵,因此,邊緣計算節(jié)點自身的安全性仍然是一個不可忽略的問題.邊緣計算節(jié)點的分布式和異構(gòu)型也決定其難以進行統(tǒng)一的管理,從而導(dǎo)致一系列新的安全問題和隱私泄露等問題.作為信息系統(tǒng)的一種計算模式,邊緣計算也存在信息系統(tǒng)普遍存在的共性安全問題,包括:應(yīng)用安全、網(wǎng)絡(luò)安全、信息安全和系統(tǒng)安全等。
在邊緣計算的環(huán)境下,通常仍然可以采用傳統(tǒng)安全方案來進行防護,如通過基于密碼學(xué)的方案來進行信息安全的保護、通過訪問控制策略來對越權(quán)訪問等進行防護.但是需要注意的是,通常需要對傳統(tǒng)方案進行一定的修改,以適應(yīng)邊緣計算的環(huán)境。同時,近些年也有些新興的安全技術(shù)(如硬件協(xié)助的可信執(zhí)行環(huán)境)可以使用到邊緣計算中,以增強邊緣計算的安全性。此外,使用機器學(xué)習(xí)來增強系統(tǒng)的安全防護也是一個較好的方案。
可信執(zhí)行環(huán)境(trusted execution environment, TEE)是指在設(shè)備上一個獨立于不可信操作系統(tǒng)而存在的可信的、隔離的、獨立的執(zhí)行環(huán)境,為不可信環(huán)境中的隱私數(shù)據(jù)和敏感計算,提供了安全而機密的空間,而TEE的安全性通常通過硬件相關(guān)的機制來保障。常見的TEE包括Intel軟件防護擴展、Intel管理引擎、x86系統(tǒng)管理模式、 AMD內(nèi)存加密技術(shù)、AMD平臺安全處理器和ARM TrustZone技術(shù)。通過將應(yīng)用運行于可信執(zhí)行環(huán)境中,并且將使用到的外部存儲進行加解密,邊緣計算節(jié)點的應(yīng)用,可以在邊緣計算節(jié)點被攻破時,仍然可以保證應(yīng)用及數(shù)據(jù)的安全性。
評論
查看更多