邊緣計算,你不知道的那些事

物聯網的快速發展和雲服務的推動使得雲計算模型已經不能很好的解決現在的問題,於是,這裡給出一種新型的計算模型——邊緣計算。簡言之:物聯網催生了邊緣計算。

什麼是邊緣計算

過去這麼多年,科技行業裡一直有個詞很流行,這就是大數據。事實上,當2006年亞馬遜推出第一個雲服務的時候,整個世界還沒有被數據包圍。一年後,iPhone的出現以及隨後Android手機集團軍的崛起,數據被這些移動設備大批次地生產出來。緊接著,IoT、聯網汽車以及智能音箱等消費市場的產品,當然還有不同垂直領域裡的工業級應用,都成為更多元化的數據生成器。

這些海量的數據被不斷生產出來,然後不同的公司、開發者再經過或簡單或複雜的過程將數據搬運到公有云的數據倉庫之中,接下來,這些公司和開發者則使用雲服務商提供的各種工具進行數據挖掘和分析。

某種意義上說,移動互聯網加速了大數據進程,而大數據又推動了雲計算的發展,過去十年的科技發展史,移動互聯網、大數據以及雲計算共同寫下了濃墨重彩的一筆。但隨著數據量的繼續增加以及數據處理多樣化的要求,基於雲端的大數據處理面臨諸多挑戰。

類似這樣的數據處理需求正在變得越來越多,比如普通人類個體每天產生的數據量也以驚人的速度增長。預計到 2020 年,普通人每天平均產生 1.5GB 的數據,這些數據可能來自於智能手錶、手環收集的運動數據,也可能來自智能手機收集的交通數據以及你瀏覽網頁、社交媒體等產生的 Cookie 數據等等。

邊緣計算,你不知道的那些事

新的數據需求也催生了新的技術——邊緣計算,這便是邊緣計算所產生的大背景。

邊緣計算指的是在網絡邊緣結點來處理、分析數據。這裡,我們給出邊緣結點的定義,邊緣結點指的就是在數據產生源頭和雲中心之間任一具有計算資源和網絡資源的結點。

比如,手機就是人與雲中心之間的邊緣結點,網關是智能家居和雲中心之間的邊緣結點。在理想環境中,邊緣計算指的就是在數據產生源附近分析、處理數據,沒有數據的流轉,進而減少網絡流量和響應時間。

邊緣計算有哪些優勢

在邊緣計算的發展過程中,還有一個概念值得注意,這就是所謂霧計算。

這兩個概念有容易混淆。霧計算更強調在設備的網關裡處理數據,數據被霧計算收集到設備的網關,進而處理、存儲,並將處理後的數據發揮需要數據的設備中。

而邊緣計算更強調邊緣,也就是更靠近數據生成的設備端,霧計算則介於雲計算和邊緣計算之間。

這也意味著,邊緣計算有著諸多的先天優勢。其一,更實時、更快速的數據處理能力。由於減少了中間傳輸的過程,數據處理的速度也更快。

其二,成本更低。邊緣計算處理的數據是小數據,從數據計算、存儲上都具有成本優勢。

其三,更低的網絡帶寬需求。隨著聯網設備的增多,網絡傳輸壓力會越來越大,而邊緣計算的過程中,與雲端服務器的數據交換並不多,因此也不需要佔用太多網絡帶寬。

第四,提升應用程序的效率。結合上面的三個優勢來看,當數據處理更快、網絡傳輸壓力更小、成本也更低的時候,應用程序的效率也會大大提升。

邊緣計算,你不知道的那些事

第五,邊緣計算讓數據隱私保護變得更具操作性,這在今年 5 月歐盟通過史上最嚴格的數據保護法律之後意義重大。由於數據的收集和計算都是基於本地,數據也不再被傳輸到雲端,因此重要的敏感信息可以不經過網絡傳輸,能夠有效避免傳輸過程中的洩漏。

