?

邊緣計算:現狀與展望

2019-02-20 03:34施巍松張星洲王一帆張慶陽
計算機研究與發展 2019年1期
關鍵詞:邊緣節點設備

施巍松 張星洲 王一帆 張慶陽

1(韋恩州立大學計算機科學系 美國密歇根州底特律 48202)2(中國科學院計算技術研究所 北京 100190)3(中國科學院大學 北京 100190)4(安徽大學計算機科學與技術學院 合肥 230601)

近年來,隨著萬物互聯時代的快速到來和無線網絡的普及,網絡邊緣的設備數量和產生的數據都快速增長.根據IDC預測[1],到2020年全球數據總量將大于40澤字節(zettabyte, ZB),而物聯網產生數據的45%都將在網絡邊緣處理.在這種情形下,以云計算模型為核心的集中式處理模式將無法高效處理邊緣設備產生的數據.集中式處理模型將所有數據通過網絡傳輸到云計算中心,利用云計算中心超強的計算能力來集中式解決計算和存儲問題,這使得云服務能夠創造出較高的經濟效益.但是在萬物互聯的背景下,傳統云計算有4個不足:

1) 實時性不夠.萬物互聯場景下應用對于實時性的要求極高.傳統云計算模型下,應用將數據傳送到云計算中心,再請求數據處理結果,增大了系統延遲.以無人駕駛汽車應用為例,高速行駛的汽車需要毫秒級的反應時間,一旦由于網絡問題而加大系統延遲,將會造成嚴重后果.

2) 帶寬不足.邊緣設備實時產生大量數據,將全部數據傳輸至云端造成了網絡帶寬的很大壓力.例如,波音787每秒產生的數據超過5GB[2],但飛機與衛星之間的帶寬不足以支持實時傳輸.

3) 能耗較大.數據中心消耗了極多的能源,根據Sverdlik的研究[3],到2020年美國所有數據中心能耗將增長4%,達到730億千瓦時,我國數據中心所消耗的電能也已經超過了匈牙利和希臘兩國用電總和.隨著用戶應用程序越來越多,處理的數據量越來越大,能耗將會成為限制云計算中心發展的瓶頸.

4) 不利于數據安全和隱私.萬物互聯中的數據與用戶生活聯系極為緊密,例如,許多家庭安裝室內智能網絡攝像頭,視頻數據傳輸到云端,會增加泄露用戶隱私的風險.隨著歐盟“通用數據保護條例”(GDPR)[4]的生效,數據安全和隱私問題對于云計算公司來說變得更加重要.

為了解決以上問題,面向邊緣設備所產生海量數據計算的邊緣計算模型應運而生.邊緣計算是在網絡邊緣執行計算的一種新型計算模型[5-6],邊緣計算操作的對象包括來自于云服務的下行數據和來自于萬物互聯服務的上行數據,而邊緣計算的邊緣是指從數據源到云計算中心路徑之間的任意計算和網絡資源,是一個連續統(continuum).邊緣計算模型和云計算模型并不是取代的關系,而是相輔相成的關系,邊緣計算需要云計算中心強大的計算能力和海量存儲的支持,而云計算中心也需要邊緣計算中邊緣設備對海量數據及隱私數據的處理.

邊緣計算模型具有3個明顯的優點:

1) 在網絡邊緣處理大量臨時數據,不再全部上傳云端,這極大地減輕了網絡帶寬和數據中心功耗的壓力;

2) 在靠近數據生產者處做數據處理,不需要通過網絡請求云計算中心的響應,大大減少了系統延遲,增強了服務響應能力;

3) 邊緣計算將用戶隱私數據不再上傳,而是存儲在網絡邊緣設備上,減少了網絡數據泄露的風險,保護了用戶數據安全和隱私.

得益于這些優勢,邊緣計算近年來得到了迅速發展,本文首先梳理了邊緣計算的發展歷程,將其歸納為技術儲備期、快速增長期和穩健發展期3個階段,并列舉了不同階段的典型事件.隨后,本文總結了推動邊緣計算迅速發展的7項關鍵技術,即網絡、隔離技術、體系結構、邊緣操作系統、算法執行框架、數據處理平臺以及安全和隱私.然后提出廣泛采用邊緣計算的6類典型應用:公共安全中實時數據處理、智能網聯車和自動駕駛、虛擬現實、工業物聯網、智能家居和智慧城市.最后,本文提出了邊緣計算在未來發展中需要緊迫解決的6類問題.

1 邊緣計算的發展歷程

本文在谷歌學術上以“edge computing”為關鍵詞進行搜索每年的文章數量,結果如圖1所示.可以看到,2015年以前,邊緣計算處于原始技術積累階段;2015—2017年,邊緣計算開始被業內熟知,與之相關的論文增長了10余倍,得到了飛速發展;2018年邊緣計算開始穩健發展(其中2018年的論文數量根據2018年前9個月的數據推算而來,實際數據有出入).本文依據這一分析結果和對行業發展趨勢的觀察將邊緣計算的發展分為3個階段:技術儲備期、快速增長期和穩定發展期.圖2列舉了邊緣計算發展中的典型事件(粗體字為中國對邊緣計算發展的貢獻).

Fig. 1 Number of papers retrieved by “edge computing” on Google Scholar圖1 谷歌學術上以“edge computing”為關鍵詞搜索到的文章數量

Fig. 2 Development states of edge computing and the typical events at each stage圖2 邊緣計算的發展歷程及典型事件

1.1 技術儲備期

在此階段,邊緣計算歷經“蟄伏—提出—定義—推廣”等發展過程.邊緣計算最早可以追溯至1998年阿卡邁(Akamai)公司提出的內容分發網絡[7](content delivery network, CDN),CDN是一種基于互聯網的緩存網絡,依靠部署在各地的緩存服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,將用戶的訪問指向距離最近的緩存服務器上,以此降低網絡擁塞,提高用戶訪問響應速度和命中率.CDN強調內容(數據)的備份和緩存,而邊緣計算的基本思想則是功能緩存(function cache).2005年美國韋恩州立大學施巍松教授的團隊就已提出功能緩存的概念,并將其用在個性化的郵箱管理服務中,以節省延遲和帶寬[8].2009年Satyanarayanan等人提出了Cloudlet[9]的概念,Cloudlet是一個可信且資源豐富的主機,部署在網絡邊緣,與互聯網連接,可以被移動設備訪問,為其提供服務,Cloudlet可以像云一樣為用戶提供服務,又被稱為“小朵云”.此時的邊緣計算強調下行,即將云服務器上的功能下行至邊緣服務器,以減少帶寬和時延.

隨后,在萬物互聯的背景下,邊緣數據迎來了爆發性增長,為了解決面向數據傳輸、計算和存儲過程中的計算負載和數據傳輸帶寬的問題,研究者開始探索在靠近數據生產者的邊緣增加數據處理的功能,即萬物互聯服務功能的上行.具有代表性的是移動邊緣計算(mobile edge computing, MEC)、霧計算(fog computing)和海云計算(cloud-sea computing).

