施巍松 張星洲 王一帆 張慶陽
1(韋恩州立大學(xué)計算機科學(xué)系 美國密歇根州底特律 48202)2(中國科學(xué)院計算技術(shù)研究所 北京 100190)3(中國科學(xué)院大學(xué) 北京 100190)4(安徽大學(xué)計算機科學(xué)與技術(shù)學(xué)院 合肥 230601)
近年來,隨著萬物互聯(lián)時代的快速到來和無線網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)邊緣的設(shè)備數(shù)量和產(chǎn)生的數(shù)據(jù)都快速增長.根據(jù)IDC預(yù)測[1],到2020年全球數(shù)據(jù)總量將大于40澤字節(jié)(zettabyte, ZB),而物聯(lián)網(wǎng)產(chǎn)生數(shù)據(jù)的45%都將在網(wǎng)絡(luò)邊緣處理.在這種情形下,以云計算模型為核心的集中式處理模式將無法高效處理邊緣設(shè)備產(chǎn)生的數(shù)據(jù).集中式處理模型將所有數(shù)據(jù)通過網(wǎng)絡(luò)傳輸?shù)皆朴嬎阒行模迷朴嬎阒行某瑥姷挠嬎隳芰砑惺浇鉀Q計算和存儲問題,這使得云服務(wù)能夠創(chuàng)造出較高的經(jīng)濟(jì)效益.但是在萬物互聯(lián)的背景下,傳統(tǒng)云計算有4個不足:
1) 實時性不夠.萬物互聯(lián)場景下應(yīng)用對于實時性的要求極高.傳統(tǒng)云計算模型下,應(yīng)用將數(shù)據(jù)傳送到云計算中心,再請求數(shù)據(jù)處理結(jié)果,增大了系統(tǒng)延遲.以無人駕駛汽車應(yīng)用為例,高速行駛的汽車需要毫秒級的反應(yīng)時間,一旦由于網(wǎng)絡(luò)問題而加大系統(tǒng)延遲,將會造成嚴(yán)重后果.
2) 帶寬不足.邊緣設(shè)備實時產(chǎn)生大量數(shù)據(jù),將全部數(shù)據(jù)傳輸至云端造成了網(wǎng)絡(luò)帶寬的很大壓力.例如,波音787每秒產(chǎn)生的數(shù)據(jù)超過5GB[2],但飛機與衛(wèi)星之間的帶寬不足以支持實時傳輸.
3) 能耗較大.數(shù)據(jù)中心消耗了極多的能源,根據(jù)Sverdlik的研究[3],到2020年美國所有數(shù)據(jù)中心能耗將增長4%,達(dá)到730億千瓦時,我國數(shù)據(jù)中心所消耗的電能也已經(jīng)超過了匈牙利和希臘兩國用電總和.隨著用戶應(yīng)用程序越來越多,處理的數(shù)據(jù)量越來越大,能耗將會成為限制云計算中心發(fā)展的瓶頸.
4) 不利于數(shù)據(jù)安全和隱私.萬物互聯(lián)中的數(shù)據(jù)與用戶生活聯(lián)系極為緊密,例如,許多家庭安裝室內(nèi)智能網(wǎng)絡(luò)攝像頭,視頻數(shù)據(jù)傳輸?shù)皆贫?,會增加泄露用戶隱私的風(fēng)險.隨著歐盟“通用數(shù)據(jù)保護(hù)條例”(GDPR)[4]的生效,數(shù)據(jù)安全和隱私問題對于云計算公司來說變得更加重要.
為了解決以上問題,面向邊緣設(shè)備所產(chǎn)生海量數(shù)據(jù)計算的邊緣計算模型應(yīng)運而生.邊緣計算是在網(wǎng)絡(luò)邊緣執(zhí)行計算的一種新型計算模型[5-6],邊緣計算操作的對象包括來自于云服務(wù)的下行數(shù)據(jù)和來自于萬物互聯(lián)服務(wù)的上行數(shù)據(jù),而邊緣計算的邊緣是指從數(shù)據(jù)源到云計算中心路徑之間的任意計算和網(wǎng)絡(luò)資源,是一個連續(xù)統(tǒng)(continuum).邊緣計算模型和云計算模型并不是取代的關(guān)系,而是相輔相成的關(guān)系,邊緣計算需要云計算中心強大的計算能力和海量存儲的支持,而云計算中心也需要邊緣計算中邊緣設(shè)備對海量數(shù)據(jù)及隱私數(shù)據(jù)的處理.
邊緣計算模型具有3個明顯的優(yōu)點:
1) 在網(wǎng)絡(luò)邊緣處理大量臨時數(shù)據(jù),不再全部上傳云端,這極大地減輕了網(wǎng)絡(luò)帶寬和數(shù)據(jù)中心功耗的壓力;
2) 在靠近數(shù)據(jù)生產(chǎn)者處做數(shù)據(jù)處理,不需要通過網(wǎng)絡(luò)請求云計算中心的響應(yīng),大大減少了系統(tǒng)延遲,增強了服務(wù)響應(yīng)能力;
3) 邊緣計算將用戶隱私數(shù)據(jù)不再上傳,而是存儲在網(wǎng)絡(luò)邊緣設(shè)備上,減少了網(wǎng)絡(luò)數(shù)據(jù)泄露的風(fēng)險,保護(hù)了用戶數(shù)據(jù)安全和隱私.
得益于這些優(yōu)勢,邊緣計算近年來得到了迅速發(fā)展,本文首先梳理了邊緣計算的發(fā)展歷程,將其歸納為技術(shù)儲備期、快速增長期和穩(wěn)健發(fā)展期3個階段,并列舉了不同階段的典型事件.隨后,本文總結(jié)了推動邊緣計算迅速發(fā)展的7項關(guān)鍵技術(shù),即網(wǎng)絡(luò)、隔離技術(shù)、體系結(jié)構(gòu)、邊緣操作系統(tǒng)、算法執(zhí)行框架、數(shù)據(jù)處理平臺以及安全和隱私.然后提出廣泛采用邊緣計算的6類典型應(yīng)用:公共安全中實時數(shù)據(jù)處理、智能網(wǎng)聯(lián)車和自動駕駛、虛擬現(xiàn)實、工業(yè)物聯(lián)網(wǎng)、智能家居和智慧城市.最后,本文提出了邊緣計算在未來發(fā)展中需要緊迫解決的6類問題.
本文在谷歌學(xué)術(shù)上以“edge computing”為關(guān)鍵詞進(jìn)行搜索每年的文章數(shù)量,結(jié)果如圖1所示.可以看到,2015年以前,邊緣計算處于原始技術(shù)積累階段;2015—2017年,邊緣計算開始被業(yè)內(nèi)熟知,與之相關(guān)的論文增長了10余倍,得到了飛速發(fā)展;2018年邊緣計算開始穩(wěn)健發(fā)展(其中2018年的論文數(shù)量根據(jù)2018年前9個月的數(shù)據(jù)推算而來,實際數(shù)據(jù)有出入).本文依據(jù)這一分析結(jié)果和對行業(yè)發(fā)展趨勢的觀察將邊緣計算的發(fā)展分為3個階段:技術(shù)儲備期、快速增長期和穩(wěn)定發(fā)展期.圖2列舉了邊緣計算發(fā)展中的典型事件(粗體字為中國對邊緣計算發(fā)展的貢獻(xiàn)).
Fig. 1 Number of papers retrieved by “edge computing” on Google Scholar圖1 谷歌學(xué)術(shù)上以“edge computing”為關(guān)鍵詞搜索到的文章數(shù)量
Fig. 2 Development states of edge computing and the typical events at each stage圖2 邊緣計算的發(fā)展歷程及典型事件
在此階段,邊緣計算歷經(jīng)“蟄伏—提出—定義—推廣”等發(fā)展過程.邊緣計算最早可以追溯至1998年阿卡邁(Akamai)公司提出的內(nèi)容分發(fā)網(wǎng)絡(luò)[7](content delivery network, CDN),CDN是一種基于互聯(lián)網(wǎng)的緩存網(wǎng)絡(luò),依靠部署在各地的緩存服務(wù)器,通過中心平臺的負(fù)載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,將用戶的訪問指向距離最近的緩存服務(wù)器上,以此降低網(wǎng)絡(luò)擁塞,提高用戶訪問響應(yīng)速度和命中率.CDN強調(diào)內(nèi)容(數(shù)據(jù))的備份和緩存,而邊緣計算的基本思想則是功能緩存(function cache).2005年美國韋恩州立大學(xué)施巍松教授的團(tuán)隊就已提出功能緩存的概念,并將其用在個性化的郵箱管理服務(wù)中,以節(jié)省延遲和帶寬[8].2009年Satyanarayanan等人提出了Cloudlet[9]的概念,Cloudlet是一個可信且資源豐富的主機,部署在網(wǎng)絡(luò)邊緣,與互聯(lián)網(wǎng)連接,可以被移動設(shè)備訪問,為其提供服務(wù),Cloudlet可以像云一樣為用戶提供服務(wù),又被稱為“小朵云”.此時的邊緣計算強調(diào)下行,即將云服務(wù)器上的功能下行至邊緣服務(wù)器,以減少帶寬和時延.
隨后,在萬物互聯(lián)的背景下,邊緣數(shù)據(jù)迎來了爆發(fā)性增長,為了解決面向數(shù)據(jù)傳輸、計算和存儲過程中的計算負(fù)載和數(shù)據(jù)傳輸帶寬的問題,研究者開始探索在靠近數(shù)據(jù)生產(chǎn)者的邊緣增加數(shù)據(jù)處理的功能,即萬物互聯(lián)服務(wù)功能的上行.具有代表性的是移動邊緣計算(mobile edge computing, MEC)、霧計算(fog computing)和海云計算(cloud-sea computing).
移動邊緣計算[10]是指在接近移動用戶的無線接入網(wǎng)范圍內(nèi),提供信息技術(shù)服務(wù)和云計算能力的一種新的網(wǎng)絡(luò)結(jié)構(gòu),并已成為一種標(biāo)準(zhǔn)化、規(guī)范化的技術(shù).由于移動邊緣計算位于無線接入網(wǎng)內(nèi),并接近移動用戶,因此可以實現(xiàn)較低延時、較高帶寬來提高服務(wù)質(zhì)量和用戶體驗.移動邊緣計算強調(diào)在云計算中心與邊緣計算設(shè)備之間建立邊緣服務(wù)器,在邊緣服務(wù)器上完成終端數(shù)據(jù)的計算任務(wù),但移動邊緣終端設(shè)備基本被認(rèn)為不具有計算能力,而邊緣計算模型中的終端設(shè)備具有較強的計算能力,因此移動邊緣計算類似一種邊緣計算服務(wù)器的架構(gòu)和層次,作為邊緣計算模型的一部分.思科公司于2012年提出了霧計算[11],并將霧計算定義為遷移云計算中心任務(wù)到網(wǎng)絡(luò)邊緣設(shè)備執(zhí)行的一種高度虛擬化計算平臺.它通過減少云計算中心和移動用戶之間的通信次數(shù),以緩解主干鏈路的帶寬負(fù)載和能耗壓力.霧計算和邊緣計算具有很大的相似性,但是霧計算關(guān)注基礎(chǔ)設(shè)施之間的分布式資源共享問題,而邊緣計算除了關(guān)注基礎(chǔ)設(shè)施之外,也關(guān)注邊緣設(shè)備,包括計算、網(wǎng)絡(luò)和存儲資源的管理,以及邊端、邊邊和邊云之間的合作.與此同時,2012年,中國科學(xué)院啟動了戰(zhàn)略性先導(dǎo)研究專項,稱之為下一代信息與通信技術(shù)倡議(Next Generation Information and Communication Tech-nology initiative, NICT倡議),其主旨是開展“海云計算系統(tǒng)項目”的研究[12],其核心是通過“云計算”系統(tǒng)與“海計算”系統(tǒng)的協(xié)同與集成,增強傳統(tǒng)云計算能力,其中,“?!倍酥赣扇祟惐旧怼⑽锢硎澜绲脑O(shè)備和子系統(tǒng)組成的終端.與邊緣計算相比,海云計算關(guān)注“?!焙汀霸啤边@兩端,而邊緣計算關(guān)注從“?!钡健霸啤睌?shù)據(jù)路徑之間的任意計算、存儲和網(wǎng)絡(luò)資源.
2013年,美國太平洋西北國家實驗室的Ryan LaMothe在一個2頁紙的內(nèi)部報告中提出“edge computing”一詞,這是現(xiàn)代“edge computing”的首次提出[13].此時,邊緣計算的涵義已經(jīng)既有云服務(wù)功能的下行,還有萬物互聯(lián)服務(wù)的上行.
2015—2017年為邊緣計算快速增長期,在這段時間內(nèi),由于邊緣計算滿足萬物互聯(lián)的需求,引起了國內(nèi)外學(xué)術(shù)界和產(chǎn)業(yè)界的密切關(guān)注.
在政府層面上,2016年5月,美國自然科學(xué)基金委(National Science Foundation, NSF)在計算機系統(tǒng)研究中將邊緣計算替換云計算,列為突出領(lǐng)域(highlight area);8月,NSF和英特爾專門討論針對無線邊緣網(wǎng)絡(luò)上的信息中心網(wǎng)絡(luò)(NSF/Intel partner-ship on ICN in Wireless Edge Networks, ICN-WEN)[14];10月,NSF舉辦邊緣計算重大挑戰(zhàn)研討會(NSF Workshop on Grand Challenges in Edge Computing)[15],會議針對3個議題展開研究:邊緣計算未來5~10年的發(fā)展目標(biāo),達(dá)成目標(biāo)所帶來的挑戰(zhàn),學(xué)術(shù)界、工業(yè)界和政府應(yīng)該如何協(xié)同合作來應(yīng)對挑戰(zhàn).這標(biāo)志著邊緣計算的發(fā)展已經(jīng)在美國政府層面上引起了重視.
在學(xué)術(shù)界,2016年5月,美國韋恩州立大學(xué)施巍松教授團(tuán)隊給出了邊緣計算的一個正式定義[6]:邊緣計算是指在網(wǎng)絡(luò)邊緣執(zhí)行計算的一種新型計算模型,邊緣計算操作的對象包括來自于云服務(wù)的下行數(shù)據(jù)和來自于萬物互聯(lián)服務(wù)的上行數(shù)據(jù),而邊緣計算的邊緣是指從數(shù)據(jù)源到云計算中心路徑之間的任意計算和網(wǎng)絡(luò)資源,是一個連續(xù)統(tǒng).并發(fā)表了“Edge Computing: Vision and Challenges”一文,第1次指出了邊緣計算所面臨的挑戰(zhàn)[6],該文在2018年底被他引650次.同年10月,ACM和IEEE開始聯(lián)合舉辦邊緣計算頂級會議(ACM/IEEE Symposium on Edge Computing, SEC)[16],這是全球首個以邊緣計算為主題的科研學(xué)術(shù)會議.自此之后,ICDCS,INFOCOM,MiddleWare,WWW等重要國際會議也開始增加邊緣計算的分會(track)或者專題研討會(workshop).
工業(yè)界也在努力推動邊緣計算的發(fā)展,2015年9月,歐洲電信標(biāo)準(zhǔn)化協(xié)會(ETSI)發(fā)表關(guān)于移動邊緣計算的白皮書[10],并在2017年3月將移動邊緣計算行業(yè)規(guī)范工作組正式更名為多接入邊緣計算(multi-access edge computing, MEC)[17],致力于更好地滿足邊緣計算的應(yīng)用需求和相關(guān)標(biāo)準(zhǔn)制定.2015年11月,思科、ARM、戴爾、英特爾、微軟和普林斯頓大學(xué)聯(lián)合成立了OpenFog聯(lián)盟[18],主要致力于Fog Reference Architecture的編寫.為了推進(jìn)和應(yīng)用場景在邊緣的結(jié)合,該組織于2018年12月并入了工業(yè)互聯(lián)網(wǎng)聯(lián)盟.
國內(nèi)邊緣計算的發(fā)展速度和世界幾乎同步,特別是從智能制造的角度.2016年11月,華為技術(shù)有限公司、中國科學(xué)院沈陽自動化研究所、中國信息通信研究院、英特爾、ARM等在北京成立了邊緣計算產(chǎn)業(yè)聯(lián)盟(edge computing consortium)[19],致力于推動“政產(chǎn)學(xué)研用”各方產(chǎn)業(yè)資源合作,引領(lǐng)邊緣計算產(chǎn)業(yè)的健康可持續(xù)發(fā)展.2017年5月首屆中國邊緣計算技術(shù)研討會在合肥開幕,同年8月中國自動化學(xué)會邊緣計算專委會成立,標(biāo)志著邊緣計算的發(fā)展已經(jīng)得到了專業(yè)學(xué)會的認(rèn)可和推動.
2018年是邊緣計算發(fā)展過程中的重要節(jié)點,盡管此前業(yè)內(nèi)已經(jīng)對邊緣計算報以了很大期望,而2018年邊緣計算被推向前臺,開始被大眾熟知.這一階段,邊緣計算的參與者范圍擴大很快,如表1所示,參與者已經(jīng)基本涵蓋了計算機領(lǐng)域的方方面面,本文將它們分為6類:云計算公司、硬件廠商、CDN公司、通信運營商、科研機構(gòu)和產(chǎn)業(yè)聯(lián)盟/開源社區(qū),并在表1中列舉它們近2年在邊緣計算領(lǐng)域的事件.
Table 1 Key Players of Edge Computing and the Current Events表1 邊緣計算主要參與者及其近期事件
邊緣計算在穩(wěn)健發(fā)展期有4個重要事件,2018年1月全球首部邊緣計算專業(yè)書籍《邊緣計算》出版[47],它從邊緣計算的需求與意義、系統(tǒng)、應(yīng)用、平臺等多個角度對邊緣計算進(jìn)行了闡述.2018年9月17日在上海召開的世界人工智能大會,以“邊緣計算,智能未來”為主題舉辦了邊緣智能主題論壇[48],這是中國從政府層面上對邊緣計算的發(fā)展進(jìn)行了支持和探討.2018年8月兩年一度的全國計算機體系結(jié)構(gòu)學(xué)術(shù)年會以“由云到端的智能架構(gòu)”為主題[49],由此可見,學(xué)術(shù)界的研究焦點已經(jīng)由云計算開始逐漸轉(zhuǎn)向邊緣計算.同時,邊緣計算也得到了技術(shù)社區(qū)的大力支持,具有代表性的是:2018年10月CNCF基金會和Eclipse基金會展開合作,將把在超大規(guī)模云計算環(huán)境中已被普遍使用的Kubernetes,帶入到物聯(lián)網(wǎng)邊緣計算場景中.新成立的Kubernetes物聯(lián)網(wǎng)邊緣工作組將采用運行容器的理念并擴展到邊緣,促進(jìn)Kubernetes在邊緣環(huán)境中的適用[46].
本文相信,經(jīng)過前期的技術(shù)儲備和最近幾年的快速增長,邊緣計算將成為學(xué)術(shù)界和產(chǎn)業(yè)界的熱門話題,實現(xiàn)學(xué)術(shù)界與工業(yè)界的融合,加快產(chǎn)品落地,便利大眾生活,步入穩(wěn)健發(fā)展時期.
計算模型的創(chuàng)新帶來的是技術(shù)的升級換代,而邊緣計算的迅速發(fā)展也得益于技術(shù)的進(jìn)步.本節(jié)總結(jié)了推動邊緣計算發(fā)展的7項核心技術(shù),它們包括網(wǎng)絡(luò)、隔離技術(shù)、體系結(jié)構(gòu)、邊緣操作系統(tǒng)、算法執(zhí)行框架、數(shù)據(jù)處理平臺以及安全和隱私.
邊緣計算將計算推至靠近數(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)機制[50],主要應(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)車[51],以及計算設(shè)備由于用戶開關(guān)造成的動態(tài)注冊和撤銷[52],服務(wù)通常也需要跟著進(jìn)行遷移,而由此將會導(dǎo)致大量的突發(fā)網(wǎng)絡(luò)流量.與云計算中心不同,廣域網(wǎng)的網(wǎng)絡(luò)情況更為復(fù)雜,帶寬可能存在一定的限制.因此,如何從設(shè)備層支持服務(wù)的快速配置,是邊緣計算中的一個核心問題.
3) 負(fù)載均衡.邊緣計算中,邊緣設(shè)備產(chǎn)生大量的數(shù)據(jù),同時邊緣服務(wù)器提供了大量的服務(wù).因此,根據(jù)邊緣服務(wù)器以及網(wǎng)絡(luò)狀況,如何動態(tài)地對這些數(shù)據(jù)進(jìn)行調(diào)度至合適的計算服務(wù)提供者,將是邊緣計算中的核心問題.
針對以上3個問題,一種最簡單的方法是,在所有的中間節(jié)點上均部署所有的計算服務(wù),然而這將導(dǎo)致大量的冗余,同時也對邊緣計算設(shè)備提出了較高的要求.因此,我們以“建立一條從邊緣到云的計算路徑”為例來說,首當(dāng)其沖面對的就是如何尋找服務(wù),以完成計算路徑的建立.命名數(shù)據(jù)網(wǎng)絡(luò)(named data networking, NDN)[53]是一種將數(shù)據(jù)和服務(wù)進(jìn)行命名和尋址,以P2P和中心化方式相結(jié)合進(jìn)行自組織的一種數(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 defined networking, SDN)[54-55],于2006年誕生于美國GENI項目資助的斯坦福大學(xué)Clean Slate課題,是一種控制面和數(shù)據(jù)面分離的可編程網(wǎng)絡(luò),以及簡單網(wǎng)絡(luò)管理.由于控制面和數(shù)據(jù)面分離這一特性,網(wǎng)絡(luò)管理者可以較為快速地進(jìn)行路由器、交換器的配置,減少網(wǎng)絡(luò)抖動性,以支持快速的流量遷移,因此可以很好地支持計算服務(wù)和數(shù)據(jù)的遷移.同時,結(jié)合NDN和SDN,可以較好地對網(wǎng)絡(luò)及其上的服務(wù)進(jìn)行組織,并進(jìn)行管理,從而可以初步實現(xiàn)計算鏈路的建立和管理問題.
隔離技術(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)定,造成嚴(yán)重的后果,而在邊緣計算下,這一情況變得更加復(fù)雜.例如在自動駕駛操作系統(tǒng)中,既需要支持車載娛樂滿足用戶需求,又需要同時運行自動駕駛?cè)蝿?wù)滿足汽車本身駕駛需求,此時,如果車載娛樂的任務(wù)干擾了自動駕駛?cè)蝿?wù),或者影響了整個操作系統(tǒng)的性能,將會引起嚴(yán)重后果,對生命財產(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)用在基于OS級虛擬化的隔離環(huán)境中運行,Docker的存儲驅(qū)動程序采用容器內(nèi)分層鏡像的結(jié)構(gòu),使得應(yīng)用程序可以作為一個容器快速打包和發(fā)布,從而保證了應(yīng)用程序間的隔離性.Li等人建立了一個基于Docker遷移的有效服務(wù)切換系統(tǒng)[56],利用Docker的分層文件系統(tǒng)支持,提出了一種適合邊緣計算的高效容器遷移策略,以減少包括文件系統(tǒng)、二進(jìn)制內(nèi)存映象、檢查點在內(nèi)的數(shù)據(jù)傳輸?shù)拈_銷.Ha等人提出了一種VM切換技術(shù)[57],實現(xiàn)虛擬機VM的計算任務(wù)遷移,支持快速和透明的資源放置,保證將VM虛擬機封裝在安全性和可管理行要求較高的應(yīng)用中.這種多功能原語還提供了動態(tài)遷移的功能,對邊緣端進(jìn)行了優(yōu)化.這種基于VM的隔離技術(shù)提高了應(yīng)用程序的抗干擾性,增加了邊緣計算系統(tǒng)的可用性.
無論是如高性能計算一類傳統(tǒng)的計算場景,還是如邊緣計算一類的新興計算場景,未來的體系結(jié)構(gòu)應(yīng)該是通用處理器和異構(gòu)計算硬件并存的模式[58].異構(gòu)硬件犧牲了部分通用計算能力,使用專用加速單元減小了某一類或多類負(fù)載的執(zhí)行時間,并且顯著提高了性能功耗比[59-61].邊緣計算平臺通常針對某一類特定的計算場景設(shè)計,處理的負(fù)載類型較為固定,故目前有很多前沿工作針對特定的計算場景設(shè)計邊緣計算平臺的體系結(jié)構(gòu).
ShiDianNao[62]首次提出了將人工智能處理器放置在靠近圖像傳感器的位置,處理器直接從傳感器讀取數(shù)據(jù),避免圖像數(shù)據(jù)在DRAM中的存取帶來的能耗開銷;同時通過共享卷積神經(jīng)網(wǎng)絡(luò)(convo-lutional neural networks, CNNs)權(quán)值的方法,將模型完整放置在SRAM中,避免權(quán)值數(shù)據(jù)在DRAM中的存取帶來的能耗開銷;由于計算能效地大幅度提升(60倍),使其可以被應(yīng)用于移動端設(shè)備.EIE[63]是一個用于稀疏神經(jīng)網(wǎng)絡(luò)的高效推理引擎,其通過稀疏矩陣的并行化以及權(quán)值共享的方法加速稀疏神經(jīng)網(wǎng)絡(luò)在移動設(shè)備的執(zhí)行能效.Phi-Stack[64]則提出了針對邊緣計算的一整套技術(shù)棧,其中針對物聯(lián)網(wǎng)設(shè)備設(shè)計的PhiPU,使用異構(gòu)多核的結(jié)構(gòu)并行處理深度學(xué)習(xí)任務(wù)和普通的計算任務(wù)(實時操作系統(tǒng)).In-Situ AI[65]是一個用于物聯(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[66]通過FPGA提高了稀疏長短時記憶網(wǎng)絡(luò)(long short term memory network, LSTM)在移動設(shè)備上的執(zhí)行能效,用于加速語音識別應(yīng)用.其通過負(fù)載平衡感知的方法對LSTM進(jìn)行剪枝壓縮,并保證硬件的高利用率,同時在多個硬件計算單元中調(diào)度LSTM數(shù)據(jù)流;其使用Xilinx XCKU060 FPGA進(jìn)行硬件設(shè)計實現(xiàn),與CPU和GPU相比,其分別實現(xiàn)了40倍和11.5倍的能效提升.Biookaghazadeh等人通過對比FPGA和GPU在運行特定負(fù)載時吞吐量敏感性、結(jié)構(gòu)適應(yīng)性和計算能效等指標(biāo),表明FPGA更加適合邊緣計算場景[67].
針對邊緣計算的計算系統(tǒng)結(jié)構(gòu)設(shè)計仍然是一個新興的領(lǐng)域,仍然具有很多挑戰(zhàn)亟待解決,例如如何高效地管理邊緣計算異構(gòu)硬件、如何對這類的系統(tǒng)結(jié)構(gòu)進(jìn)行公平及全面的評測等.在第三屆邊緣計算會議(SEC 2018)上首次設(shè)立了針對邊緣計算體系結(jié)構(gòu)的Workshop:ArchEdge,鼓勵學(xué)術(shù)界和工業(yè)界對此領(lǐng)域進(jìn)行探討和交流.
邊緣計算操作系統(tǒng)向下需要管理異構(gòu)的計算資源,向上需要處理大量的異構(gòu)數(shù)據(jù)以及多用的應(yīng)用負(fù)載,其需要負(fù)責(zé)將復(fù)雜的計算任務(wù)在邊緣計算節(jié)點上部署、調(diào)度及遷移,從而保證計算任務(wù)的可靠性以及資源的最大化利用.與傳統(tǒng)的物聯(lián)網(wǎng)設(shè)備上的實時操作系統(tǒng)Contiki[68]和FreeRTOS[69]不同,邊緣計算操作系統(tǒng)更傾向于對數(shù)據(jù)、計算任務(wù)和計算資源的管理框架.
機器人操作系統(tǒng)(robot operating system, ROS)[70]最開始被設(shè)計用于異構(gòu)機器人機群的消息通信管理,現(xiàn)逐漸發(fā)展成一套開源的機器人開發(fā)及管理工具,提供硬件抽象和驅(qū)動、消息通信標(biāo)準(zhǔn)、軟件包管理等一系列工具,被廣泛應(yīng)用于工業(yè)機器人、自動駕駛車輛即無人機等邊緣計算場景.為解決ROS中的性能問題,社區(qū)在2015年推出ROS2.0[71],其核心為引入數(shù)據(jù)分發(fā)服務(wù)(data distribution service, DDS),解決ROS對主節(jié)點(master node)性能依賴問題,同時DDS提供共享內(nèi)存機制提高節(jié)點間的通信效率.EdgeOSH則是針對智能家居設(shè)計的邊緣操作系統(tǒng)[52],其部署于家庭的邊緣網(wǎng)關(guān)中,通過3層功能抽象連接上層應(yīng)用和下層智能家居硬件,其提出面向多樣的邊緣計算任務(wù),服務(wù)管理層應(yīng)具有差異性(differentiation)、可擴展性(extensibility)、隔離性(isolation)和可靠性(reliability)的需求.Phi-Stack中提出了面向智能家居設(shè)備的邊緣操作系統(tǒng)PhiOS[64],其引入輕量級的REST引擎和LUA解釋器,幫助用戶在家庭邊緣設(shè)備上部署計算任務(wù).OpenVDAP[72]是針對汽車場景設(shè)計的數(shù)據(jù)分析平臺,其提出了面向網(wǎng)聯(lián)車場景的邊緣操作系統(tǒng)EdgeOSv.該操作系統(tǒng)中提供了任務(wù)彈性管理、數(shù)據(jù)共享以及安全和隱私保護(hù)等功能.
根據(jù)目前的研究現(xiàn)狀,ROS以及基于ROS實現(xiàn)的操作系統(tǒng)有可能會成為邊緣計算場景的典型操作系統(tǒng),但其仍然需要經(jīng)過在各種真實計算場景下部署的評測和檢驗.
隨著人工智能的快速發(fā)展,邊緣設(shè)備需要執(zhí)行越來越多的智能算法任務(wù),例如家庭語音助手需要進(jìn)行自然語言理解、智能駕駛汽車需要對街道目標(biāo)檢測和識別、手持翻譯設(shè)備需要翻譯實時語音信息等.在這些任務(wù)中,機器學(xué)習(xí)尤其是深度學(xué)習(xí)算法占有很大的比重,使硬件設(shè)備更好地執(zhí)行以深度學(xué)習(xí)算法為代表的智能任務(wù)是研究的焦點,也是實現(xiàn)邊緣智能的必要條件.而設(shè)計面向邊緣計算場景下的高效的算法執(zhí)行框架是一個重要的方法.目前有許多針對機器學(xué)習(xí)算法特性而設(shè)計的執(zhí)行框架,例如谷歌于2016年發(fā)布的TensorFlow[73]、依賴開源社區(qū)力量發(fā)展的Caffe等[74],但是這些框架更多地運行在云數(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)存占用量和能效.
Table 2 Comparison of Frameworks on Cloud and Edge表2 云數(shù)據(jù)中心和邊緣設(shè)備的算法執(zhí)行框架比較
為了更好地支持邊緣設(shè)備執(zhí)行智能任務(wù),一些專門針對邊緣設(shè)備的算法執(zhí)行框架應(yīng)運而生.2017年,谷歌發(fā)布了用于移動設(shè)備和嵌入式設(shè)備的輕量級解決方案TensorFlow Lite[75],它通過優(yōu)化移動應(yīng)用程序的內(nèi)核、預(yù)先激活和量化內(nèi)核等方法來減少執(zhí)行預(yù)測任務(wù)時的延遲和內(nèi)存占有量.Caffe2[76]是Caffe的更高級版本,它是一個輕量級的執(zhí)行框架,增加了對移動端的支持.此外,PyTorch[77]和MXNet等[78]主流的機器學(xué)習(xí)算法執(zhí)行框架也都開始提供在邊緣設(shè)備上的部署方式.
Zhang等人[79]對TensorFlow,Caffe2,MXNet,PyTorch和TensorFlow Lite等在不同的邊緣設(shè)備(MacBook Pro,Intel FogNode,NVIDIA Jetson TX2,Raspberry Pi 3 Model B+,Huawei Nexus 6P)上的性能從延遲、內(nèi)存占用量和能效等方面進(jìn)行了對比和分析,最后發(fā)現(xiàn)沒有一款框架能夠在所有維度都取得最好的表現(xiàn),因此執(zhí)行框架的性能提升空間比較大.開展針對輕量級的、高效的、可擴展性強的邊緣設(shè)備算法執(zhí)行框架的研究十分重要,也是實現(xiàn)邊緣智能的重要步驟.
邊緣計算場景下,邊緣設(shè)備時刻產(chǎn)生海量數(shù)據(jù),數(shù)據(jù)的來源和類型具有多樣化的特征,這些數(shù)據(jù)包括環(huán)境傳感器采集的時間序列數(shù)據(jù)、攝像頭采集的圖片視頻數(shù)據(jù)、車載LiDAR的點云數(shù)據(jù)等,數(shù)據(jù)大多具有時空屬性.構(gòu)建一個針對邊緣數(shù)據(jù)進(jìn)行管理、分析和共享的平臺十分重要.
以智能網(wǎng)聯(lián)車場景為例,車輛逐漸演變成一個移動的計算平臺,越來越多的車載應(yīng)用也被開發(fā)出來,車輛的各類數(shù)據(jù)也比較多.由Zhang等人提出的OpenVDAP[72]是一個開放的汽車數(shù)據(jù)分析平臺,如圖3所示,OpenVDAP分成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ù),保證一定的用戶體驗是一個重要的研究問題.
Fig. 3 The architecture of OpenVDAP圖3 OpenVDAP架構(gòu)圖
雖然邊緣計算將計算推至靠近用戶的地方,避免了數(shù)據(jù)上傳到云端,降低了隱私數(shù)據(jù)泄露的可能性[80].但是,相較于云計算中心,邊緣計算設(shè)備通常處于靠近用戶側(cè),或者傳輸路徑上,具有更高的潛在可能被攻擊者入侵,因此,邊緣計算節(jié)點自身的安全性仍然是一個不可忽略的問題.邊緣計算節(jié)點的分布式和異構(gòu)型也決定了其難以進(jìn)行統(tǒng)一的管理,從而導(dǎo)致一系列新的安全問題和隱私泄露等問題.作為信息系統(tǒng)的一種計算模式,邊緣計算也存在信息系統(tǒng)普遍存在的共性安全問題,包括:應(yīng)用安全、網(wǎng)絡(luò)安全、信息安全和系統(tǒng)安全等.
在邊緣計算的環(huán)境下,通常仍然可以采用傳統(tǒng)安全方案來進(jìn)行防護(hù),如通過基于密碼學(xué)的方案來進(jìn)行信息安全的保護(hù)、通過訪問控制策略來對越權(quán)訪問等進(jìn)行防護(hù).但是需要注意的是,通常需要對傳統(tǒng)方案進(jìn)行一定的修改,以適應(yīng)邊緣計算的環(huán)境.同時,近些年也有一些新興的安全技術(shù)(如硬件協(xié)助的可信執(zhí)行環(huán)境)可以使用到邊緣計算中,以增強邊緣計算的安全性.此外,使用機器學(xué)習(xí)來增強系統(tǒng)的安全防護(hù)也是一個較好的方案.
可信執(zhí)行環(huán)境(trusted execution environment,TEE)[81-82]是指在設(shè)備上一個獨立于不可信操作系統(tǒng)而存在的可信的、隔離的、獨立的執(zhí)行環(huán)境,為不可信環(huán)境中的隱私數(shù)據(jù)和敏感計算提供了一個安全而機密的空間,而TEE的安全性通常通過硬件相關(guān)的機制來保障.常見的TEE包括Intel軟件防護(hù)擴展[83-85]、Intel管理引擎[86]、x86系統(tǒng)管理模式[87]、AMD內(nèi)存加密技術(shù)[88]、AMD平臺安全處理器[89]和ARM TrustZone技術(shù)[90].通過將應(yīng)用運行于可信執(zhí)行環(huán)境中,并且將使用到的外部存儲進(jìn)行加解密[91],邊緣計算節(jié)點的應(yīng)用,可以在邊緣計算節(jié)點被攻破時,仍然可以保證應(yīng)用及數(shù)據(jù)的安全性.
得益于第2節(jié)的7項核心技術(shù)的發(fā)展,邊緣計算在許多應(yīng)用場景下取得了好的效果.本節(jié)給出已經(jīng)基于邊緣計算模型設(shè)計的6個成功典型應(yīng)用,通過這些應(yīng)用來發(fā)現(xiàn)邊緣計算的研究機遇和挑戰(zhàn),并探討更多的應(yīng)用場景.
公共安全從社會的方方面面,如消防、出行,影響著廣大民眾的生活.隨著智慧城市和平安城市的建設(shè),大量傳感器被安裝到城市的各個角落,提升公共安全.例如武漢的“雪亮工程”建設(shè),計劃到2019年6月底,全市公共安全視頻監(jiān)控總量將達(dá)到150萬個.得益于“雪亮工程”的建設(shè),全市刑事有效警情同比下降27.2%,并為群眾查找走失老人小孩、追回遺失貴重物品等服務(wù)1萬余次[92].隨著共享經(jīng)濟(jì)的興起,各種共享經(jīng)濟(jì)產(chǎn)品落地并得到發(fā)展,如滴滴、Uber和共享單車.然而,這些產(chǎn)品同時也存在大量的公共安全事件.例如順風(fēng)車司機對乘客進(jìn)行騷擾,甚至發(fā)生刑事案件.因此,2018年9月受順風(fēng)車安全事件的影響,滴滴已經(jīng)臨時下線順風(fēng)車業(yè)務(wù)并進(jìn)行整改,首當(dāng)其沖的是在司機端加入服務(wù)時間段的自動錄音功能.然而,想要進(jìn)一步提升安全性,最終還是得依賴于視頻等技術(shù),然而這將導(dǎo)致大量的帶寬需求.按照Uber 2017年的使用情況[93](45 787次/分鐘),假設(shè)將每次駕乘的視頻發(fā)送至云端(每次20分鐘),每天云端將新增9.23 PB的視頻數(shù)據(jù).邊緣計算作為近數(shù)據(jù)源計算,可以大量地降低數(shù)據(jù)帶寬,將可以用來解決公共安全領(lǐng)域視頻數(shù)據(jù)處理的問題[94].
雖然當(dāng)前城市中部署了大量的IP攝像頭,但是大部分?jǐn)z像頭都不具備前置的計算功能,而需要將數(shù)據(jù)傳輸至數(shù)據(jù)中心進(jìn)行處理,或者需要人工的方式來進(jìn)行數(shù)據(jù)篩選.Sun等人提出了一種基于邊緣計算的視頻有用性檢測系統(tǒng)[95],其可以通過在前端或者靠近視頻源的位置,對視頻內(nèi)容進(jìn)行判斷,從而檢測攝像頭故障、內(nèi)容錯誤以及根據(jù)內(nèi)容對視頻質(zhì)量進(jìn)行動態(tài)調(diào)整.Zhang等人受啟發(fā)于安珀警報系統(tǒng),基于邊緣計算技術(shù),開發(fā)了安珀警報助手(Amber alert assistant, A3)[96],其可以自動化地在邊緣設(shè)備上部署視頻分析程序,并與附近的邊緣設(shè)備協(xié)同實時地對視頻進(jìn)行處理,同時和周邊攝像頭進(jìn)行聯(lián)動,以完成綁匪車輛的實時追蹤.
針對滴滴等共享車輛服務(wù)近年發(fā)生的危害公共安全的事件,Liu等人提出了SafeShareRide[97]系統(tǒng),其會在兩者情況下觸發(fā)視頻報警功能——司機駕駛行為異常,如偏離軌道和車內(nèi)發(fā)生爭吵或者口頭呼救.SafeShareRide系統(tǒng)通過將用戶手機作為邊緣端,實時地監(jiān)控車內(nèi)情況和司機情況,做到數(shù)據(jù)的預(yù)先處理,避免了安全時間段內(nèi)的視頻上傳,從而大量地降低了流量的損耗.
以上工作主要針對系統(tǒng)的有效性,更多地關(guān)注民眾安全.而保護(hù)維護(hù)公共安全的人員,如警察、消防員等的安全,也至關(guān)重要.Wu等人提出了一種適用于消防系統(tǒng)的邊緣計算系統(tǒng)[98].其通過在救火車上部署邊緣服務(wù)器,接受消防員配備的紅外攝像頭數(shù)據(jù)和各種傳感器數(shù)據(jù)(如室內(nèi)定位系統(tǒng)),實時地處理獲得消防員位置信息和周邊情況,并可視化地展現(xiàn)給現(xiàn)場指揮,同時也推送給遠(yuǎn)程控制中心,以保障消防員的人身安全.
隨著機器視覺、深度學(xué)習(xí)和傳感器等技術(shù)的發(fā)展,汽車的功能不再局限于傳統(tǒng)的出行和運輸工具,而是逐漸變?yōu)橐粋€智能的、互聯(lián)的計算系統(tǒng),我們稱這樣新型的汽車為智能網(wǎng)聯(lián)車(connected and auto-nomous vehicles, CAVs).智能網(wǎng)聯(lián)車的出現(xiàn)催生出了一系列新的應(yīng)用場景,例如自動駕駛[99]、車聯(lián)網(wǎng)[100]以及智能交通[101].Intel在2016年的報告指出[102],一輛自動駕駛車輛一天產(chǎn)生的數(shù)據(jù)為4 TB,這些數(shù)據(jù)無法全部上傳至云端處理,需要在邊緣節(jié)點(汽車)中存儲和計算.
自動駕駛計算場景無疑是目前最熱的研究方向之一,圍繞此場景有經(jīng)典的自動駕駛算法評測數(shù)據(jù)集KITTI[99,103],還有針對不同自動駕駛階段的經(jīng)典的視覺算法[104-106].在工業(yè)界目前有許多針對CAVs場景推出的計算平臺,例如NVIDIA DRIVE PX2[107]和Xilinx Zynq UltraScale+ZCU106[108].同時,學(xué)術(shù)界有許多前沿工作也開始探索CAVs場景下的邊緣計算平臺的系統(tǒng)設(shè)計.Liu等人將自動駕駛分為傳感(sensing)、感知(perception)和決策(decision-making)3個處理階段,并比較3個階段在不同異構(gòu)硬件上的執(zhí)行效果,由此總結(jié)除了自動駕駛?cè)蝿?wù)與執(zhí)行硬件之間的匹配規(guī)則[109].Lin等人對比了感知階段3個核心應(yīng)用,即定位(localization)、識別(detection)和追蹤(tracking)在GPUs,F(xiàn)PGAs和ASICs不同組合運行的時延和功耗,指導(dǎo)研究人員設(shè)計端到端的自動駕駛計算平臺[110].除了硬件系統(tǒng)結(jié)構(gòu)設(shè)計,還有一類研究推出完整的軟件棧幫助研究人員實現(xiàn)自動駕駛系統(tǒng),例如百度的Apollo[111]和日本早稻田大學(xué)的Autoware[112].
如2.6節(jié)所述,OpenVDAP是一個開放的車載數(shù)據(jù)分析平臺,其提供了車載計算平臺、操作系統(tǒng)、函數(shù)庫等全棧的車載數(shù)據(jù)計算服務(wù).除了自動駕駛,OpenVDAP中還總結(jié)了3類智能網(wǎng)聯(lián)車應(yīng)用中的典型計算場景,分別是實時診斷、車載娛樂和第三方應(yīng)用.前2個計算場景目前主要被工業(yè)界所關(guān)注,而學(xué)術(shù)界有很多在車載第三方應(yīng)用中使用邊緣計算技術(shù)的研究工作,例如利用車上設(shè)備實時檢測異常駕駛行為[113],根據(jù)司機行為判斷司機身份的PreDriveID[114],通過分析車輛行駛行為數(shù)據(jù)、車內(nèi)音頻數(shù)據(jù)和手機攝像頭數(shù)據(jù)保證出租車內(nèi)司機和乘客安全的SafeShareRide等[97].
虛擬現(xiàn)實(virtual reality, VR)和增強現(xiàn)實(augment reality, AR)技術(shù)的出現(xiàn)徹底改變了用戶與虛擬世界的交互方式.為保證用戶體驗,VR/AR的圖片渲染需要具有很強的實時性.研究表明:將VR/AR的計算任務(wù)卸載到邊緣服務(wù)器或移動設(shè)備,可以降低平均處理時延[115].MUVR[116]是一個在邊緣服務(wù)器上支持多用戶VR程序的處理框架,其將VR圖像渲染卸載到邊緣服務(wù)器,并嘗試重用用戶之前的VR圖像幀,以降低邊緣服務(wù)器的計算和通信負(fù)擔(dān).Furion[117]是一個移動端VR框架,其將VR負(fù)載分為前景交互和背景環(huán)境2種,前景交互依然在云端處理,而背景環(huán)境渲染卸載到移動端處理,由此實現(xiàn)移動設(shè)備上的高質(zhì)量的VR應(yīng)用.Ha等人設(shè)計了一個基于VR與邊緣計算的可穿戴認(rèn)知助手,Google Glass用于數(shù)據(jù)收集和接受及顯示VR圖像;圖片渲染、人臉識別等計算任務(wù)在Cloudlet(邊緣節(jié)點)中執(zhí)行,有效地解決了可穿戴設(shè)備電池容量以及處理能力有限的問題[118].
工業(yè)互聯(lián)網(wǎng)是機器、計算機和人員使用業(yè)務(wù)轉(zhuǎn)型所取得的先進(jìn)的數(shù)據(jù)分析成果來實現(xiàn)智能化的工業(yè)操作.但是在工業(yè)物聯(lián)網(wǎng)領(lǐng)域的應(yīng)用實踐中,對于工業(yè)實時控制及邊緣設(shè)備安全隱私的要求較高,并且產(chǎn)生的數(shù)據(jù)需要本地化處理,因此將邊緣計算應(yīng)用于工業(yè)物聯(lián)網(wǎng)成為了行業(yè)發(fā)展的方向.2018年,工業(yè)互聯(lián)網(wǎng)聯(lián)盟(IIC)正式發(fā)布了《工業(yè)物聯(lián)網(wǎng)邊緣計算介紹》白皮書[119],旨在闡述邊緣計算對于工業(yè)物聯(lián)網(wǎng)應(yīng)用的價值,并總結(jié)了工業(yè)互聯(lián)網(wǎng)邊緣計算模型的獨特性和從云到邊緣計算的關(guān)鍵驅(qū)動力.
邊緣計算應(yīng)用于工業(yè)物聯(lián)網(wǎng)有3個優(yōu)勢:
1) 改善性能,工業(yè)生產(chǎn)中常見的報警、分析等應(yīng)用靠近數(shù)據(jù)生產(chǎn)者的地方處理和決策會更快,通過減少與云數(shù)據(jù)中心的通信可以增加邊緣處理的彈性.
2) 保證數(shù)據(jù)安全和隱私,可以避免數(shù)據(jù)傳輸?shù)焦蚕頂?shù)據(jù)中心后數(shù)據(jù)暴露等帶來的安全隱私問題.
3) 減少操作成本,通過在邊緣做計算處理,可以減少邊緣設(shè)備和數(shù)據(jù)中心的數(shù)據(jù)傳輸量和帶寬,從而減少了工業(yè)生產(chǎn)中由網(wǎng)絡(luò)、云數(shù)據(jù)中心計算和存儲帶來的成本.
Chen等人用邊緣計算技術(shù)對薄膜壁焊接的工業(yè)級機器人系統(tǒng)做優(yōu)化[120],設(shè)計了物理資源-邊緣-云的架構(gòu),實驗結(jié)果表明:該系統(tǒng)比基于云計算的傳統(tǒng)系統(tǒng)實時性更好,并且最多可節(jié)省883.38 Kbps的帶寬,滿足了工業(yè)級產(chǎn)品的需求.
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,智能家居系統(tǒng)得到進(jìn)一步的發(fā)展,其利用大量的物聯(lián)網(wǎng)設(shè)備(如溫濕度傳感器、安防系統(tǒng)、照明系統(tǒng))實時監(jiān)控家庭內(nèi)部狀態(tài),接受外部控制命令并最終完成對家居環(huán)境的調(diào)控,以提升家居安全性、便利性、舒適性.Berg Insight的調(diào)查報告顯示[121],歐美和北美洲的智能家居數(shù)據(jù)將在2019年達(dá)到6 800萬.然而,隨著智能家居設(shè)備的越來越多,且這些設(shè)備通常都是異構(gòu)的[122],如何管理這些異構(gòu)設(shè)備將會是一個亟待解決的問題[123],如設(shè)備的命名、數(shù)據(jù)的命名以及設(shè)備的智能化聯(lián)動.并且,由于家庭數(shù)據(jù)的隱私性,用戶并不總是愿意將數(shù)據(jù)上傳至云端進(jìn)行處理,尤其是一些家庭內(nèi)部視頻數(shù)據(jù).而邊緣計算可以將計算(家庭數(shù)據(jù)處理)推送至家庭內(nèi)部網(wǎng)關(guān),減少家庭數(shù)據(jù)的外流,從而降低數(shù)據(jù)外泄的可能性,提升系統(tǒng)的隱私性.
工業(yè)界的一些企業(yè)已經(jīng)注意到這一點,例如亞馬遜的Echo、三星的SmartThings和谷歌的Google Home,均可作為智能家居的控制中心.然而,這些設(shè)備,仍然需要一些額外的網(wǎng)絡(luò)服務(wù),如各種識別服務(wù),不能完全依靠自身去處理數(shù)據(jù),從而導(dǎo)致仍存在一定的隱私泄露隱患.微軟和蘋果分別提出了HomeOS和HomeKit,其作為智能家居的框架,可以方便用戶對設(shè)備進(jìn)行控制,但是仍然缺少一些具體的工作.開源社區(qū)也建立并維護(hù)了多個智能家居系統(tǒng)[124],在表3中列舉出其中功能、文檔較為完備的3個系統(tǒng)并進(jìn)行對比.
與此同時,學(xué)術(shù)界也有大量的學(xué)者根據(jù)邊緣計算的思想在建設(shè)智能家居系統(tǒng).曹杰等人提出了一個適用于智能家居的邊緣計算操作系統(tǒng)(edge operating system for home, EdgeOSH)[52].受啟發(fā)于邊緣計算,作者在家庭中設(shè)置邊緣服務(wù)器,并提出了EdgeOSH的工作,利用EdgeOSH在網(wǎng)絡(luò)邊緣側(cè)對家庭數(shù)據(jù)進(jìn)行處理.EdgeOSH包含多個模塊:通信模塊負(fù)責(zé)智能家居設(shè)備互聯(lián)的,其適配多種智能家居中常用的協(xié)議;數(shù)據(jù)管理模塊管理所有家庭數(shù)據(jù),對數(shù)據(jù)進(jìn)行融合和處理;自管理模塊提供設(shè)備的管理以及智能家居服務(wù)間的管理,以期提供智能化的家居環(huán)境.作者認(rèn)為命名(naming)和編程接口是智能家居發(fā)展中的幾個較為關(guān)鍵的問題.因此,作者提供了編程接口以方便開發(fā)者在其上進(jìn)行開發(fā).同時,命名服務(wù)和其他模塊進(jìn)行合作,對資源進(jìn)行統(tǒng)一的命名,提供方便地管理.
Table 3 The Comparison of Smart Home Systems表3 開源智能家居系統(tǒng)比較
與EdgeOSH一樣,中國科學(xué)院計算技術(shù)研究所的徐志偉研究員團(tuán)隊也一樣認(rèn)為,編程接口在智能家居等物聯(lián)網(wǎng)設(shè)備中的應(yīng)用較為重要.該團(tuán)隊拓展RESTful設(shè)計風(fēng)格,將其引入物聯(lián)網(wǎng)設(shè)備中[128].通過RESTful風(fēng)格的接口,即使是外部用戶也可以方便地訪問智能家居設(shè)備,從而拉近了智能家居系統(tǒng)和傳統(tǒng)網(wǎng)絡(luò)的距離.同時在智能家居邊緣側(cè),其利用非侵入式負(fù)荷監(jiān)測(non-intrusive load monitoring, NILM)技術(shù)[129-130],關(guān)注于家庭的用電狀況,并分析用電情況,提供更高效的節(jié)能方案.
智慧城市是利用先進(jìn)的信息技術(shù),實現(xiàn)城市智慧式的管理和運行.2016年阿里云提出了“城市大腦”的概念[131],實質(zhì)是利用城市的數(shù)據(jù)資源來更好地管理城市,2017年10月Alphabet旗下城市創(chuàng)新部門Sidewalk Labs建造名為Quayside的高科技新區(qū)[132],并希望該智慧城市項目能夠成為全球可持續(xù)和互聯(lián)城市的典范.然而,智慧城市的建設(shè)所依賴的數(shù)據(jù)具有來源多樣化和異構(gòu)性的特點,同時涉及城市居民隱私和安全的問題,因此應(yīng)用邊緣計算模型,將數(shù)據(jù)在網(wǎng)絡(luò)邊緣處理是一個很好的解決方案.
目前邊緣計算已經(jīng)得到了各行各業(yè)的廣泛重視,并且在很多應(yīng)用場景下開花結(jié)果.根據(jù)邊緣計算領(lǐng)域特定的特點,本文認(rèn)為6個方向是未來幾年迫切需要解決的問題:編程模型、軟硬件選型、基準(zhǔn)程序與標(biāo)準(zhǔn)、動態(tài)調(diào)度、與垂直行業(yè)的緊密結(jié)合以及邊緣節(jié)點的落地.
編程模型可以使開發(fā)者快速上手開發(fā)應(yīng)用產(chǎn)品,從而快速推動領(lǐng)域的發(fā)展.在云計算場景中,用戶程序在目標(biāo)平臺上編寫和編譯,然后運行到云服務(wù)器,基礎(chǔ)設(shè)施對于用戶是透明的.例如亞馬遜基于此編程模型推出的Lambda計算服務(wù)[133],可使用戶無需預(yù)配置或者管理服務(wù)器即可運行代碼,極大地方便了用戶的使用.然而,邊緣計算模型與云計算模型存在較大的區(qū)別,從功能角度講,邊緣計算是一種分布式的計算系統(tǒng),具有彈性管理、協(xié)同執(zhí)行和環(huán)境異構(gòu)的特點,如圖4所示:
Fig. 4 The edge computing model圖4 邊緣計算模型
從圖4可知,邊緣計算包含3個關(guān)鍵內(nèi)容:
1) 應(yīng)用程序/服務(wù)功能可分割.邊緣計算中的一個任務(wù)可以分成若干個子任務(wù)并且任務(wù)功能可以遷移到不同的邊緣設(shè)備去執(zhí)行.任務(wù)可分割包括僅能分割其自身或?qū)⒁粋€任務(wù)分割成子任務(wù),任務(wù)的執(zhí)行需要滿足可遷移性,即任務(wù)可遷移是實現(xiàn)在邊緣設(shè)備上進(jìn)行數(shù)據(jù)處理的必要條件.
2) 數(shù)據(jù)可分布.數(shù)據(jù)可分布既是邊緣計算的特征也是邊緣計算模型對待處理數(shù)據(jù)集合的要求.邊緣數(shù)據(jù)的可分布性是針對不同數(shù)據(jù)源而言的,不同數(shù)據(jù)源來源于數(shù)據(jù)生產(chǎn)者所產(chǎn)生的大量數(shù)據(jù).
3) 資源可分布.邊緣計算模型中的數(shù)據(jù)具有一定的可分布性,從而要求處理數(shù)據(jù)所需要的計算、存儲和通信資源也具有可分布性.只有當(dāng)邊緣計算系統(tǒng)具備數(shù)據(jù)處理和計算所需要的資源,邊緣設(shè)備才可以對數(shù)據(jù)進(jìn)行處理.
因此,傳統(tǒng)的編程模型并不適合邊緣計算.邊緣計算中的設(shè)備大多是異構(gòu)計算平臺,每個設(shè)備上的運行時環(huán)境、數(shù)據(jù)也不相同,且邊緣設(shè)備的資源相對受限,在邊緣計算場景下部署用戶應(yīng)用程序會有較大的困難.Li等人[134]針對邊緣設(shè)備資源受限的特性設(shè)計了一種輕量級的編程語言EveryLite,該工作將計算遷移任務(wù)中主體為接口調(diào)用的、時間和空間復(fù)雜度受限的計算任務(wù)稱為微任務(wù)(micro task),EveryLite能夠在物端設(shè)備上處理邊緣計算場景中微任務(wù),經(jīng)過實驗對比可以發(fā)現(xiàn)EveryLite的執(zhí)行時間分別比JerryScript和Lua低77%和74%,編譯后內(nèi)存占用量分別是JerryScript和Lua的18.9%和1.4%.因此,針對邊緣計算場景下的編程模型的研究具有非常大的空間,也十分緊迫.
邊緣計算系統(tǒng)具有碎片化和異構(gòu)性的特點.在硬件層面上,有CPU,GPU,FPGA,ASIC等各類計算單元,即便是基于同一類計算單元,也有不同的整機產(chǎn)品,例如基于英偉達(dá)GPU的邊緣硬件產(chǎn)品,既有計算能力較強的DRIVE PX2,又有計算能力較弱的Jetson TX2;在軟件系統(tǒng)上,針對深度學(xué)習(xí)應(yīng)用,有TensorFlow,Caffe,PyTorch等各類框架.不同的軟硬件及其組合有各自擅長的應(yīng)用場景,這帶來了一個問題:開發(fā)者不知道如何選用合適的軟硬件產(chǎn)品以滿足自身應(yīng)用的需求.
在軟硬件選型時,既要對自身應(yīng)用的計算特性做深入了解,從而找到計算能力滿足應(yīng)用需求的硬件產(chǎn)品,又要找到合適的軟件框架進(jìn)行開發(fā),同時還要考慮到硬件的功耗和成本在可接受范圍內(nèi).因此,設(shè)計并實現(xiàn)一套能夠幫助用戶對邊緣計算平臺進(jìn)行性能、功耗分析并提供軟硬件選型參考的工具十分重要.
隨著邊緣計算的發(fā)展,學(xué)術(shù)界和工業(yè)界開始推出越來越多的針對不同邊緣計算場景設(shè)計的硬件或軟件系統(tǒng)平臺,那么我們會面臨一個緊迫的問題,即如何對這些系統(tǒng)平臺進(jìn)行全面并公平的評測.傳統(tǒng)的計算場景都有經(jīng)典基準(zhǔn)測試集(benchmark),例如并行計算場景中的PARSEC[135]、高性能計算場景中的HPCC[136]、大數(shù)據(jù)計算場景中的BigDataBench[137].
由于邊緣計算仍然是較新的計算場景,業(yè)界仍然沒有一個比較權(quán)威的用于評測系統(tǒng)性能的Benchmark出現(xiàn),但是學(xué)術(shù)界已經(jīng)開始有了一些探索工作.SD-VBS[138]和MEVBench[139]均是針對移動端設(shè)備評測基于機器視覺負(fù)載的基準(zhǔn)測試集.SD-VBS選取了28個機器視覺核心負(fù)載,并提供了C和Matlab的實現(xiàn);MEVBench則提供了一些列特征提取、特征分類、物體檢測和物體追蹤相關(guān)的視覺算法負(fù)責(zé),并提供單線程核多線程的C++實現(xiàn).SLAMBench[140]是一個針對移動端機器人計算系統(tǒng)設(shè)計的基準(zhǔn)測試集,其使用RGB-D SLAM作為評測負(fù)載,并且針對不同異構(gòu)硬件提供C++,OpenMP,OpenCL和CUDA版本的實現(xiàn).CAVBench[141]是第1個針對智能網(wǎng)聯(lián)車邊緣計算系統(tǒng)設(shè)計的基準(zhǔn)測試集,其選擇6個智能網(wǎng)聯(lián)車上的典型應(yīng)用作為評測負(fù)責(zé),并提供標(biāo)準(zhǔn)的輸入數(shù)據(jù)集和應(yīng)用-系統(tǒng)匹配指標(biāo).
由于邊緣計算場景覆蓋面廣,短期來看不會出現(xiàn)一個統(tǒng)一的基準(zhǔn)測試集可以適應(yīng)所有場景下的邊緣計算平臺,而是針對每一類計算場景會出現(xiàn)一個經(jīng)典的基準(zhǔn)測試集,之后各個基準(zhǔn)測試集互相融合借鑒,找出邊緣計算場景下的若干類核心負(fù)載,最終形成邊緣計算場景中的經(jīng)典基準(zhǔn)測試集.
在云計算場景下,任務(wù)調(diào)度的一般策略是將計算密集型任務(wù)遷移到資源充足的計算節(jié)點上執(zhí)行.但是在邊緣計算場景下,邊緣設(shè)備產(chǎn)生的海量數(shù)據(jù)無法通過現(xiàn)有的帶寬資源傳輸?shù)皆朴嬎阒行倪M(jìn)行集中式計算,且不同邊緣設(shè)備的計算、存儲能力均不相同,因此,邊緣計算系統(tǒng)需要根據(jù)任務(wù)類型和邊緣設(shè)備的計算能力進(jìn)行動態(tài)調(diào)度.調(diào)度包括2個層面:1)云計算中心和邊緣設(shè)備之前的調(diào)度;2)邊緣設(shè)備之間的調(diào)度.
云計算中心與邊緣設(shè)備間的調(diào)度分為2種方式:自下而上和自上而下.自下而上是在網(wǎng)絡(luò)邊緣處將邊緣設(shè)備采集或者產(chǎn)生的數(shù)據(jù)進(jìn)行部分或者全部的預(yù)處理,過濾無用數(shù)據(jù),以此降低傳輸帶寬;自上而下是指將云計算中心所執(zhí)行的復(fù)雜計算任務(wù)進(jìn)行分割,然后分配給邊緣設(shè)備執(zhí)行,以此充分利用邊緣設(shè)備的計算資源,減少整個計算系統(tǒng)的延遲和能耗.2017年,Kang等人[142]設(shè)計了一個輕量級的調(diào)度器Neurosurgeon,它可以將深度神經(jīng)網(wǎng)絡(luò)不同層的計算任務(wù)在移動設(shè)備和數(shù)據(jù)中心間自動分配,使得移動設(shè)備功耗最多降低了94.7%,系統(tǒng)延遲最多加快了40.7倍,并且數(shù)據(jù)中心的吞吐量最多增加了6.7倍.邊緣設(shè)備間也需要動態(tài)調(diào)度.邊緣設(shè)備的計算、存儲能力本身是不同的,并且會隨著時間的變化而變化,而它們承擔(dān)的任務(wù)類型也是不一樣的,因此需要動態(tài)調(diào)度邊緣設(shè)備上的任務(wù),提高整體系統(tǒng)性能,防止出現(xiàn)計算任務(wù)調(diào)度到一個系統(tǒng)任務(wù)過載情況下的設(shè)備.Zhang等人[143]針對延遲敏感性的社會感知任務(wù)設(shè)計了一個邊緣任務(wù)調(diào)度框架CoGTA,實驗證明該框架可以滿足應(yīng)用和邊緣設(shè)備的需求.
綜上所述,動態(tài)調(diào)度的目標(biāo)是為應(yīng)用程序調(diào)度邊緣設(shè)備上的計算資源,以實現(xiàn)數(shù)據(jù)傳輸開銷最小化和應(yīng)用程序執(zhí)行性能的最大化.設(shè)計調(diào)度程序時應(yīng)該考慮:任務(wù)是否可拆分可調(diào)度、調(diào)度應(yīng)該采取什么策略、哪些任務(wù)需要調(diào)度等.動態(tài)調(diào)度需要在邊緣設(shè)備能耗、計算延時、傳輸數(shù)據(jù)量、帶寬等指標(biāo)之間尋找最優(yōu)平衡.根據(jù)目前的工作,如何設(shè)計和實現(xiàn)一種有效降低邊緣設(shè)備任務(wù)執(zhí)行延遲的動態(tài)調(diào)度策略是一個急需解決的問題.
在云計算場景下,不同行業(yè)的用戶都可將數(shù)據(jù)傳送至云計算中心,然后交由計算機從業(yè)人員進(jìn)行數(shù)據(jù)的存儲、管理和分析.云計算中心將數(shù)據(jù)抽象并提供訪問接口給用戶,這種模式下計算機從業(yè)人員與用戶行業(yè)解耦和,他們更專注數(shù)據(jù)本身,不需對用戶行業(yè)領(lǐng)域內(nèi)知識做太多了解.
但是在邊緣計算的場景下,邊緣設(shè)備更貼近數(shù)據(jù)生產(chǎn)者,與垂直行業(yè)的關(guān)系更為密切,設(shè)計與實現(xiàn)邊緣計算系統(tǒng)需要大量的領(lǐng)域?qū)I(yè)知識.另一方面,垂直行業(yè)迫切需要利用邊緣計算技術(shù)提高自身的競爭力,卻面臨計算機專業(yè)技術(shù)不足的問題.因此計算機從業(yè)人員必須與垂直行業(yè)緊密合作,才能更好地完成任務(wù),設(shè)計出下沉可用的計算系統(tǒng).在與垂直行業(yè)進(jìn)行合作時,需要著重解決3個問題:
1) 減少與行業(yè)標(biāo)準(zhǔn)間的隔閡.在不同行業(yè)內(nèi)部有經(jīng)過多年積累的經(jīng)驗與標(biāo)準(zhǔn),在邊緣計算系統(tǒng)的設(shè)計中,需要與行業(yè)標(biāo)準(zhǔn)靠近,減少隔閡.例如,在針對自動駕駛汽車的研究中,自動駕駛?cè)蝿?wù)的完成需要使用到智能算法、嵌入式操作系統(tǒng)、車載計算硬件等各類計算機領(lǐng)域知識,這對于計算機從業(yè)人員而言是一個機遇,因此許多互聯(lián)網(wǎng)公司投入資源進(jìn)行研究.然而,若想研制符合行業(yè)標(biāo)準(zhǔn)的汽車,僅應(yīng)用計算機領(lǐng)域知識是完全不夠的,還需要對汽車領(lǐng)域?qū)I(yè)知識有較好的理解,例如汽車動力系統(tǒng)、控制系統(tǒng)等,這就需要與傳統(tǒng)汽車廠商進(jìn)行緊密合作.同樣,在智能制造、工業(yè)物聯(lián)網(wǎng)等領(lǐng)域,同樣需要設(shè)計下沉到領(lǐng)域內(nèi)部、符合行業(yè)標(biāo)準(zhǔn)的邊緣計算系統(tǒng).
2) 完善數(shù)據(jù)保護(hù)和訪問機制.在邊緣計算中,需要與行業(yè)結(jié)合,在實現(xiàn)數(shù)據(jù)隱私保護(hù)的前提下設(shè)計統(tǒng)一、易用的數(shù)據(jù)共享和訪問機制.由于不同行業(yè)具有的特殊性,許多行業(yè)不希望將數(shù)據(jù)上傳至公有云,例如醫(yī)院、公安機構(gòu)等.而邊緣計算的一大優(yōu)勢是數(shù)據(jù)存放在靠近數(shù)據(jù)生產(chǎn)者的邊緣設(shè)備上,從而保證了數(shù)據(jù)隱私.但是這也導(dǎo)致了數(shù)據(jù)存儲空間的多樣性,不利于數(shù)據(jù)共享和訪問.在傳統(tǒng)云計算中,數(shù)據(jù)傳輸?shù)皆贫耍缓笸ㄟ^統(tǒng)一接口進(jìn)行訪問,極大地方便了用戶的使用.邊緣計算需要借助這種優(yōu)勢來設(shè)計數(shù)據(jù)防護(hù)和訪問機制.
3) 提高互操作性.邊緣計算系統(tǒng)的設(shè)計需要易于結(jié)合行業(yè)內(nèi)現(xiàn)有的系統(tǒng),考慮到行業(yè)現(xiàn)狀并進(jìn)行利用,不要與現(xiàn)實脫節(jié).例如在視頻監(jiān)控系統(tǒng)中,除了近些年出現(xiàn)的智能計算功能的攝像頭,現(xiàn)實中仍然有大量的非智能攝像頭,其每天仍然在采集大量的視頻數(shù)據(jù),并將數(shù)據(jù)傳輸至數(shù)據(jù)中心.學(xué)術(shù)界設(shè)計了A3[113]系統(tǒng),它利用了商店或者加油站中已有的計算設(shè)備.然而實際情況下,攝像頭周邊并不存在計算設(shè)備.因此,在邊緣計算的研究中需要首先考慮如何部署在非智能的攝像頭附近部署邊緣計算設(shè)備.在目前的解決方案中,多是采用建立更多的數(shù)據(jù)中心或AI一體機來進(jìn)行處理,或者采用一些移動的設(shè)備,如各種單兵作戰(zhàn)設(shè)備,來進(jìn)行數(shù)據(jù)的采集.前者耗費巨大,且從本質(zhì)來說,仍然是云計算的模式;后者通常使用于移動情況下,僅作為臨時的計算中心,無法和云端進(jìn)行交互.在視頻監(jiān)控領(lǐng)域,Luo等人提出了一個尚屬于前期探討的EdgeBox方案[144],其同時具備計算能力和通信能力,可以作為中間件插入到攝像頭和數(shù)據(jù)中心之間,完成數(shù)據(jù)的預(yù)處理.因此,如何與垂直行業(yè)緊密合作,設(shè)計出下沉可用的邊緣計算系統(tǒng),實現(xiàn)計算機與不同行業(yè)間的雙贏是邊緣計算面臨的一個緊迫問題.
邊緣計算的發(fā)展引起了工業(yè)界的廣泛關(guān)注,但是在實際邊緣節(jié)點的落地部署過程中,也涌現(xiàn)出一些急需解決的問題,例如應(yīng)該如何建立適用于邊緣計算的商業(yè)模式、如何選擇參與計算的邊緣節(jié)點和邊緣計算數(shù)據(jù)、如何保證邊緣節(jié)點的可靠性等.
1)新型商業(yè)模式.在云計算場景下,云計算公司是計算服務(wù)的提供者,它們收集、存儲、管理數(shù)據(jù)并且負(fù)責(zé)軟硬件、基礎(chǔ)設(shè)施的建設(shè)和維護(hù),用戶付費購買服務(wù),不需要關(guān)注計算節(jié)點本身的成本,也無需關(guān)注服務(wù)質(zhì)量的升級換代過程.這種商業(yè)模式為用戶使用云服務(wù)帶來了便利,也讓云計算公司具備盈利能力,從而更好地提高服務(wù)質(zhì)量.
而在邊緣計算場景下,邊緣節(jié)點分布在靠近數(shù)據(jù)生產(chǎn)者的位置,在地理位置上具有較強的離散性,這使得邊緣節(jié)點的統(tǒng)一性維護(hù)變得困難,同時也給軟硬件升級帶來了難度.例如提供安全服務(wù)的攝像頭,在使用過程中需要進(jìn)行軟硬件的升級,軟件的升級可以通過網(wǎng)絡(luò)統(tǒng)一進(jìn)行,而硬件的升級需要親臨現(xiàn)場.依賴于服務(wù)提供者去為每一個邊緣節(jié)點(攝像頭)進(jìn)行硬件的升級和維護(hù)會帶來巨大的成本開銷,而服務(wù)的使用者一般不關(guān)注也不熟悉硬件設(shè)備的維護(hù)工作.又如,在CDN服務(wù)的應(yīng)用中,需要考慮CDN服務(wù)器是以家庭為單位還是以園區(qū)為單位配置,不同的配置方式會帶來成本的變化,也為服務(wù)質(zhì)量的穩(wěn)定性增加了不確定因素,而維護(hù)CDN所需的開銷,需要考慮支付者是服務(wù)提供者還是使用者.
因此工業(yè)界需要尋求一種或多種新的商業(yè)模式來明確邊緣計算服務(wù)的提供者和使用者各自應(yīng)該承擔(dān)什么責(zé)任,例如誰來支付邊緣節(jié)點建立和維護(hù)所需的費用、誰來主導(dǎo)軟硬件升級的過程等.
2) 邊緣節(jié)點的選擇.邊緣計算是一個連續(xù)統(tǒng),邊緣指從數(shù)據(jù)源到云計算中心路徑之間的任意計算和網(wǎng)絡(luò)資源[5].在實際應(yīng)用中,用戶可以選擇云到端整個鏈路上任意的邊緣節(jié)點來降低延遲和帶寬.由于邊緣節(jié)點的計算能力、網(wǎng)絡(luò)帶寬的差異性,不同邊緣節(jié)點的選擇會導(dǎo)致計算延遲差異很大.現(xiàn)有的基礎(chǔ)設(shè)施可以用作邊緣節(jié)點,例如使用手持設(shè)備訪問進(jìn)行通信時,首先連接運營商基站,然后訪問主干網(wǎng)絡(luò).這種以現(xiàn)有基礎(chǔ)設(shè)施當(dāng)做邊緣節(jié)點的方式會加大延遲,如果手持設(shè)備能夠繞過基站,直接訪問主干網(wǎng)絡(luò)的邊緣節(jié)點,將會降低延遲.因此,如何選擇合適的邊緣節(jié)點以降低通信延遲和計算開銷是一個重要的問題.在此過程中,需要考慮現(xiàn)有的基礎(chǔ)設(shè)施如何與邊緣節(jié)點融合,邊緣計算技術(shù)會不會構(gòu)建一個新興的生態(tài)環(huán)境,給現(xiàn)有的基礎(chǔ)設(shè)施發(fā)生革命性的變化?
3) 邊緣數(shù)據(jù)選擇.邊緣節(jié)點眾多,產(chǎn)生的數(shù)據(jù)數(shù)量和類型也眾多,這些數(shù)據(jù)間互有交集,針對一個問題往往有多個可供選擇的解決方案.例如在路況實時監(jiān)控應(yīng)用中,既可以利用車上攝像頭獲得數(shù)據(jù),也可以利用交通信號燈的實時數(shù)據(jù)統(tǒng)計,還可以利用路邊計算單元進(jìn)行車速計算.因此如何為特定應(yīng)用合理地選擇不同數(shù)據(jù)源的數(shù)據(jù),以最大程度地降低延遲和帶寬,提高服務(wù)的可用性是一個重要問題.
4) 邊緣節(jié)點的可靠性.邊緣計算中的數(shù)據(jù)存儲和計算任務(wù)大多數(shù)依賴于邊緣節(jié)點,不像云計算中心有穩(wěn)定的基礎(chǔ)設(shè)施保護(hù),許多邊緣節(jié)點暴露于自然環(huán)境下,保證邊緣節(jié)點的可靠性非常重要.例如,基于計算機視覺的公共安全解決方案需要依賴智能攝像頭進(jìn)行存儲和計算,然而在極端天氣條件下,攝像頭容易在物理上收到損害,例如暴風(fēng)天氣會改變攝像頭的角度,暴雪天氣會影響攝像頭的視覺范圍,在此類場景中,需要借助基礎(chǔ)設(shè)施的配合來保證邊緣節(jié)點的物理可靠性.同時,邊緣數(shù)據(jù)有時空特性,從而導(dǎo)致數(shù)據(jù)有較強的唯一性和不可恢復(fù)性,需要設(shè)計合理的多重備份機制來保證邊緣節(jié)點的數(shù)據(jù)可靠性.因此,如何借助基礎(chǔ)設(shè)施來保障邊緣計算節(jié)點的物理可靠性和數(shù)據(jù)可靠性是一個重要的研究課題.
在邊緣節(jié)點落地過程中,已經(jīng)有了不少嘗試,例如聯(lián)通提出了建設(shè)邊緣云,其規(guī)劃至2020年建設(shè)6 000~7 000個邊緣節(jié)點,將高帶寬、低時延、本地化業(yè)務(wù)下沉到網(wǎng)絡(luò)邊緣,進(jìn)一步提高網(wǎng)絡(luò)效率、增強服務(wù)能力.因此針對如何選擇邊緣節(jié)點,處理好邊緣節(jié)點與現(xiàn)有基礎(chǔ)設(shè)施的關(guān)系,保證邊緣節(jié)點的可靠性的研究非常緊迫.
邊緣計算經(jīng)過近幾年的技術(shù)儲備,已經(jīng)得到了來自國內(nèi)外政府、學(xué)術(shù)界和工業(yè)界的廣泛重視和一致認(rèn)可,現(xiàn)在到了全面開花結(jié)果并帶來經(jīng)濟(jì)效益的時候.得益于網(wǎng)絡(luò)、隔離技術(shù)、體系結(jié)構(gòu)、操作系統(tǒng)、算法執(zhí)行框架、數(shù)據(jù)處理平臺以及安全隱私這7個關(guān)鍵技術(shù)的快速發(fā)展,邊緣計算技術(shù)已經(jīng)走向成熟,并在許多應(yīng)用場景下發(fā)揮作用.
本文總結(jié)了邊緣計算的6個典型應(yīng)用場景,發(fā)現(xiàn)邊緣計算目前已經(jīng)在公共安全中的實時數(shù)據(jù)處理和自動駕駛中取得了成功的經(jīng)驗,并迅速擴展到虛擬現(xiàn)實、智能家居等場景,本文相信在未來幾年我們將會看到邊緣計算在工業(yè)物聯(lián)網(wǎng)和智慧城市等領(lǐng)域取得更多成功的例子,為產(chǎn)業(yè)升級提供助力.
為了能夠在更多應(yīng)用場景中取得成功,本文還提出了邊緣計算現(xiàn)在發(fā)展面臨的緊迫問題,包括編程模型、軟硬件選型、基準(zhǔn)程序與標(biāo)準(zhǔn)、動態(tài)調(diào)度、與垂直行業(yè)的緊密結(jié)合以及邊緣節(jié)點的落地問題.邊緣計算具有與垂直行業(yè)結(jié)合緊密的特點,如果能夠相互配合,設(shè)計出下沉可用的邊緣計算系統(tǒng),將會實現(xiàn)計算機行業(yè)與各行各業(yè)間的雙贏.
邊緣計算自正式提出以來不過短短幾年,就已經(jīng)取得了爆發(fā)性的增長,本文相信:按照這個趨勢繼續(xù)進(jìn)行下去,邊緣計算將產(chǎn)生更大的外溢效果,成為各行各業(yè)的粘合劑和智能產(chǎn)業(yè)發(fā)展的催化劑,促進(jìn)整個工業(yè)體系的升級轉(zhuǎn)型.
致謝作者感謝《計算機研究與發(fā)展》編輯部的邀請來為慶刊60周年撰寫這篇論文.感謝騰訊公司黃世飛與作者就邊緣計算落地問題的討論!