邊緣計算的應用場景

自動駕駛是邊緣計算領域重要的行業應用,不過當下自動駕駛也處在早期階段,車聯網或者聯網汽車則是汽車領域可以馬上落地的場景。

在國內,不管是阿里旗下的斑馬網絡還是百度的小度車載,都在將汽車變成一種移動的數據中心,只是相對於自動駕駛,聯網汽車的數據量和處理要求要簡單很多。即便如此,由於汽車的數據處理不能出現任何的卡頓和延遲,這也就需要在汽車裡部署數據處理能力。

另一個應用場景則是醫療。前幾年風靡一時的所謂智能手環,本質上就是一個數據採集器,但是由於需要和雲端服務器進行數據交換,使得整個手環的智商幾乎為零。

隨著蘋果發佈Apple Watch所帶來的新穿戴設備潮流,這些邊緣設備也終於開始擁有了自己的芯片,並能實現一些簡單的計算。醫生也可以通過這些計算結果作出一些簡單診斷。

更進一步,在美國,醫療領域的本地數據非常多樣化,比如醫院的病床可以和 20 多個設備連接,這些數據被收集、清洗、挖掘之後,可以幫助醫生更好地瞭解病人的身體狀況。

工業領域,邊緣計算也正在發揮越來越重要的作用。從工業發展的方向來看,數據將成為驅動生產製造的重要生產資料,那麼如何處理這些海量、實時產生的數據就成為企業能否快速發展的重要課題。

邊緣計算,你不知道的那些事

以流程型生產為例,一條生產線其實就是數據流動的通道,產品從上一名工人傳遞到下一個工人,同時伴隨著產品數據的傳遞。在這個過程中,如果由於某一名工人錯誤操作的導致了數據異常,在下一名工人開始操作時,基於邊緣計算的生產線可以做出預警提示。如果再進一步,當機器學習能力被邊緣計算融入到生產線的時候,工人的不合規操作可以被實時監測出來並預警,這對提升產品的良品率意義重大。

邊緣計算面臨的挑戰

編程可行性

在雲計算平臺編程是非常便捷的,因為雲有特定的編譯平臺,大部分程序都可以在雲上跑。但是邊緣計算下的編程就會面臨一個問題,平臺異構問題,每一個網絡的邊緣都是不一樣的,有可能是ios系統,也有可能是安卓或者linux等等,不同平臺下的編程又是不同的。

因此有了計算流的概念,計算流是數據傳播路徑上的函數序列/計算序列,可以通過應用程序指定計算發生在數據傳播路徑中的哪個節點。

計算流可以幫助用戶確定應該完成哪些功能/計算,以及在計算發生在邊緣之後如何傳播數據。通過部署計算流,可以讓計算儘可能的接近數據源。

命名

命名方案對於編程、尋址、事物識別和數據通信非常重要,但是在邊緣計算中還沒有行之有效的數據處理方式。

邊緣計算中事物的通信是多樣的,可以依靠wifi、藍牙、2.4g等通信技術,因此,僅僅依靠Tcp/ip協議棧並不能滿足這些異構的事物之間進行通信。

命名方案需要處理事物的移動性,動態的網絡拓撲結構,隱私和安全保護,以事物的可伸縮性。傳統的命名機制如DNS、URI都不能很好的解決動態的邊緣網絡的命名問題。

邊緣計算,你不知道的那些事

目前正在提出的NDN(命名分發網絡)解決此類問題也有一定的侷限性。在一個相對較小的網絡環境中,我們提出一種解決方案,如圖3所示,我們描述一個事物的時間、地點以及正在做的事情,這種統一的命名機制使得管理變得非常容易。

當然,當環境上升到城市的高度的時候,這種命名機制可能就不是很合適了,還可以進行進一步的討論。

數據抽象