移動邊緣計算[10]是指在接近移動用戶的無線接入網范圍內,提供信息技術服務和云計算能力的一種新的網絡結構,并已成為一種標準化、規范化的技術.由于移動邊緣計算位于無線接入網內,并接近移動用戶,因此可以實現較低延時、較高帶寬來提高服務質量和用戶體驗.移動邊緣計算強調在云計算中心與邊緣計算設備之間建立邊緣服務器,在邊緣服務器上完成終端數據的計算任務,但移動邊緣終端設備基本被認為不具有計算能力,而邊緣計算模型中的終端設備具有較強的計算能力,因此移動邊緣計算類似一種邊緣計算服務器的架構和層次,作為邊緣計算模型的一部分.思科公司于2012年提出了霧計算[11],并將霧計算定義為遷移云計算中心任務到網絡邊緣設備執行的一種高度虛擬化計算平臺.它通過減少云計算中心和移動用戶之間的通信次數,以緩解主干鏈路的帶寬負載和能耗壓力.霧計算和邊緣計算具有很大的相似性,但是霧計算關注基礎設施之間的分布式資源共享問題,而邊緣計算除了關注基礎設施之外,也關注邊緣設備,包括計算、網絡和存儲資源的管理,以及邊端、邊邊和邊云之間的合作.與此同時,2012年,中國科學院啟動了戰略性先導研究專項,稱之為下一代信息與通信技術倡議(Next Generation Information and Communication Tech-nology initiative, NICT倡議),其主旨是開展“海云計算系統項目”的研究[12],其核心是通過“云計算”系統與“海計算”系統的協同與集成,增強傳統云計算能力,其中,“?!倍酥赣扇祟惐旧?、物理世界的設備和子系統組成的終端.與邊緣計算相比,海云計算關注“?!焙汀霸啤边@兩端,而邊緣計算關注從“?!钡健霸啤睌祿窂街g的任意計算、存儲和網絡資源.

2013年,美國太平洋西北國家實驗室的Ryan LaMothe在一個2頁紙的內部報告中提出“edge computing”一詞,這是現代“edge computing”的首次提出[13].此時,邊緣計算的涵義已經既有云服務功能的下行,還有萬物互聯服務的上行.

1.2 快速增長期

2015—2017年為邊緣計算快速增長期,在這段時間內,由于邊緣計算滿足萬物互聯的需求,引起了國內外學術界和產業界的密切關注.

在政府層面上,2016年5月,美國自然科學基金委(National Science Foundation, NSF)在計算機系統研究中將邊緣計算替換云計算,列為突出領域(highlight area);8月,NSF和英特爾專門討論針對無線邊緣網絡上的信息中心網絡(NSF/Intel partner-ship on ICN in Wireless Edge Networks, ICN-WEN)[14];10月,NSF舉辦邊緣計算重大挑戰研討會(NSF Workshop on Grand Challenges in Edge Computing)[15],會議針對3個議題展開研究:邊緣計算未來5~10年的發展目標,達成目標所帶來的挑戰,學術界、工業界和政府應該如何協同合作來應對挑戰.這標志著邊緣計算的發展已經在美國政府層面上引起了重視.

在學術界,2016年5月,美國韋恩州立大學施巍松教授團隊給出了邊緣計算的一個正式定義[6]:邊緣計算是指在網絡邊緣執行計算的一種新型計算模型,邊緣計算操作的對象包括來自于云服務的下行數據和來自于萬物互聯服務的上行數據,而邊緣計算的邊緣是指從數據源到云計算中心路徑之間的任意計算和網絡資源,是一個連續統.并發表了“Edge Computing: Vision and Challenges”一文,第1次指出了邊緣計算所面臨的挑戰[6],該文在2018年底被他引650次.同年10月,ACM和IEEE開始聯合舉辦邊緣計算頂級會議(ACM/IEEE Symposium on Edge Computing, SEC)[16],這是全球首個以邊緣計算為主題的科研學術會議.自此之后,ICDCS,INFOCOM,MiddleWare,WWW等重要國際會議也開始增加邊緣計算的分會(track)或者專題研討會(workshop).

工業界也在努力推動邊緣計算的發展,2015年9月,歐洲電信標準化協會(ETSI)發表關于移動邊緣計算的白皮書[10],并在2017年3月將移動邊緣計算行業規范工作組正式更名為多接入邊緣計算(multi-access edge computing, MEC)[17],致力于更好地滿足邊緣計算的應用需求和相關標準制定.2015年11月,思科、ARM、戴爾、英特爾、微軟和普林斯頓大學聯合成立了OpenFog聯盟[18],主要致力于Fog Reference Architecture的編寫.為了推進和應用場景在邊緣的結合,該組織于2018年12月并入了工業互聯網聯盟.

國內邊緣計算的發展速度和世界幾乎同步,特別是從智能制造的角度.2016年11月,華為技術有限公司、中國科學院沈陽自動化研究所、中國信息通信研究院、英特爾、ARM等在北京成立了邊緣計算產業聯盟(edge computing consortium)[19],致力于推動“政產學研用”各方產業資源合作,引領邊緣計算產業的健康可持續發展.2017年5月首屆中國邊緣計算技術研討會在合肥開幕,同年8月中國自動化學會邊緣計算專委會成立,標志著邊緣計算的發展已經得到了專業學會的認可和推動.

1.3 穩健發展期

2018年是邊緣計算發展過程中的重要節點,盡管此前業內已經對邊緣計算報以了很大期望,而2018年邊緣計算被推向前臺,開始被大眾熟知.這一階段,邊緣計算的參與者范圍擴大很快,如表1所示,參與者已經基本涵蓋了計算機領域的方方面面,本文將它們分為6類:云計算公司、硬件廠商、CDN公司、通信運營商、科研機構和產業聯盟/開源社區,并在表1中列舉它們近2年在邊緣計算領域的事件.

Table 1 Key Players of Edge Computing and the Current Events表1 邊緣計算主要參與者及其近期事件

邊緣計算在穩健發展期有4個重要事件,2018年1月全球首部邊緣計算專業書籍《邊緣計算》出版[47],它從邊緣計算的需求與意義、系統、應用、平臺等多個角度對邊緣計算進行了闡述.2018年9月17日在上海召開的世界人工智能大會,以“邊緣計算,智能未來”為主題舉辦了邊緣智能主題論壇[48],這是中國從政府層面上對邊緣計算的發展進行了支持和探討.2018年8月兩年一度的全國計算機體系結構學術年會以“由云到端的智能架構”為主題[49],由此可見,學術界的研究焦點已經由云計算開始逐漸轉向邊緣計算.同時,邊緣計算也得到了技術社區的大力支持,具有代表性的是:2018年10月CNCF基金會和Eclipse基金會展開合作,將把在超大規模云計算環境中已被普遍使用的Kubernetes,帶入到物聯網邊緣計算場景中.新成立的Kubernetes物聯網邊緣工作組將采用運行容器的理念并擴展到邊緣,促進Kubernetes在邊緣環境中的適用[46].

本文相信,經過前期的技術儲備和最近幾年的快速增長,邊緣計算將成為學術界和產業界的熱門話題,實現學術界與工業界的融合,加快產品落地,便利大眾生活,步入穩健發展時期.

2 支持邊緣計算的核心技術

計算模型的創新帶來的是技術的升級換代,而邊緣計算的迅速發展也得益于技術的進步.本節總結了推動邊緣計算發展的7項核心技術,它們包括網絡、隔離技術、體系結構、邊緣操作系統、算法執行框架、數據處理平臺以及安全和隱私.

2.1 網 絡

邊緣計算將計算推至靠近數據源的位置,甚至于將整個計算部署于從數據源到云計算中心的傳輸路徑上的節點,這樣的計算部署對現有的網絡結構提出了3個新的要求:

1) 服務發現.在邊緣計算中,由于計算服務請求者的動態性,計算服務請求者如何知道周邊的服務,將是邊緣計算在網絡層面中的一個核心問題.傳統的基于DNS的服務發現機制[50],主要應對服務靜態或者服務地址變化較慢的場景下.當服務變化時,DNS的服務器通常需要一定的時間以完成域名服務的同步,在此期間會造成一定的網絡抖動,因此并不適合大范圍、動態性的邊緣計算場景.

