作者:施巍松團隊(張星洲侥锦、王一帆病毡、張慶陽)
計算模型的創(chuàng)新帶來的是技術的升級換代祭务,而邊緣計算的迅速發(fā)展也得益于技術的進步。本節(jié)總結(jié)了推動邊緣計算發(fā)展的7項核心技術掸宛,它們包括網(wǎng)絡死陆、隔離技術、體系結(jié)構(gòu)唧瘾、邊緣操作系統(tǒng)措译、算法執(zhí)行框架、數(shù)據(jù)處理平臺以及安全和隱私饰序。
1.網(wǎng)絡
邊緣計算將計算推至靠近數(shù)據(jù)源的位置领虹,甚至于將整個計算部署于從數(shù)據(jù)源到云計算中心的傳輸路徑上的節(jié)點,這樣的計算部署對現(xiàn)有的網(wǎng)絡結(jié)構(gòu)提出了 3個新的要求:
1)服務發(fā)現(xiàn)求豫。在邊緣計算中塌衰,由于計算服務請求者的動態(tài)性诉稍,計算服務請求者如何知道周邊的服務,將是邊緣計算在網(wǎng)絡層面中的一個核心問題.傳統(tǒng)的基于DNS的服務發(fā)現(xiàn)機制最疆,主要應對服務靜態(tài)或者服務地址變化較慢的場景下.當服務變化時杯巨,DNS的服務器通常需要一定的時間以完成域名服務的同步,在此期間會造成一定的網(wǎng)絡抖動努酸,因此并不適合大范圍服爷、動態(tài)性的邊緣計算場景。
2)快速配置获诈。在邊緣計算中仍源,由于用戶和計算設備的動態(tài)性的增加,如智能網(wǎng)聯(lián)車舔涎,以及計算設備由于用戶開關造成的動態(tài)注冊和撤銷笼踩,服務通常也需要跟著進行遷移,而由此將會導致大量的突發(fā)網(wǎng)絡流量亡嫌。與云計算中心不同嚎于,廣域網(wǎng)的網(wǎng)絡情況更為復雜,帶寬可能存在一定的限制.因此昼伴,如何從設備層支持服務的快速配置匾旭,是邊緣計算中的一 個核心問題。
3)負載均衡圃郊。邊緣計算中,邊緣設備產(chǎn)生大量的數(shù)據(jù)女蜈,同時邊緣服務器提供了大量的服務.因此持舆,根據(jù)邊緣服務器以及網(wǎng)絡狀況,如何動態(tài)地對這些數(shù)據(jù)進行調(diào)度至合適的計算服務提供者伪窖,將是邊緣計算中的核心問題逸寓。
針對以上3個問題,一種最簡單的方法是覆山,在所有的中間節(jié)點上均部署所有的計算服務竹伸,然而這將導致大量的冗余,同時也對邊緣計算設備提出了較高的要求簇宽。因此勋篓,我們以“建立一條從邊緣到云的計算路徑”為例來說,首當其沖面對的就是如何尋找服務魏割,以完成計算路徑的建立譬嚣。命名數(shù)據(jù)網(wǎng)絡(named data networking,NDN)是一種將數(shù)據(jù)和服務進行命名和尋址钞它,以P2P和中心化方式相結(jié)合進行自組織的一種數(shù)據(jù)網(wǎng)絡拜银。而計算鏈路的建立殊鞭,在一定程度上也是數(shù)據(jù)的關聯(lián)建立,即數(shù)據(jù)應該從源到云的傳輸關系.因此尼桶,將NDN引入邊緣計算中操灿,通過其建立計算服務的命名并關聯(lián)數(shù)據(jù)的流動,從而可以很好地解決計算鏈路中服務發(fā)現(xiàn)的問題泵督。
而隨著邊緣計算的興起趾盐,尤其是用戶移動的情況下,如車載網(wǎng)絡幌蚊,計算服務的遷移相較于基于云計算的模式更為頻繁谤碳,與之同時也會引起大量的數(shù)據(jù)遷移,從而對網(wǎng)絡層面提供了動態(tài)性的需求溢豆。軟件定義網(wǎng)絡(software definednetworking蜒简,SDN), 于2006年誕生于美國GENI項目資助的斯坦福大學Clean Slate課題漩仙,是一種控制面和數(shù)據(jù)面分離的可編程網(wǎng)絡搓茬,以及簡單網(wǎng)絡管理.由于控制面和數(shù)據(jù)面分離這一特性,網(wǎng)絡管理者可以較為快速地進行路由器队他、交換器的配置卷仑,減少網(wǎng)絡抖動性,以支持快速的流量遷移麸折,因此可以很好地支持計算服務和數(shù)據(jù)的遷移锡凝。同時,結(jié)合NDN和SDN垢啼,可以較好地對網(wǎng)絡及其上的服務進行組織窜锯,并進行管理,從而可以初步實現(xiàn)計算鏈路的建立和管理問題芭析。
2.隔離技術
隔離技術是支撐邊緣計算穩(wěn)健發(fā)展的研究技術锚扎,邊緣設備需要通過有效的隔離技術來保證服務的可靠性和服務質(zhì)量.隔離技術需要考慮2方面:
1)計算資源的隔離,即應用程序間不能相互干擾馁启;
2)數(shù)據(jù)的隔離驾孔,即不同應用程序應具有不同的訪問權限。
在云計算場景下惯疙,由于某一應用程序的崩潰可能帶來整個系統(tǒng)的不穩(wěn)定翠勉,造成嚴重的后果,而在邊緣計算下螟碎,這一情況變得更加復雜.例如在自動駕駛操作系統(tǒng)中眉菱,既需要支持車載娛樂滿足用戶需求, 又需要同時運行自動駕駛?cè)蝿諠M足汽車本身駕駛需求掉分,此時俭缓,如果車載娛樂的任務干擾了自動駕駛?cè)蝿湛艘粒蛘哂绊懥苏麄€操作系統(tǒng)的性能,將會引起嚴重后果华坦,對生命財產(chǎn)安全造成直接損失.隔離技術同時需要考慮第三方程序?qū)τ脩綦[私數(shù)據(jù)的訪問權限問題愿吹,例如,車載娛樂程序不應該被允許訪問汽車控制總線數(shù)據(jù)等.目前在云計算場景下主要使用VM虛擬機和Docker容器技術等方式保證資源隔離惜姐。邊緣計算可汲取云計算發(fā)展的經(jīng)驗犁跪,研究適合邊緣計算場景下的隔離技術。
在云平臺上普遍應用的Docker技術可以實現(xiàn)應用在基于0S級虛擬化的隔離環(huán)境中運行歹袁,Docker的存儲驅(qū)動程序采用容器內(nèi)分層鏡像的結(jié)構(gòu)坷衍,使得應用程序可以作為一個容器快速打包和發(fā)布,從而保證了應用程序間的隔離性.Li等人建立 了一個基于Docker遷移的有效服務切換系統(tǒng)条舔,利用Docker的分層文件系統(tǒng)支持枫耳,提出了一種適合邊緣計算的高效容器遷移策略,以減少包括文件系統(tǒng)孟抗、二進制內(nèi)存映象迁杨、檢查點在內(nèi)的數(shù)據(jù)傳輸?shù)拈_ 銷.Ha等人提出了一種VM切換技術,實現(xiàn)虛擬機VM的計算任務遷移凄硼,支持快速和透明的資源放置铅协,保證將VM虛擬機封裝在安全性和可管理行要求較高的應用中.這種多功能原語還提供了動態(tài)遷移的功能,對邊緣端進行了優(yōu)化.這種基于VM的隔離技術提高了應用程序的抗干擾性摊沉,增加了邊緣計算系統(tǒng)的可用性狐史。
3.體系結(jié)構(gòu)
無論是如高性能計算一類傳統(tǒng)的計算場景,還是如邊緣計算一類的新興計算場景说墨,未來的體系結(jié)構(gòu)應該是通用處理器和異構(gòu)計算硬件并存的模式预皇。異構(gòu)硬件犧牲了部分通用計算能力,使用專用加速單元減小了某一類或多類負載的執(zhí)行時間婉刀,并且顯著提高了性能功耗比。邊緣計算平臺通常針對某一類特定的計算場景設計序仙,處理的負載類型較為固定突颊,故目前有很多前沿工作針對特定的計算場景設計邊緣計算平臺的體系結(jié)構(gòu).
ShiDianNao首次提出了將人工智能處理器放置在靠近圖像傳感器的位置,處理器直接從傳感器讀取數(shù)據(jù)潘悼,避免圖像數(shù)據(jù)在DRAM中的存取帶來的能耗開銷律秃;同時通過共享卷積神經(jīng)網(wǎng)絡(convolutional neural networks, CNNs) 權值的方法 治唤,將模型完整放置在SRAM中棒动,避免權值數(shù)據(jù)在DRAM 中的存取帶來的能耗開銷;由于計算能效地大幅度提升(60倍)宾添,使其可以被應用于移動端設備.EIE:是一個用于稀疏神經(jīng)網(wǎng)絡的高效推理引擎船惨,其通過稀疏矩陣的并行化以及權值共享的方法加速稀疏神 經(jīng)網(wǎng)絡在移動設備的執(zhí)行能效.Phi-Stack則提出了針對邊緣計算的一整套技術桟柜裸,其中針對物聯(lián)網(wǎng)設備設計的PhiPU,使用異構(gòu)多核的結(jié)構(gòu)并行處理 深度學習任務和普通的計算任務(實時操作系統(tǒng)). In-Situ AI是一個用于物聯(lián)網(wǎng)場景中深度學習應用的自動增量計算框架和架構(gòu)粱锐,其通過數(shù)據(jù)診斷疙挺,選擇最小數(shù)據(jù)移動的計算模式,將深度學習任務部署 到物聯(lián)網(wǎng)計算節(jié)點.除了專用計算硬件的設計怜浅,還有 一類工作探索FPGA在邊緣計算場景中的應用. ESE[6]通過FPGA提高了稀疏長短時記憶網(wǎng)絡 (long short term memory network铐然,LSTM)在移動設備上的執(zhí)行能效,用于加速語音識別應用.其通過負載平衡感知的方法對LSTM進行剪枝壓縮恶座,并保證硬件的高利用率搀暑,同時在多個硬件計算單元中調(diào)度 LSTM 數(shù)據(jù)流;其使用 Xilinx XCKU060 FPGA 進行硬件設計實現(xiàn)跨琳,與CPU和GPU相比自点,其分別實現(xiàn)了 40倍和11. 5倍的能效提升.Biookaghazadeh 等人通過對比FPGA和GPU在運行特定負載時吞 吐量敏感性、結(jié)構(gòu)適應性和計算能效等指標湾宙,表明 FPGA更加適合邊緣計算場景樟氢。
針對邊緣計算的計算系統(tǒng)結(jié)構(gòu)設計仍然是一個新興的領域,仍然具有很多挑戰(zhàn)亟待解決侠鳄,例如如何高效地管理邊緣計算異構(gòu)硬件埠啃、如何對這類的系統(tǒng)結(jié)構(gòu)進行公平及全面的評測等.在第三屆邊緣計算會議(S E C 2 018 )上首次設立了針對邊緣計算體系結(jié)構(gòu)的Workshop:ArchEdge,鼓勵學術界和工業(yè)界對此領域進行探討和交流。
4.邊緣操作系統(tǒng)
邊緣計算操作系統(tǒng)向下需要管理異構(gòu)的計算資源伟恶,向上需要處理大量的異構(gòu)數(shù)據(jù)以及多用的應用負載碴开,其需要負責將復雜的計算任務在邊緣計算節(jié)點上部署 、調(diào)度 及遷移從而保證計算任務的可靠性以及資源的最大化利用博秫。與傳統(tǒng)的物聯(lián)網(wǎng)設備上的實時操作系統(tǒng)Contikt和FreeRTOS不同潦牛,邊緣計算操作系統(tǒng)更傾向于對數(shù)據(jù)、計算任務和計算資源的管理框架挡育。
機器人操作系統(tǒng)(robot operating system, ROS) 最開始被設計用于異構(gòu)機器人機群的消息通信管理巴碗,現(xiàn)逐漸發(fā)展成一套開源的機器人開發(fā)及管理工具,提供硬件抽象和驅(qū)動即寒、消息通信標準橡淆、軟件包管理等 一系列工具,被廣泛應用于工業(yè)機器人母赵、自動駕駛車輛即無人機等邊緣計算場景.為解決ROS中的性能 問題逸爵,社區(qū)在2015年推出ROS2. 0,其核心為引入數(shù)據(jù)分發(fā)服務(data distribution service凹嘲,DDS)师倔, 解決ROS對主節(jié)點(master node)性能依賴問題,同時DDS提供共享內(nèi)存機制提高節(jié)點間的通信效率.EdgeOSH則是針對智能家居設計的邊緣操作系統(tǒng)周蹭,其部署于家庭的邊緣網(wǎng)關中趋艘,通過3層功能抽象連接上層應用和下層智能家居硬件疲恢,其提出面向多樣的邊緣計算任務,服務管理層應具有差異性 (differentiation)致稀、可擴展性(extensibility)冈闭、隔離性 (isolation)和可靠性(reliability)的需求.Phi-Stack 中提出了面向智能家居設備的邊緣操作系統(tǒng) PhiOS,其引人輕量級的REST引擎和LUA解釋器抖单,幫助用戶在家庭邊緣設備上部署計算任務. OPenVDAP是針對汽車場景設計的數(shù)據(jù)分析平臺萎攒,其提出了面向網(wǎng)聯(lián)車場景的邊緣操作系統(tǒng) EdgeOSv.該操作系統(tǒng)中提供了任務彈性管理、數(shù)據(jù)共享以及安全和隱私保護等功能.
根據(jù)目前的研究現(xiàn)狀矛绘,ROS以及基于ROS實現(xiàn)的操作系統(tǒng)有可能會成為邊緣計算場景的典型操作系統(tǒng)耍休,但其仍然需要經(jīng)過在各種真實計算場景下部署的評測和檢驗。
5.算法執(zhí)行框架
隨著人工智能的快速發(fā)展货矮,邊緣設備需要執(zhí)行越來越多的智能算法任務羊精,例如家庭語音助手需要 進行自然語言理解、智能駕駛汽車需要對街道目標檢測和識別囚玫、手持翻譯設備需要翻譯實時語音信息等.在這些任務中喧锦,機器學習尤其是深度學習算法占有很大的比重,使硬件設備更好地執(zhí)行以深度學習算法為代表的智能任務是研究的焦點抓督,也是實現(xiàn)邊緣智能的必要條件.而設計面向邊緣計算場景下的高效的算法執(zhí)行框架是一個重要的方法.目前有許 多針對機器學習算法特性而設計的執(zhí)行框架燃少,例如谷歌于2016年發(fā)布的TensorFloE、依賴開源社區(qū)力量發(fā)展的Caffe等铃在,但是這些框架更多地運行在云數(shù)據(jù)中心阵具,它們不能直接應用于邊緣設備.如表2所示,云數(shù)據(jù)中心和邊緣設備對算法執(zhí)行框架的需求有較大的區(qū)別定铜。在云數(shù)據(jù)中心阳液,算法執(zhí)行框架更多地執(zhí)行模型訓練的任務,它們的輸人是大規(guī)模的批量數(shù)據(jù)集揣炕,關注的是訓練時的迭代速度帘皿、收斂率和框架的可擴展性等.而邊緣設備更多地執(zhí)行預測任務,輸人的是實時的小規(guī)模數(shù)據(jù)畸陡,由于邊緣設備計算資源和存儲資源的相對受限性矮烹,它們更關注算法執(zhí)行框架預測時的速度、內(nèi)存占用量和能效罩锐。
為了更好地支持邊緣設備執(zhí)行智能任務,一些專門針對邊緣設備的算法執(zhí)行框架應運而生.2017年卤唉,谷歌發(fā)布了用于移動設備和嵌人式設備的輕量級解決方案TensorFlow Lite涩惑,它通過優(yōu)化移動應用程序的內(nèi)核、預先激活和量化內(nèi)核等方法來減少執(zhí)行預測任務時的延遲和內(nèi)存占有量.Caffe2 是Caffe的更高級版本桑驱,它是一個輕量級的執(zhí)行框架竭恬,增加了對移動端的支持.此外跛蛋,PyTorch和 MXNet等主流的機器學習算法執(zhí)行框架也都開始提供在邊緣設備上的部署方式。
Zhang 等人對 TensorFlow,Caffe2 ,MXNet痊硕, PyTorch和TensorFlow Lite等在不同的邊緣設備 (MacBook Pro赊级,Intel FogNode,NVIDIA Jetson TX2,Raspberry Pi 3 Model B+ ,Huawfi Nexus 6P) 上的性能從延遲岔绸、內(nèi)存占用量和能效等方面進行了對比和分析理逊,最后發(fā)現(xiàn)沒有一款框架能夠在所有維度都取得最好的表現(xiàn),因此執(zhí)行框架的性能提升空間比較大.開展針對輕量級的盒揉、高效的晋被、可擴展性強的邊緣設備算法執(zhí)行框架的研究十分重要,也是實現(xiàn)邊緣智能的重要步驟刚盈。
6.數(shù)據(jù)處理平臺
邊緣計算場景下羡洛,邊緣設備時刻產(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)車場景為例忘伞,車輛逐漸演變成一個移動的計算平臺,越來越多的車載應用也被開發(fā)出來沙兰,車輛的各類數(shù)據(jù)也比較多氓奈。由.Zhang等人提出的OPenVDAP是一個開放的汽車數(shù)據(jù)分析平臺,如下圖3所示鼎天,Open VDAP分成4部分舀奶,分別是異構(gòu)計算平臺(VCU )、操作系統(tǒng)(EdgeOSv)斋射、駕駛數(shù)據(jù)收集器(DDI)和應用程序庫(libvdap)育勺,汽車可安裝部署該平臺,從而完成車載應用的計算罗岖,并且實現(xiàn)車與云涧至、車與車、車與路邊計算單元的通信桑包,從而保證了車載應用服務質(zhì)量和用戶體驗.因此南蓬,在邊緣計算不同的應用場景下,如何有效地管理數(shù)據(jù)、提供數(shù)據(jù)分析服務赘方,保證一定的用戶體驗是一個重要的研究問題烧颖。
7.安全和隱私
雖然邊緣計算將計算推至靠近用戶的地方,避免了數(shù)據(jù)上傳到云端窄陡,降低了隱私數(shù)據(jù)泄露的可能性炕淮。但是,相較于云計算中心跳夭,邊緣計算設備通常處于靠近用戶側(cè)涂圆,或者傳輸路徑上,具有更高的潛在可能被攻擊者入侵优妙,因此乘综,邊緣計算節(jié)點自身的安全性仍然是一個不可忽略的問題.邊緣計算節(jié)點的分布式和異構(gòu)型也決定其難以進行統(tǒng)一的管理,從而導致一系列新的安全問題和隱私泄露等問題.作為信息系統(tǒng)的一種計算模式套硼,邊緣計算也存在信息系統(tǒng)普遍存在的共性安全問題卡辰,包括:應用安全、網(wǎng)絡安全邪意、信息安全和系統(tǒng)安全等九妈。
在邊緣計算的環(huán)境下,通常仍然可以采用傳統(tǒng)安全方案來進行防護雾鬼,如通過基于密碼學的方案來進行信息安全的保護萌朱、通過訪問控制策略來對越權訪問等進行防護.但是需要注意的是,通常需要對傳統(tǒng)方案進行一定的修改策菜,以適應邊緣計算的環(huán)境晶疼。同時,近些年也有些新興的安全技術(如硬件協(xié)助的可信執(zhí)行環(huán)境)可以使用到邊緣計算中又憨,以增強邊緣計算的安全性翠霍。此外,使用機器學習來增強系統(tǒng)的安全防護也是一個較好的方案蠢莺。
可信執(zhí)行環(huán)境(trusted execution environment寒匙, TEE)是指在設備上一個獨立于不可信操作系統(tǒng)而存在的可信的、隔離的躏将、獨立的執(zhí)行環(huán)境锄弱,為不可信環(huán)境中的隱私數(shù)據(jù)和敏感計算,提供了安全而機密的空間祸憋,而TEE的安全性通常通過硬件相關的機制來保障会宪。常見的TEE包括Intel軟件防護擴展、Intel管理引擎蚯窥、x86系統(tǒng)管理模式狈谊、 AMD內(nèi)存加密技術喜命、AMD平臺安全處理器和ARM TrustZone技術。通過將應用運行于可信執(zhí)行環(huán)境中河劝,并且將使用到的外部存儲進行加解密,邊緣計算節(jié)點的應用矛紫,可以在邊緣計算節(jié)點被攻破時赎瞎,仍然可以保證應用及數(shù)據(jù)的安全性。
了解更多邊緣計算資訊颊咬,盡在邊緣計算社區(qū)N裆!喳篇!