在物聯網環境中會有大量的數據生成,並且由於物聯網網絡的異構環境,生成的數據是各種格式的,把各種各樣的數據格式化對邊緣計算來說是一個挑戰。

同時,網絡邊緣的大部分事物只是週期性的收集數據,定期把收集到的數據發送給網關,而網關中的存儲是有限的,他只能存儲最新的數據,因此邊緣結點的數據會被經常刷新。

利用集成的數據表來存儲感興趣的數據,表內部的結構可以如圖4所示,用Id、時間、名稱、數據等來表示數據。

如果篩選掉過多的原始數據,將導致邊緣結點數據報告的不可靠,如果保留大量的原始數據,那麼邊緣結點的存儲又將是新的問題;同時這些數據應該是可以被引用程序讀寫和操作的,由於物聯網中事物的異構性,導致數據庫的讀寫和操作會存在一定的問題。

服務管理

邊緣結點的服務管理我們認為應該有以下四個特徵,包括差異化、可擴展性、隔離性和可靠性,進而保證一個高效可靠的系統。

差異化。隨著物聯網的發展,會有這種各樣的服務,不同的服務應該有差異化的優先級。

比如,有關事物判斷和故障警報這樣的關鍵服務就應該高於其它一般服務,有關人類身體健康比如心跳檢測相關的服務就要比娛樂相關服務的優先級要高一些。

可擴展性。物聯網中的物品都是動態的,向物聯網中添加或刪除一件物品都不是那麼容易的,服務缺少或者增加一個新的結點能否適應都是待解決的問題,這些問題可以通過對邊緣os的高擴展和靈活的設計來解決。

邊緣計算,你不知道的那些事

隔離性。所謂隔離性是指,不同的操作之間互不干擾。舉例而言,有多個應用程序可以控制家庭裡面的燈光,有關控制燈光的數據是共享的,當有某個應用程序不能響應時,使用其他的應用程序依然能夠控制燈光。

也就是說這些應用程序之間是相互獨立的,互相併沒有影響;隔離性還要求用戶數據和第三方應用是隔離的,也就是說應用不應該能夠跟蹤用戶的數據並記錄下來,為了解決該問題,應當添加一種全新的應用訪問用戶數據的方式。

可靠性。可靠性可以從服務、系統和數據三方面來談論。

從服務方面來說,網絡拓撲中任意節點的丟失都有可能導致服務的不可用,如果邊緣系統能夠提前檢測到具有高風險的節點那麼就可以避免這種風險。

較好的一種實現方式是使用無線傳感器網絡來實時監測服務器集群。

從系統角度來看,邊緣操作系統是維護整個網絡拓撲的重要一部分內容。節點之間能夠互通狀態和診斷信息。這種特徵使得在系統層面部署故障檢測、節點替換、數據檢測等十分的方便。

從數據角度來看,可靠性指的是數據在傳感和通信方面是可靠地。邊緣網絡中的節點有可能會在不可靠的時候報告信息,比如當傳感器處於電量不足的時候就極有可能導致傳輸的數據不可靠。為解決此類問題可能要提出新的協議來保證物聯網在傳輸數據時的可靠性。

私密性

現存的提供服務的方法是手機終端用戶的數據並上傳到雲端,然後利用雲端強大的處理能力去處理任務,在數據上傳的過程中,數據很容易被別有用心的人收集到。

為了保證數據的私密性,我們可以從以下這些方面入手。在邊緣計算當中,由於節點眾多並且不同節點的處理能力是不同的,因此,在不同的節點當中選擇合適的調度策略是非常重要的。接下來從延遲、帶寬、能耗和花費這四個方面來討論最優化的指標。

延遲。很明顯雲中心具有強大的處理能力,但是網絡延遲並不單單是處理能力決定的,也會結合數據在網路中傳輸的時間。

拿智慧城市距離來說,如果要尋找丟失的小孩兒信息,在本地的手機處理,然後把處理結果返回給雲明顯能加快響應速度。