2) 快速配置.在邊緣計算中,由于用戶和計算設備的動態性的增加,如智能網聯車[51],以及計算設備由于用戶開關造成的動態注冊和撤銷[52],服務通常也需要跟著進行遷移,而由此將會導致大量的突發網絡流量.與云計算中心不同,廣域網的網絡情況更為復雜,帶寬可能存在一定的限制.因此,如何從設備層支持服務的快速配置,是邊緣計算中的一個核心問題.

3) 負載均衡.邊緣計算中,邊緣設備產生大量的數據,同時邊緣服務器提供了大量的服務.因此,根據邊緣服務器以及網絡狀況,如何動態地對這些數據進行調度至合適的計算服務提供者,將是邊緣計算中的核心問題.

針對以上3個問題,一種最簡單的方法是,在所有的中間節點上均部署所有的計算服務,然而這將導致大量的冗余,同時也對邊緣計算設備提出了較高的要求.因此,我們以“建立一條從邊緣到云的計算路徑”為例來說,首當其沖面對的就是如何尋找服務,以完成計算路徑的建立.命名數據網絡(named data networking, NDN)[53]是一種將數據和服務進行命名和尋址,以P2P和中心化方式相結合進行自組織的一種數據網絡.而計算鏈路的建立,在一定程度上也是數據的關聯建立,即數據應該從源到云的傳輸關系.因此,將NDN引入邊緣計算中,通過其建立計算服務的命名并關聯數據的流動,從而可以很好地解決計算鏈路中服務發現的問題.

而隨著邊緣計算的興起,尤其是用戶移動的情況下,如車載網絡,計算服務的遷移相較于基于云計算的模式更為頻繁,與之同時也會引起大量的數據遷移,從而對網絡層面提供了動態性的需求.軟件定義網絡(software defined networking, SDN)[54-55],于2006年誕生于美國GENI項目資助的斯坦福大學Clean Slate課題,是一種控制面和數據面分離的可編程網絡,以及簡單網絡管理.由于控制面和數據面分離這一特性,網絡管理者可以較為快速地進行路由器、交換器的配置,減少網絡抖動性,以支持快速的流量遷移,因此可以很好地支持計算服務和數據的遷移.同時,結合NDN和SDN,可以較好地對網絡及其上的服務進行組織,并進行管理,從而可以初步實現計算鏈路的建立和管理問題.

2.2 隔離技術

隔離技術是支撐邊緣計算穩健發展的重要研究技術,邊緣設備需要通過有效的隔離技術來保證服務的可靠性和服務質量.隔離技術需要考慮2方面:1)計算資源的隔離,即應用程序間不能相互干擾;2)數據的隔離,即不同應用程序應具有不同的訪問權限.在云計算場景下,由于某一應用程序的崩潰可能帶來整個系統的不穩定,造成嚴重的后果,而在邊緣計算下,這一情況變得更加復雜.例如在自動駕駛操作系統中,既需要支持車載娛樂滿足用戶需求,又需要同時運行自動駕駛任務滿足汽車本身駕駛需求,此時,如果車載娛樂的任務干擾了自動駕駛任務,或者影響了整個操作系統的性能,將會引起嚴重后果,對生命財產安全造成直接損失.隔離技術同時需要考慮第三方程序對用戶隱私數據的訪問權限問題,例如,車載娛樂程序不應該被允許訪問汽車控制總線數據等.目前在云計算場景下主要使用VM虛擬機和Docker容器技術等方式保證資源隔離.邊緣計算可汲取云計算發展的經驗,研究適合邊緣計算場景下的隔離技術.

在云平臺上普遍應用的Docker技術可以實現應用在基于OS級虛擬化的隔離環境中運行,Docker的存儲驅動程序采用容器內分層鏡像的結構,使得應用程序可以作為一個容器快速打包和發布,從而保證了應用程序間的隔離性.Li等人建立了一個基于Docker遷移的有效服務切換系統[56],利用Docker的分層文件系統支持,提出了一種適合邊緣計算的高效容器遷移策略,以減少包括文件系統、二進制內存映象、檢查點在內的數據傳輸的開銷.Ha等人提出了一種VM切換技術[57],實現虛擬機VM的計算任務遷移,支持快速和透明的資源放置,保證將VM虛擬機封裝在安全性和可管理行要求較高的應用中.這種多功能原語還提供了動態遷移的功能,對邊緣端進行了優化.這種基于VM的隔離技術提高了應用程序的抗干擾性,增加了邊緣計算系統的可用性.

2.3 體系結構

無論是如高性能計算一類傳統的計算場景,還是如邊緣計算一類的新興計算場景,未來的體系結構應該是通用處理器和異構計算硬件并存的模式[58].異構硬件犧牲了部分通用計算能力,使用專用加速單元減小了某一類或多類負載的執行時間,并且顯著提高了性能功耗比[59-61].邊緣計算平臺通常針對某一類特定的計算場景設計,處理的負載類型較為固定,故目前有很多前沿工作針對特定的計算場景設計邊緣計算平臺的體系結構.

ShiDianNao[62]首次提出了將人工智能處理器放置在靠近圖像傳感器的位置,處理器直接從傳感器讀取數據,避免圖像數據在DRAM中的存取帶來的能耗開銷;同時通過共享卷積神經網絡(convo-lutional neural networks, CNNs)權值的方法,將模型完整放置在SRAM中,避免權值數據在DRAM中的存取帶來的能耗開銷;由于計算能效地大幅度提升(60倍),使其可以被應用于移動端設備.EIE[63]是一個用于稀疏神經網絡的高效推理引擎,其通過稀疏矩陣的并行化以及權值共享的方法加速稀疏神經網絡在移動設備的執行能效.Phi-Stack[64]則提出了針對邊緣計算的一整套技術棧,其中針對物聯網設備設計的PhiPU,使用異構多核的結構并行處理深度學習任務和普通的計算任務(實時操作系統).In-Situ AI[65]是一個用于物聯網場景中深度學習應用的自動增量計算框架和架構,其通過數據診斷,選擇最小數據移動的計算模式,將深度學習任務部署到物聯網計算節點.除了專用計算硬件的設計,還有一類工作探索FPGA在邊緣計算場景中的應用.ESE[66]通過FPGA提高了稀疏長短時記憶網絡(long short term memory network, LSTM)在移動設備上的執行能效,用于加速語音識別應用.其通過負載平衡感知的方法對LSTM進行剪枝壓縮,并保證硬件的高利用率,同時在多個硬件計算單元中調度LSTM數據流;其使用Xilinx XCKU060 FPGA進行硬件設計實現,與CPU和GPU相比,其分別實現了40倍和11.5倍的能效提升.Biookaghazadeh等人通過對比FPGA和GPU在運行特定負載時吞吐量敏感性、結構適應性和計算能效等指標,表明FPGA更加適合邊緣計算場景[67].

針對邊緣計算的計算系統結構設計仍然是一個新興的領域,仍然具有很多挑戰亟待解決,例如如何高效地管理邊緣計算異構硬件、如何對這類的系統結構進行公平及全面的評測等.在第三屆邊緣計算會議(SEC 2018)上首次設立了針對邊緣計算體系結構的Workshop:ArchEdge,鼓勵學術界和工業界對此領域進行探討和交流.

2.4 邊緣操作系統

邊緣計算操作系統向下需要管理異構的計算資源,向上需要處理大量的異構數據以及多用的應用負載,其需要負責將復雜的計算任務在邊緣計算節點上部署、調度及遷移,從而保證計算任務的可靠性以及資源的最大化利用.與傳統的物聯網設備上的實時操作系統Contiki[68]和FreeRTOS[69]不同,邊緣計算操作系統更傾向于對數據、計算任務和計算資源的管理框架.

機器人操作系統(robot operating system, ROS)[70]最開始被設計用于異構機器人機群的消息通信管理,現逐漸發展成一套開源的機器人開發及管理工具,提供硬件抽象和驅動、消息通信標準、軟件包管理等一系列工具,被廣泛應用于工業機器人、自動駕駛車輛即無人機等邊緣計算場景.為解決ROS中的性能問題,社區在2015年推出ROS2.0[71],其核心為引入數據分發服務(data distribution service, DDS),解決ROS對主節點(master node)性能依賴問題,同時DDS提供共享內存機制提高節點間的通信效率.EdgeOSH則是針對智能家居設計的邊緣操作系統[52],其部署于家庭的邊緣網關中,通過3層功能抽象連接上層應用和下層智能家居硬件,其提出面向多樣的邊緣計算任務,服務管理層應具有差異性(differentiation)、可擴展性(extensibility)、隔離性(isolation)和可靠性(reliability)的需求.Phi-Stack中提出了面向智能家居設備的邊緣操作系統PhiOS[64],其引入輕量級的REST引擎和LUA解釋器,幫助用戶在家庭邊緣設備上部署計算任務.OpenVDAP[72]是針對汽車場景設計的數據分析平臺,其提出了面向網聯車場景的邊緣操作系統EdgeOSv.該操作系統中提供了任務彈性管理、數據共享以及安全和隱私保護等功能.

根據目前的研究現狀,ROS以及基于ROS實現的操作系統有可能會成為邊緣計算場景的典型操作系統,但其仍然需要經過在各種真實計算場景下部署的評測和檢驗.

2.5 算法執行框架

隨著人工智能的快速發展,邊緣設備需要執行越來越多的智能算法任務,例如家庭語音助手需要進行自然語言理解、智能駕駛汽車需要對街道目標檢測和識別、手持翻譯設備需要翻譯實時語音信息等.在這些任務中,機器學習尤其是深度學習算法占有很大的比重,使硬件設備更好地執行以深度學習算法為代表的智能任務是研究的焦點,也是實現邊緣智能的必要條件.而設計面向邊緣計算場景下的高效的算法執行框架是一個重要的方法.目前有許多針對機器學習算法特性而設計的執行框架,例如谷歌于2016年發布的TensorFlow[73]、依賴開源社區力量發展的Caffe等[74],但是這些框架更多地運行在云數據中心,它們不能直接應用于邊緣設備.如表2所示,云數據中心和邊緣設備對算法執行框架的需求有較大的區別.在云數據中心,算法執行框架更多地執行模型訓練的任務,它們的輸入是大規模的批量數據集,關注的是訓練時的迭代速度、收斂率和框架的可擴展性等.而邊緣設備更多地執行預測任務,輸入的是實時的小規模數據,由于邊緣設備計算資源和存儲資源的相對受限性,它們更關注算法執行框架預測時的速度、內存占用量和能效.

Table 2 Comparison of Frameworks on Cloud and Edge表2 云數據中心和邊緣設備的算法執行框架比較

為了更好地支持邊緣設備執行智能任務,一些專門針對邊緣設備的算法執行框架應運而生.2017年,谷歌發布了用于移動設備和嵌入式設備的輕量級解決方案TensorFlow Lite[75],它通過優化移動應用程序的內核、預先激活和量化內核等方法來減少執行預測任務時的延遲和內存占有量.Caffe2[76]是Caffe的更高級版本,它是一個輕量級的執行框架,增加了對移動端的支持.此外,PyTorch[77]和MXNet等[78]主流的機器學習算法執行框架也都開始提供在邊緣設備上的部署方式.

Zhang等人[79]對TensorFlow,Caffe2,MXNet,PyTorch和TensorFlow Lite等在不同的邊緣設備(MacBook Pro,Intel FogNode,NVIDIA Jetson TX2,Raspberry Pi 3 Model B+,Huawei Nexus 6P)上的性能從延遲、內存占用量和能效等方面進行了對比和分析,最后發現沒有一款框架能夠在所有維度都取得最好的表現,因此執行框架的性能提升空間比較大.開展針對輕量級的、高效的、可擴展性強的邊緣設備算法執行框架的研究十分重要,也是實現邊緣智能的重要步驟.

2.6 數據處理平臺

邊緣計算場景下,邊緣設備時刻產生海量數據,數據的來源和類型具有多樣化的特征,這些數據包括環境傳感器采集的時間序列數據、攝像頭采集的圖片視頻數據、車載LiDAR的點云數據等,數據大多具有時空屬性.構建一個針對邊緣數據進行管理、分析和共享的平臺十分重要.

以智能網聯車場景為例,車輛逐漸演變成一個移動的計算平臺,越來越多的車載應用也被開發出來,車輛的各類數據也比較多.由Zhang等人提出的OpenVDAP[72]是一個開放的汽車數據分析平臺,如圖3所示,OpenVDAP分成4部分,分別是異構計算平臺(VCU)、操作系統(EdgeOSv)、駕駛數據收集器(DDI)和應用程序庫(libvdap),汽車可安裝部署該平臺,從而完成車載應用的計算,并且實現車與云、車與車、車與路邊計算單元的通信,從而保證了車載應用服務質量和用戶體驗.因此,在邊緣計算不同的應用場景下,如何有效地管理數據、提供數據分析服務,保證一定的用戶體驗是一個重要的研究問題.

Fig. 3 The architecture of OpenVDAP圖3 OpenVDAP架構圖

2.7 安全和隱私

雖然邊緣計算將計算推至靠近用戶的地方,避免了數據上傳到云端,降低了隱私數據泄露的可能性[80].但是,相較于云計算中心,邊緣計算設備通常處于靠近用戶側,或者傳輸路徑上,具有更高的潛在可能被攻擊者入侵,因此,邊緣計算節點自身的安全性仍然是一個不可忽略的問題.邊緣計算節點的分布式和異構型也決定了其難以進行統一的管理,從而導致一系列新的安全問題和隱私泄露等問題.作為信息系統的一種計算模式,邊緣計算也存在信息系統普遍存在的共性安全問題,包括:應用安全、網絡安全、信息安全和系統安全等.

在邊緣計算的環境下,通常仍然可以采用傳統安全方案來進行防護,如通過基于密碼學的方案來進行信息安全的保護、通過訪問控制策略來對越權訪問等進行防護.但是需要注意的是,通常需要對傳統方案進行一定的修改,以適應邊緣計算的環境.同時,近些年也有一些新興的安全技術(如硬件協助的可信執行環境)可以使用到邊緣計算中,以增強邊緣計算的安全性.此外,使用機器學習來增強系統的安全防護也是一個較好的方案.

可信執行環境(trusted execution environment,TEE)[81-82]是指在設備上一個獨立于不可信操作系統而存在的可信的、隔離的、獨立的執行環境,為不可信環境中的隱私數據和敏感計算提供了一個安全而機密的空間,而TEE的安全性通常通過硬件相關的機制來保障.常見的TEE包括Intel軟件防護擴展[83-85]、Intel管理引擎[86]、x86系統管理模式[87]、AMD內存加密技術[88]、AMD平臺安全處理器[89]和ARM TrustZone技術[90].通過將應用運行于可信執行環境中,并且將使用到的外部存儲進行加解密[91],邊緣計算節點的應用,可以在邊緣計算節點被攻破時,仍然可以保證應用及數據的安全性.

3 邊緣計算的典型應用

得益于第2節的7項核心技術的發展,邊緣計算在許多應用場景下取得了好的效果.本節給出已經基于邊緣計算模型設計的6個成功典型應用,通過這些應用來發現邊緣計算的研究機遇和挑戰,并探討更多的應用場景.

3.1 公共安全中實時數據處理

公共安全從社會的方方面面,如消防、出行,影響著廣大民眾的生活.隨著智慧城市和平安城市的建設,大量傳感器被安裝到城市的各個角落,提升公共安全.例如武漢的“雪亮工程”建設,計劃到2019年6月底,全市公共安全視頻監控總量將達到150萬個.得益于“雪亮工程”的建設,全市刑事有效警情同比下降27.2%,并為群眾查找走失老人小孩、追回遺失貴重物品等服務1萬余次[92].隨著共享經濟的興起,各種共享經濟產品落地并得到發展,如滴滴、Uber和共享單車.然而,這些產品同時也存在大量的公共安全事件.例如順風車司機對乘客進行騷擾,甚至發生刑事案件.因此,2018年9月受順風車安全事件的影響,滴滴已經臨時下線順風車業務并進行整改,首當其沖的是在司機端加入服務時間段的自動錄音功能.然而,想要進一步提升安全性,最終還是得依賴于視頻等技術,然而這將導致大量的帶寬需求.按照Uber 2017年的使用情況[93](45 787次/分鐘),假設將每次駕乘的視頻發送至云端(每次20分鐘),每天云端將新增9.23 PB的視頻數據.邊緣計算作為近數據源計算,可以大量地降低數據帶寬,將可以用來解決公共安全領域視頻數據處理的問題[94].

雖然當前城市中部署了大量的IP攝像頭,但是大部分攝像頭都不具備前置的計算功能,而需要將數據傳輸至數據中心進行處理,或者需要人工的方式來進行數據篩選.Sun等人提出了一種基于邊緣計算的視頻有用性檢測系統[95],其可以通過在前端或者靠近視頻源的位置,對視頻內容進行判斷,從而檢測攝像頭故障、內容錯誤以及根據內容對視頻質量進行動態調整.Zhang等人受啟發于安珀警報系統,基于邊緣計算技術,開發了安珀警報助手(Amber alert assistant, A3)[96],其可以自動化地在邊緣設備上部署視頻分析程序,并與附近的邊緣設備協同實時地對視頻進行處理,同時和周邊攝像頭進行聯動,以完成綁匪車輛的實時追蹤.

針對滴滴等共享車輛服務近年發生的危害公共安全的事件,Liu等人提出了SafeShareRide[97]系統,其會在兩者情況下觸發視頻報警功能——司機駕駛行為異常,如偏離軌道和車內發生爭吵或者口頭呼救.SafeShareRide系統通過將用戶手機作為邊緣端,實時地監控車內情況和司機情況,做到數據的預先處理,避免了安全時間段內的視頻上傳,從而大量地降低了流量的損耗.

以上工作主要針對系統的有效性,更多地關注民眾安全.而保護維護公共安全的人員,如警察、消防員等的安全,也至關重要.Wu等人提出了一種適用于消防系統的邊緣計算系統[98].其通過在救火車上部署邊緣服務器,接受消防員配備的紅外攝像頭數據和各種傳感器數據(如室內定位系統),實時地處理獲得消防員位置信息和周邊情況,并可視化地展現給現場指揮,同時也推送給遠程控制中心,以保障消防員的人身安全.

3.2 智能網聯車和自動駕駛

隨著機器視覺、深度學習和傳感器等技術的發展,汽車的功能不再局限于傳統的出行和運輸工具,而是逐漸變為一個智能的、互聯的計算系統,我們稱這樣新型的汽車為智能網聯車(connected and auto-nomous vehicles, CAVs).智能網聯車的出現催生出了一系列新的應用場景,例如自動駕駛[99]、車聯網[100]以及智能交通[101].Intel在2016年的報告指出[102],一輛自動駕駛車輛一天產生的數據為4 TB,這些數據無法全部上傳至云端處理,需要在邊緣節點(汽車)中存儲和計算.

自動駕駛計算場景無疑是目前最熱的研究方向之一,圍繞此場景有經典的自動駕駛算法評測數據集KITTI[99,103],還有針對不同自動駕駛階段的經典的視覺算法[104-106].在工業界目前有許多針對CAVs場景推出的計算平臺,例如NVIDIA DRIVE PX2[107]和Xilinx Zynq UltraScale+ZCU106[108].同時,學術界有許多前沿工作也開始探索CAVs場景下的邊緣計算平臺的系統設計.Liu等人將自動駕駛分為傳感(sensing)、感知(perception)和決策(decision-making)3個處理階段,并比較3個階段在不同異構硬件上的執行效果,由此總結除了自動駕駛任務與執行硬件之間的匹配規則[109].Lin等人對比了感知階段3個核心應用,即定位(localization)、識別(detection)和追蹤(tracking)在GPUs,FPGAs和ASICs不同組合運行的時延和功耗,指導研究人員設計端到端的自動駕駛計算平臺[110].除了硬件系統結構設計,還有一類研究推出完整的軟件棧幫助研究人員實現自動駕駛系統,例如百度的Apollo[111]和日本早稻田大學的Autoware[112].

如2.6節所述,OpenVDAP是一個開放的車載數據分析平臺,其提供了車載計算平臺、操作系統、函數庫等全棧的車載數據計算服務.除了自動駕駛,OpenVDAP中還總結了3類智能網聯車應用中的典型計算場景,分別是實時診斷、車載娛樂和第三方應用.前2個計算場景目前主要被工業界所關注,而學術界有很多在車載第三方應用中使用邊緣計算技術的研究工作,例如利用車上設備實時檢測異常駕駛行為[113],根據司機行為判斷司機身份的PreDriveID[114],通過分析車輛行駛行為數據、車內音頻數據和手機攝像頭數據保證出租車內司機和乘客安全的SafeShareRide等[97].

3.3 虛擬現實

虛擬現實(virtual reality, VR)和增強現實(augment reality, AR)技術的出現徹底改變了用戶與虛擬世界的交互方式.為保證用戶體驗,VR/AR的圖片渲染需要具有很強的實時性.研究表明:將VR/AR的計算任務卸載到邊緣服務器或移動設備,可以降低平均處理時延[115].MUVR[116]是一個在邊緣服務器上支持多用戶VR程序的處理框架,其將VR圖像渲染卸載到邊緣服務器,并嘗試重用用戶之前的VR圖像幀,以降低邊緣服務器的計算和通信負擔.Furion[117]是一個移動端VR框架,其將VR負載分為前景交互和背景環境2種,前景交互依然在云端處理,而背景環境渲染卸載到移動端處理,由此實現移動設備上的高質量的VR應用.Ha等人設計了一個基于VR與邊緣計算的可穿戴認知助手,Google Glass用于數據收集和接受及顯示VR圖像;圖片渲染、人臉識別等計算任務在Cloudlet(邊緣節點)中執行,有效地解決了可穿戴設備電池容量以及處理能力有限的問題[118].

3.4 工業物聯網

工業互聯網是機器、計算機和人員使用業務轉型所取得的先進的數據分析成果來實現智能化的工業操作.但是在工業物聯網領域的應用實踐中,對于工業實時控制及邊緣設備安全隱私的要求較高,并且產生的數據需要本地化處理,因此將邊緣計算應用于工業物聯網成為了行業發展的方向.2018年,工業互聯網聯盟(IIC)正式發布了《工業物聯網邊緣計算介紹》白皮書[119],旨在闡述邊緣計算對于工業物聯網應用的價值,并總結了工業互聯網邊緣計算模型的獨特性和從云到邊緣計算的關鍵驅動力.

邊緣計算應用于工業物聯網有3個優勢:

1) 改善性能,工業生產中常見的報警、分析等應用靠近數據生產者的地方處理和決策會更快,通過減少與云數據中心的通信可以增加邊緣處理的彈性.

2) 保證數據安全和隱私,可以避免數據傳輸到共享數據中心后數據暴露等帶來的安全隱私問題.

3) 減少操作成本,通過在邊緣做計算處理,可以減少邊緣設備和數據中心的數據傳輸量和帶寬,從而減少了工業生產中由網絡、云數據中心計算和存儲帶來的成本.

Chen等人用邊緣計算技術對薄膜壁焊接的工業級機器人系統做優化[120],設計了物理資源-邊緣-云的架構,實驗結果表明:該系統比基于云計算的傳統系統實時性更好,并且最多可節省883.38 Kbps的帶寬,滿足了工業級產品的需求.

3.5 智能家居

隨著物聯網技術的發展,智能家居系統得到進一步的發展,其利用大量的物聯網設備(如溫濕度傳感器、安防系統、照明系統)實時監控家庭內部狀態,接受外部控制命令并最終完成對家居環境的調控,以提升家居安全性、便利性、舒適性.Berg Insight的調查報告顯示[121],歐美和北美洲的智能家居數據將在2019年達到6 800萬.然而,隨著智能家居設備的越來越多,且這些設備通常都是異構的[122],如何管理這些異構設備將會是一個亟待解決的問題[123],如設備的命名、數據的命名以及設備的智能化聯動.并且,由于家庭數據的隱私性,用戶并不總是愿意將數據上傳至云端進行處理,尤其是一些家庭內部視頻數據.而邊緣計算可以將計算(家庭數據處理)推送至家庭內部網關,減少家庭數據的外流,從而降低數據外泄的可能性,提升系統的隱私性.

工業界的一些企業已經注意到這一點,例如亞馬遜的Echo、三星的SmartThings和谷歌的Google Home,均可作為智能家居的控制中心.然而,這些設備,仍然需要一些額外的網絡服務,如各種識別服務,不能完全依靠自身去處理數據,從而導致仍存在一定的隱私泄露隱患.微軟和蘋果分別提出了HomeOS和HomeKit,其作為智能家居的框架,可以方便用戶對設備進行控制,但是仍然缺少一些具體的工作.開源社區也建立并維護了多個智能家居系統[124],在表3中列舉出其中功能、文檔較為完備的3個系統并進行對比.

與此同時,學術界也有大量的學者根據邊緣計算的思想在建設智能家居系統.曹杰等人提出了一個適用于智能家居的邊緣計算操作系統(edge operating system for home, EdgeOSH)[52].受啟發于邊緣計算,作者在家庭中設置邊緣服務器,并提出了EdgeOSH的工作,利用EdgeOSH在網絡邊緣側對家庭數據進行處理.EdgeOSH包含多個模塊:通信模塊負責智能家居設備互聯的,其適配多種智能家居中常用的協議;數據管理模塊管理所有家庭數據,對數據進行融合和處理;自管理模塊提供設備的管理以及智能家居服務間的管理,以期提供智能化的家居環境.作者認為命名(naming)和編程接口是智能家居發展中的幾個較為關鍵的問題.因此,作者提供了編程接口以方便開發者在其上進行開發.同時,命名服務和其他模塊進行合作,對資源進行統一的命名,提供方便地管理.

Table 3 The Comparison of Smart Home Systems表3 開源智能家居系統比較

與EdgeOSH一樣,中國科學院計算技術研究所的徐志偉研究員團隊也一樣認為,編程接口在智能家居等物聯網設備中的應用較為重要.該團隊拓展RESTful設計風格,將其引入物聯網設備中[128].通過RESTful風格的接口,即使是外部用戶也可以方便地訪問智能家居設備,從而拉近了智能家居系統和傳統網絡的距離.同時在智能家居邊緣側,其利用非侵入式負荷監測(non-intrusive load monitoring, NILM)技術[129-130],關注于家庭的用電狀況,并分析用電情況,提供更高效的節能方案.

3.6 智慧城市

智慧城市是利用先進的信息技術,實現城市智慧式的管理和運行.2016年阿里云提出了“城市大腦”的概念[131],實質是利用城市的數據資源來更好地管理城市,2017年10月Alphabet旗下城市創新部門Sidewalk Labs建造名為Quayside的高科技新區[132],并希望該智慧城市項目能夠成為全球可持續和互聯城市的典范.然而,智慧城市的建設所依賴的數據具有來源多樣化和異構性的特點,同時涉及城市居民隱私和安全的問題,因此應用邊緣計算模型,將數據在網絡邊緣處理是一個很好的解決方案.

4 邊緣計算面臨的緊迫問題

目前邊緣計算已經得到了各行各業的廣泛重視,并且在很多應用場景下開花結果.根據邊緣計算領域特定的特點,本文認為6個方向是未來幾年迫切需要解決的問題:編程模型、軟硬件選型、基準程序與標準、動態調度、與垂直行業的緊密結合以及邊緣節點的落地.

4.1 編程模型

編程模型可以使開發者快速上手開發應用產品,從而快速推動領域的發展.在云計算場景中,用戶程序在目標平臺上編寫和編譯,然后運行到云服務器,基礎設施對于用戶是透明的.例如亞馬遜基于此編程模型推出的Lambda計算服務[133],可使用戶無需預配置或者管理服務器即可運行代碼,極大地方便了用戶的使用.然而,邊緣計算模型與云計算模型存在較大的區別,從功能角度講,邊緣計算是一種分布式的計算系統,具有彈性管理、協同執行和環境異構的特點,如圖4所示:

Fig. 4 The edge computing model圖4 邊緣計算模型

從圖4可知,邊緣計算包含3個關鍵內容:

1) 應用程序/服務功能可分割.邊緣計算中的一個任務可以分成若干個子任務并且任務功能可以遷移到不同的邊緣設備去執行.任務可分割包括僅能分割其自身或將一個任務分割成子任務,任務的執行需要滿足可遷移性,即任務可遷移是實現在邊緣設備上進行數據處理的必要條件.

2) 數據可分布.數據可分布既是邊緣計算的特征也是邊緣計算模型對待處理數據集合的要求.邊緣數據的可分布性是針對不同數據源而言的,不同數據源來源于數據生產者所產生的大量數據.

3) 資源可分布.邊緣計算模型中的數據具有一定的可分布性,從而要求處理數據所需要的計算、存儲和通信資源也具有可分布性.只有當邊緣計算系統具備數據處理和計算所需要的資源,邊緣設備才可以對數據進行處理.

因此,傳統的編程模型并不適合邊緣計算.邊緣計算中的設備大多是異構計算平臺,每個設備上的運行時環境、數據也不相同,且邊緣設備的資源相對受限,在邊緣計算場景下部署用戶應用程序會有較大的困難.Li等人[134]針對邊緣設備資源受限的特性設計了一種輕量級的編程語言EveryLite,該工作將計算遷移任務中主體為接口調用的、時間和空間復雜度受限的計算任務稱為微任務(micro task),EveryLite能夠在物端設備上處理邊緣計算場景中微任務,經過實驗對比可以發現EveryLite的執行時間分別比JerryScript和Lua低77%和74%,編譯后內存占用量分別是JerryScript和Lua的18.9%和1.4%.因此,針對邊緣計算場景下的編程模型的研究具有非常大的空間,也十分緊迫.

4.2 軟硬件選型

邊緣計算系統具有碎片化和異構性的特點.在硬件層面上,有CPU,GPU,FPGA,ASIC等各類計算單元,即便是基于同一類計算單元,也有不同的整機產品,例如基于英偉達GPU的邊緣硬件產品,既有計算能力較強的DRIVE PX2,又有計算能力較弱的Jetson TX2;在軟件系統上,針對深度學習應用,有TensorFlow,Caffe,PyTorch等各類框架.不同的軟硬件及其組合有各自擅長的應用場景,這帶來了一個問題:開發者不知道如何選用合適的軟硬件產品以滿足自身應用的需求.

在軟硬件選型時,既要對自身應用的計算特性做深入了解,從而找到計算能力滿足應用需求的硬件產品,又要找到合適的軟件框架進行開發,同時還要考慮到硬件的功耗和成本在可接受范圍內.因此,設計并實現一套能夠幫助用戶對邊緣計算平臺進行性能、功耗分析并提供軟硬件選型參考的工具十分重要.

4.3 基準程序和標準

隨著邊緣計算的發展,學術界和工業界開始推出越來越多的針對不同邊緣計算場景設計的硬件或軟件系統平臺,那么我們會面臨一個緊迫的問題,即如何對這些系統平臺進行全面并公平的評測.傳統的計算場景都有經典基準測試集(benchmark),例如并行計算場景中的PARSEC[135]、高性能計算場景中的HPCC[136]、大數據計算場景中的BigDataBench[137].

由于邊緣計算仍然是較新的計算場景,業界仍然沒有一個比較權威的用于評測系統性能的Benchmark出現,但是學術界已經開始有了一些探索工作.SD-VBS[138]和MEVBench[139]均是針對移動端設備評測基于機器視覺負載的基準測試集.SD-VBS選取了28個機器視覺核心負載,并提供了C和Matlab的實現;MEVBench則提供了一些列特征提取、特征分類、物體檢測和物體追蹤相關的視覺算法負責,并提供單線程核多線程的C++實現.SLAMBench[140]是一個針對移動端機器人計算系統設計的基準測試集,其使用RGB-D SLAM作為評測負載,并且針對不同異構硬件提供C++,OpenMP,OpenCL和CUDA版本的實現.CAVBench[141]是第1個針對智能網聯車邊緣計算系統設計的基準測試集,其選擇6個智能網聯車上的典型應用作為評測負責,并提供標準的輸入數據集和應用-系統匹配指標.

由于邊緣計算場景覆蓋面廣,短期來看不會出現一個統一的基準測試集可以適應所有場景下的邊緣計算平臺,而是針對每一類計算場景會出現一個經典的基準測試集,之后各個基準測試集互相融合借鑒,找出邊緣計算場景下的若干類核心負載,最終形成邊緣計算場景中的經典基準測試集.

4.4 動態調度

在云計算場景下,任務調度的一般策略是將計算密集型任務遷移到資源充足的計算節點上執行.但是在邊緣計算場景下,邊緣設備產生的海量數據無法通過現有的帶寬資源傳輸到云計算中心進行集中式計算,且不同邊緣設備的計算、存儲能力均不相同,因此,邊緣計算系統需要根據任務類型和邊緣設備的計算能力進行動態調度.調度包括2個層面:1)云計算中心和邊緣設備之前的調度;2)邊緣設備之間的調度.

云計算中心與邊緣設備間的調度分為2種方式:自下而上和自上而下.自下而上是在網絡邊緣處將邊緣設備采集或者產生的數據進行部分或者全部的預處理,過濾無用數據,以此降低傳輸帶寬;自上而下是指將云計算中心所執行的復雜計算任務進行分割,然后分配給邊緣設備執行,以此充分利用邊緣設備的計算資源,減少整個計算系統的延遲和能耗.2017年,Kang等人[142]設計了一個輕量級的調度器Neurosurgeon,它可以將深度神經網絡不同層的計算任務在移動設備和數據中心間自動分配,使得移動設備功耗最多降低了94.7%,系統延遲最多加快了40.7倍,并且數據中心的吞吐量最多增加了6.7倍.邊緣設備間也需要動態調度.邊緣設備的計算、存儲能力本身是不同的,并且會隨著時間的變化而變化,而它們承擔的任務類型也是不一樣的,因此需要動態調度邊緣設備上的任務,提高整體系統性能,防止出現計算任務調度到一個系統任務過載情況下的設備.Zhang等人[143]針對延遲敏感性的社會感知任務設計了一個邊緣任務調度框架CoGTA,實驗證明該框架可以滿足應用和邊緣設備的需求.

綜上所述,動態調度的目標是為應用程序調度邊緣設備上的計算資源,以實現數據傳輸開銷最小化和應用程序執行性能的最大化.設計調度程序時應該考慮:任務是否可拆分可調度、調度應該采取什么策略、哪些任務需要調度等.動態調度需要在邊緣設備能耗、計算延時、傳輸數據量、帶寬等指標之間尋找最優平衡.根據目前的工作,如何設計和實現一種有效降低邊緣設備任務執行延遲的動態調度策略是一個急需解決的問題.

4.5 和垂直行業緊密合作

在云計算場景下,不同行業的用戶都可將數據傳送至云計算中心,然后交由計算機從業人員進行數據的存儲、管理和分析.云計算中心將數據抽象并提供訪問接口給用戶,這種模式下計算機從業人員與用戶行業解耦和,他們更專注數據本身,不需對用戶行業領域內知識做太多了解.

但是在邊緣計算的場景下,邊緣設備更貼近數據生產者,與垂直行業的關系更為密切,設計與實現邊緣計算系統需要大量的領域專業知識.另一方面,垂直行業迫切需要利用邊緣計算技術提高自身的競爭力,卻面臨計算機專業技術不足的問題.因此計算機從業人員必須與垂直行業緊密合作,才能更好地完成任務,設計出下沉可用的計算系統.在與垂直行業進行合作時,需要著重解決3個問題:

1) 減少與行業標準間的隔閡.在不同行業內部有經過多年積累的經驗與標準,在邊緣計算系統的設計中,需要與行業標準靠近,減少隔閡.例如,在針對自動駕駛汽車的研究中,自動駕駛任務的完成需要使用到智能算法、嵌入式操作系統、車載計算硬件等各類計算機領域知識,這對于計算機從業人員而言是一個機遇,因此許多互聯網公司投入資源進行研究.然而,若想研制符合行業標準的汽車,僅應用計算機領域知識是完全不夠的,還需要對汽車領域專業知識有較好的理解,例如汽車動力系統、控制系統等,這就需要與傳統汽車廠商進行緊密合作.同樣,在智能制造、工業物聯網等領域,同樣需要設計下沉到領域內部、符合行業標準的邊緣計算系統.

2) 完善數據保護和訪問機制.在邊緣計算中,需要與行業結合,在實現數據隱私保護的前提下設計統一、易用的數據共享和訪問機制.由于不同行業具有的特殊性,許多行業不希望將數據上傳至公有云,例如醫院、公安機構等.而邊緣計算的一大優勢是數據存放在靠近數據生產者的邊緣設備上,從而保證了數據隱私.但是這也導致了數據存儲空間的多樣性,不利于數據共享和訪問.在傳統云計算中,數據傳輸到云端,然后通過統一接口進行訪問,極大地方便了用戶的使用.邊緣計算需要借助這種優勢來設計數據防護和訪問機制.

3) 提高互操作性.邊緣計算系統的設計需要易于結合行業內現有的系統,考慮到行業現狀并進行利用,不要與現實脫節.例如在視頻監控系統中,除了近些年出現的智能計算功能的攝像頭,現實中仍然有大量的非智能攝像頭,其每天仍然在采集大量的視頻數據,并將數據傳輸至數據中心.學術界設計了A3[113]系統,它利用了商店或者加油站中已有的計算設備.然而實際情況下,攝像頭周邊并不存在計算設備.因此,在邊緣計算的研究中需要首先考慮如何部署在非智能的攝像頭附近部署邊緣計算設備.在目前的解決方案中,多是采用建立更多的數據中心或AI一體機來進行處理,或者采用一些移動的設備,如各種單兵作戰設備,來進行數據的采集.前者耗費巨大,且從本質來說,仍然是云計算的模式;后者通常使用于移動情況下,僅作為臨時的計算中心,無法和云端進行交互.在視頻監控領域,Luo等人提出了一個尚屬于前期探討的EdgeBox方案[144],其同時具備計算能力和通信能力,可以作為中間件插入到攝像頭和數據中心之間,完成數據的預處理.因此,如何與垂直行業緊密合作,設計出下沉可用的邊緣計算系統,實現計算機與不同行業間的雙贏是邊緣計算面臨的一個緊迫問題.

4.6 邊緣節點落地問題

邊緣計算的發展引起了工業界的廣泛關注,但是在實際邊緣節點的落地部署過程中,也涌現出一些急需解決的問題,例如應該如何建立適用于邊緣計算的商業模式、如何選擇參與計算的邊緣節點和邊緣計算數據、如何保證邊緣節點的可靠性等.

1)新型商業模式.在云計算場景下,云計算公司是計算服務的提供者,它們收集、存儲、管理數據并且負責軟硬件、基礎設施的建設和維護,用戶付費購買服務,不需要關注計算節點本身的成本,也無需關注服務質量的升級換代過程.這種商業模式為用戶使用云服務帶來了便利,也讓云計算公司具備盈利能力,從而更好地提高服務質量.

而在邊緣計算場景下,邊緣節點分布在靠近數據生產者的位置,在地理位置上具有較強的離散性,這使得邊緣節點的統一性維護變得困難,同時也給軟硬件升級帶來了難度.例如提供安全服務的攝像頭,在使用過程中需要進行軟硬件的升級,軟件的升級可以通過網絡統一進行,而硬件的升級需要親臨現場.依賴于服務提供者去為每一個邊緣節點(攝像頭)進行硬件的升級和維護會帶來巨大的成本開銷,而服務的使用者一般不關注也不熟悉硬件設備的維護工作.又如,在CDN服務的應用中,需要考慮CDN服務器是以家庭為單位還是以園區為單位配置,不同的配置方式會帶來成本的變化,也為服務質量的穩定性增加了不確定因素,而維護CDN所需的開銷,需要考慮支付者是服務提供者還是使用者.

因此工業界需要尋求一種或多種新的商業模式來明確邊緣計算服務的提供者和使用者各自應該承擔什么責任,例如誰來支付邊緣節點建立和維護所需的費用、誰來主導軟硬件升級的過程等.

2) 邊緣節點的選擇.邊緣計算是一個連續統,邊緣指從數據源到云計算中心路徑之間的任意計算和網絡資源[5].在實際應用中,用戶可以選擇云到端整個鏈路上任意的邊緣節點來降低延遲和帶寬.由于邊緣節點的計算能力、網絡帶寬的差異性,不同邊緣節點的選擇會導致計算延遲差異很大.現有的基礎設施可以用作邊緣節點,例如使用手持設備訪問進行通信時,首先連接運營商基站,然后訪問主干網絡.這種以現有基礎設施當做邊緣節點的方式會加大延遲,如果手持設備能夠繞過基站,直接訪問主干網絡的邊緣節點,將會降低延遲.因此,如何選擇合適的邊緣節點以降低通信延遲和計算開銷是一個重要的問題.在此過程中,需要考慮現有的基礎設施如何與邊緣節點融合,邊緣計算技術會不會構建一個新興的生態環境,給現有的基礎設施發生革命性的變化?

3) 邊緣數據選擇.邊緣節點眾多,產生的數據數量和類型也眾多,這些數據間互有交集,針對一個問題往往有多個可供選擇的解決方案.例如在路況實時監控應用中,既可以利用車上攝像頭獲得數據,也可以利用交通信號燈的實時數據統計,還可以利用路邊計算單元進行車速計算.因此如何為特定應用合理地選擇不同數據源的數據,以最大程度地降低延遲和帶寬,提高服務的可用性是一個重要問題.

4) 邊緣節點的可靠性.邊緣計算中的數據存儲和計算任務大多數依賴于邊緣節點,不像云計算中心有穩定的基礎設施保護,許多邊緣節點暴露于自然環境下,保證邊緣節點的可靠性非常重要.例如,基于計算機視覺的公共安全解決方案需要依賴智能攝像頭進行存儲和計算,然而在極端天氣條件下,攝像頭容易在物理上收到損害,例如暴風天氣會改變攝像頭的角度,暴雪天氣會影響攝像頭的視覺范圍,在此類場景中,需要借助基礎設施的配合來保證邊緣節點的物理可靠性.同時,邊緣數據有時空特性,從而導致數據有較強的唯一性和不可恢復性,需要設計合理的多重備份機制來保證邊緣節點的數據可靠性.因此,如何借助基礎設施來保障邊緣計算節點的物理可靠性和數據可靠性是一個重要的研究課題.

在邊緣節點落地過程中,已經有了不少嘗試,例如聯通提出了建設邊緣云,其規劃至2020年建設6 000~7 000個邊緣節點,將高帶寬、低時延、本地化業務下沉到網絡邊緣,進一步提高網絡效率、增強服務能力.因此針對如何選擇邊緣節點,處理好邊緣節點與現有基礎設施的關系,保證邊緣節點的可靠性的研究非常緊迫.

5 總 結

邊緣計算經過近幾年的技術儲備,已經得到了來自國內外政府、學術界和工業界的廣泛重視和一致認可,現在到了全面開花結果并帶來經濟效益的時候.得益于網絡、隔離技術、體系結構、操作系統、算法執行框架、數據處理平臺以及安全隱私這7個關鍵技術的快速發展,邊緣計算技術已經走向成熟,并在許多應用場景下發揮作用.

本文總結了邊緣計算的6個典型應用場景,發現邊緣計算目前已經在公共安全中的實時數據處理和自動駕駛中取得了成功的經驗,并迅速擴展到虛擬現實、智能家居等場景,本文相信在未來幾年我們將會看到邊緣計算在工業物聯網和智慧城市等領域取得更多成功的例子,為產業升級提供助力.

為了能夠在更多應用場景中取得成功,本文還提出了邊緣計算現在發展面臨的緊迫問題,包括編程模型、軟硬件選型、基準程序與標準、動態調度、與垂直行業的緊密結合以及邊緣節點的落地問題.邊緣計算具有與垂直行業結合緊密的特點,如果能夠相互配合,設計出下沉可用的邊緣計算系統,將會實現計算機行業與各行各業間的雙贏.

邊緣計算自正式提出以來不過短短幾年,就已經取得了爆發性的增長,本文相信:按照這個趨勢繼續進行下去,邊緣計算將產生更大的外溢效果,成為各行各業的粘合劑和智能產業發展的催化劑,促進整個工業體系的升級轉型.

致謝作者感謝《計算機研究與發展》編輯部的邀請來為慶刊60周年撰寫這篇論文.感謝騰訊公司黃世飛與作者就邊緣計算落地問題的討論!

猜你喜歡
邊緣節點設備
調試新設備
概念格的一種并行構造算法
結合概率路由的機會網絡自私節點檢測算法
采用貪婪啟發式的異構WSNs 部分覆蓋算法*
Crosstalk between gut microbiota and antidiabetic drug action
一張圖看懂邊緣計算
認一認
視聽設備行情
在邊緣尋找自我
走在邊緣
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合