當然,這種事情也是相對而言的,我們需要放一個邏輯判斷層,來判斷把任務交給哪一個節點處理合適,如果此時手機正在打遊戲或者處理其他非常重要的事情,那麼手機就不是很適合處理這種任務,把這種任務交給其他層次來處理會更好些。

邊緣計算,你不知道的那些事

帶寬。高帶寬傳輸數據意味著低延遲,但是高帶寬也意味著大量的資源浪費。數據在邊緣處理有兩種可能,一種是數據在邊緣完全處理結束,然後邊緣結點上傳處理結果到雲端;另外一種結果是數據處理了一部分,然後剩下的一部分內容將會交給雲來處理。

以上兩種方式的任意一種,都能極大的改善網路帶寬的現狀,減少數據在網絡中的傳輸,進而增強用戶體驗。

能耗。對於給定的任務,需要判定放在本地運算節省資源還是傳輸給其他節點計算節省資源。如果本地空閒,那麼當然在本地計算是最省資源的,如果本地正在忙碌狀態,那麼把計算任務分給其他節點會更合適一些。

權衡好計算消耗的能源和網絡傳輸消耗的能源是一件非常重要的事情。一般當網絡傳輸消耗的資源遠小於在本地計算消耗的能源時,我們會考慮使用邊緣計算把計算任務卸載到其他空閒的節點上,幫助實現負載均衡,保證每一個結點的高性能。

花費。目前在邊緣計算上的花費包括但不限於邊緣結點的構建和維護、新型模型的開發等。利用邊緣計算的模型,大型的服務提供商在處理相同工作的情況下能夠獲取到更大的利潤。

邊緣計算VS雲計算

前面談了這麼多邊緣計算的優勢和應用場景,並不是要證明邊緣計算可以替代雲計算,兩者沒有誰好誰壞,更應該具體到不同設備、不同應用以及不同場景裡,看看到底誰更合適。

實際上這兩者都是處理大數據的計算運行方式。但不同的是,數據不用再傳到遙遠的雲端,在邊緣側就能解決,更適合實時的數據分析和智能化處理,也更加高效而且安全。

邊緣計算,你不知道的那些事

邊緣計算服務的構建,從技術領域是一種很大的創新!如今AWS、微軟、英特爾等國外大型企業已經著手佈局邊緣計算,可以預見的是邊緣計算之於雲服務企業重要性可見一斑!

如果說雲計算是集中式大數據處理,那麼邊緣計算可以理解為邊緣式大數據處理!

兩年前,利用基於雲端的卷積神經網絡算法,一款名叫Prisma迅速竄紅,用戶只要將自己拍攝的照片交給這個 App,就會得到一張可媲美歷史名畫的藝術照片。這款應用雖然得到全球用戶的青睞,但是由於該應用的處理流程,要求每張圖片都要上傳到雲端服務器,通過雲端的卷積神經網絡算法來處理這些照片,因此用戶體驗非常差。

這便是一個典型需要邊緣計算的場景,而當 2017 年,包括華為、蘋果都在新一代智能手機芯片中加入 NPU之後,也賦予了智能手機全新的邊緣計算處理能力,華為 P20 Pro 的逆天夜拍效果,除了硬件堆積之外,處理器的 NPU 也發揮了不小的作用,去年蘋果推動的 AR 應用開發熱潮,其底層的技術支撐就是 iPhone 擁有了可以在邊緣處理實時、海量數據的能力。

從智能手機到可穿戴設備,從醫療到汽車以及工業製造,邊緣計算正在上演一個又一個行業傳奇,它的落腳點是要讓終端成為更智慧的存在——能夠實時處理數據、能夠低延時做出反饋,這不就是我們期待中的智能設備嗎!

文章鏈接https://mp.weixin.qq.com/s/ZECLows1ZCZZr5m_4MPXyw


分享到:


相關文章: