1. 程式人生 > >邊緣計算:展望與挑戰

邊緣計算:展望與挑戰

摘要:隨著物聯網的興起以及雲服務的普及,一種新的計算正規化–邊緣計算開始出現在我們視野中。邊緣計算主張在網路的邊緣處理資料,從而減少系統反應時間,保護資料隱私及安全,延長電池使用壽命,節省網路頻寬。本文我們將介紹邊緣計算的定義,並通過幾個案例介紹邊緣計算的應用。

一. 介紹
  自從2005年雲計算出現以來,我們的生活,學習和工作方式都發生了顯著的變化。例如軟體即服務(SaaS)模式的應用,如Google Apps,Twitte,Facebook等等。
1999年,物聯網(IoT)的概念首次被提出,主要用於供應鏈管理。之後這種“計算機自動感知資訊”的概念被廣泛應用到其它領域,如醫療保健,家庭,環境以及交通運輸等領域。隨著物聯網的普及,我們將會進入“後-雲服務”時代。我們生活中的大量物件將產生驚人的資料量,同時我們也將部署更多的應用來利用這些資料。據思科全球雲指數報告,到2019年,人和機器產生的資料總量將達到500澤位元組,而全球資料中心IP傳輸資料總量只有10.4澤位元組。到2019年,45%的物聯網裝置產生的資料會在網路邊緣或者靠近邊緣的地方進行儲存,處理,分析並得到合適的響應。到2020年,將會有500億的裝置連線到網際網路上。有些物聯網應用需要非常短的反應時間,有些可能涉及隱私資料,還有一些可能會產生大量的資料從而大大加重網路負荷。因此,僅僅通過雲端計算已經無法滿足這些要求。
  鑑於雲服務的弊端以及物聯網應用的需求,我們認為網路邊緣裝置的角色正在從單純的資料消費者向資料生產者及消費者轉變。本文我們將提出邊緣計算的概念,同時分析為什麼需要邊緣計算以及對邊緣計算的展望。通過智慧家居,智慧城市,雲端分流等案例,我們將更加清晰地認識邊緣計算。同時本文也提到了一些值得進一步研究的挑戰和機會,如可程式設計性,命名,資料抽象,服務管理,隱私和安全,優化指標等等。

二. 什麼是邊緣計算
  隨著網路邊緣產生的資料量不斷增加,直接在網路的邊緣進行資料處理會更加高效。之前已經有人提出了微資料中心,微雲,霧計算等概念,本節我們將解釋什麼是邊緣計算以及針對某些計算服務,為什麼邊緣計算比雲端計算更有效。
  將所有的計算任務放到雲端執行是一種有效的方式,因為雲端計算能力比邊緣裝置強很多。雖然資料處理速度很快,但是網路頻寬卻很有限。隨著資料不斷增多,資料傳輸速度變成了提升雲端計算能力的瓶頸。例如,一架波音787客機每秒會產生5G資料,但是飛機與衛星或基站之間的頻寬卻不能容納這麼大的資料傳輸量。一輛自動駕駛汽車每秒能產生1G資料,同時需要對資料進行實時處理並做出正確的動作。如果將全部資料傳到雲端進行處理,響應時間將會變得非常長,而且支援某片區域內的眾多汽車同時工作對當前的網路頻寬及可靠性來說也是一個巨大挑戰。因此,這就需要在網路邊緣裝置上直接對資料進行處理。
  幾乎所有的電子裝置都將成為物聯網的一部分,它們將扮演著資料製造者和消費者的角色,如空氣質量感測器,路燈,微波爐等等。這些裝置數量眾多,它們會產生大量資料,因此傳統雲端計算方法將無法支援如此巨大的資料。所以物聯網裝置產生的大量資料就不能全部傳到雲端,它們需要直接在網路邊緣進行處理。
這裡寫圖片描述


  圖1顯示了傳統雲端計算的結構。資料製造者生成原始資料並傳到雲端,資料消費者向雲端傳送請求然後使用資料。但是這種結構無法滿足物聯網時代的需求。首先,裝置產生的資料量太大,會導致大量不必要的頻寬和資源消耗。第二,對保護隱私的需求也阻礙了雲端計算的應用。第三,大多數物聯網終端節點都是能量有限的裝置,可能由電池供電,而無線通訊模組通常比較耗能,所以直接在邊緣節點上執行一些計算任務是非常有效的。
  在雲端計算正規化中,邊緣上的終端裝置通常扮演資料消費者的角色,例如在智慧手機上看YouTube視訊。但是現在人們還扮演著資料製造者的身份,它們利用智慧手機拍照片,拍視訊,然後分享到YouTube,Facebook,Twitter等等。但是這些圖片和視訊的資料量太大,如果直接傳到網上將佔用大量頻寬。所以可以直接在終端對圖片和視訊進行調整,然後再上傳雲端。另一個例子是可穿戴健康裝置,這些裝置收集的資料可能比較隱私,因此直接在裝置上處理資料而不是上傳雲端會更好地保護資料隱私。
  邊緣計算是一種使能技術,它可以在網路邊緣對物聯網服務的上行資料及雲服務的下行資料進行計算。這裡的“邊緣”指的是在資料來源與雲端資料中心之間的任何計算及網路資源。例如,智慧手機就是個人與雲端的“邊緣”,而智慧家居中的閘道器就是家庭裝置與雲端的“邊緣”。邊緣計算的基本原理就是在靠近資料來源的地方進行計算。從這一點來看,邊緣計算與霧計算類似,但是邊緣計算更側重“物”一側,而霧計算則更側重基礎結構方面。我們認為邊緣計算會像雲端計算一樣對我們的社會產生巨大的影響。
這裡寫圖片描述

  圖2展示了邊緣計算中的雙向計算流。在邊緣計算正規化中,物不僅僅是資料消費者,還是資料製造者。在網路邊緣,物不僅可以向雲端請求服務及內容,還可以進行計算任務。邊緣可以進行資料存貯,快取和處理,同時將雲端服務和請求發給使用者。為此需要對網路邊緣進行合理地設計,滿足安全性,可靠性及隱私保護的需求。
  與傳統雲端計算相比,將計算任務放置在靠近資料來源的地方有許多好處。研究者搭建了一個概念驗證平臺來執行面部識別應用,當把計算任務從雲端移動到邊緣時,系統反應時間從900ms降到了169ms。還有研究者使用微雲來為穿戴式認知輔助裝置分擔計算任務,結果表明系統反應時間減少了80-200ms。而且能耗也減少了30-40%。

三. 案例研究
  在雲端計算正規化中,大多數計算髮生在雲端,這種計算正規化可能導致較長的系統延遲,從而降低使用者體驗。在邊緣計算中,邊緣有一定的計算資源,可以幫助雲端分擔一部分計算任務。
在傳統的內容分發網路(CDN)中,只有資料快取在邊緣伺服器上。因為在過去的幾十年間,都是內容提供者直接將資料提供在網上。但是在物聯網時代,資料由邊緣製造並消費。所以在邊緣計算中,資料以及對於資料的操作都需要快取在邊緣上。
  邊緣計算的一個優點可以體現在線上購物服務中。消費者可能經常操作購物車,預設情況下,對購物車的操作會在雲端完成,然後更新使用者端的購物車介面。根據網速和伺服器負荷情況,這個過程可能需要很長時間,對於移動裝置來說需要的時間可能更長。隨著在移動客戶端購物的情況越來越多,為了提升使用者體驗,可以將購物車更新操作移動到邊緣節點。正如前面所說,使用者購物車資料以及對購物車的操作都可以快取在邊緣節點。當然使用者的購物車資料最終還要同步到雲端,但是這些可以在後臺執行。
  當用戶從一個邊緣節點移動到另一個邊緣節點,這就涉及多節點的協作問題。我們可以簡單將資料快取到使用者到達的各個邊緣節點,不過各節點的同步問題就需要再進一步研究了。例如:在一小片區域內導航應用可以將導航或者搜尋服務移動到邊緣;在邊緣節點進行內容過濾與整合從而減少資料傳輸量;實時應用如AR可以使用邊緣節點減少反應時間。因此,使用邊緣計算可以減少系統延遲,大大提升使用者體驗。
  手機和網路攝像頭的普及使得視訊分析變成一種新興技術。雲端計算不適合做視訊分析,因為資料傳輸的延遲太長以及出於隱私問題的擔憂。這裡我們提到一個尋找丟失兒童的例子。現在城市裡有大量的攝像頭,當某兒童丟失時,他/她很可能被某個攝像頭捕捉到。但是由於隱私問題以及傳輸成本,這些攝像頭資料通常不能全部傳到雲端,所以我們很難利用如此大範圍的攝像頭。即時可以從雲端訪問這些資料,傳輸和搜尋如此大的資料量也會消耗大量時間,這對尋找丟失兒童來說可能是無法忍受的。我們可以利用邊緣計算正規化,從雲端向目標區域內的裝置傳送搜尋丟失兒童請求。特定區域內的每臺裝置,如智慧手機會在本地攝像頭資料中進行搜尋,然後只回傳搜尋結果,這樣搜尋時間將大大減少。
  物聯網大大改善了家庭環境。市場上已經出現了一些相關產品,如智慧燈,智慧電視,掃地機器人等等。但是僅僅通過Wi-Fi等無線通訊模組將裝置連到雲端還遠不是智慧家居。在智慧家居中,除了可連線的裝置,還應該在房間,管道,地板,牆面等部署大量的感測器和控制器。它們將產生大量資料,但是考慮到隱私問題和傳輸壓力,這些資料大多需要直接在本地使用。這就使得雲端計算不再適合智慧家居,取而代之的將會是邊緣計算。通過在家庭閘道器上執行邊緣作業系統(EdgeOS),家庭裝置可以連線到閘道器,然後部署相關服務進行統一管理。
這裡寫圖片描述
  圖3顯示了智慧家居中的一種EdgeOS結構。EdgeOS可以通過Wi-FI,藍芽,ZigBee,蜂窩網路等收集屋內的各種資料。不同資料來源會在資料抽象層進行融合。資料抽象層上面是服務管理層。這一層需要支援可區分性(Differentiation), 可擴充套件性(Extensibility),隔離(Isolation),可靠性(Reliability)。
  邊緣計算正規化可以應用在智慧家居,社群甚至在城市裡。主要原因有以下幾點:
1. 大資料量:到2019年,一個擁有一百萬常住人口的城市每天將產生180PB的資料,這些資料來自於公共安全,醫療健康,交通運輸等等。建造一個集中式的雲資料中心來處理這些資料是不現實的。邊緣計算則是一個有效的解決方案。
2. 低延遲:對於那些需要確定且低延遲時間的應用如醫療裝置或者公共安全裝置來說,邊緣計算也是一種合適的正規化,它可以節省傳輸時間,簡化網路結構。相比雲端處理來說,在邊緣進行資料處理,做決策也會更加高效。
3. 位置感知:對於基於地理位置的應用如交通運輸設施管理,邊緣計算可以獲得更準確的位置資訊。可以根據位置收集資料並處理,不需要傳到雲端。

  在工業界和學術界,雲可以說是大資料處理的標準計算平臺。雲端計算要求資料傳到雲端進行處理,但在許多情況下,由於隱私問題和資料傳輸成本,擁有資料的利益相關者很少願意分享資料,因此多個利益相關者合作的機會有限。而邊緣作為一個小型資料中心,連線了雲端和終端使用者。協作式邊緣連線了多個不同邊緣。這種像眾議院一樣的連線方式可以讓不同利益相關者合作及分享資料。
這裡寫圖片描述
  在不久的將來,一個非常有價值的應用是可連線醫療健康應用,如圖4所示。舉個例子,假如流感爆發了,病人流向醫院,同時病人的電子病歷將會更新。醫院統計並分享流感爆發相關資訊,如平均治療成本,症狀,患病人數等等。理論上病人會根據處方去藥房拿藥,但也有可能病人沒有遵醫囑進行治療,但是醫院並不知道病人沒有拿藥,所以醫院不得不擔負起再治療的責任。現在通過協作式邊緣,藥房可以向醫院提供病人的購藥記錄,從而使醫療責任更加清晰。
同時,藥房利用協作式邊緣從醫院獲取患病人數,這樣藥房可以提前備貨,從而獲取更多利潤。此外藥房還可以從製藥公司獲取藥品的價格,位置,庫存量。藥房還可以獲取物流公司的運送價格,從而制定更合適的用藥計劃。藥企可以根據藥房送來的用藥資料制定合理的生產計劃。同時,政府疾控中心還可以通過檢測患病人數,向特定區域內的人群發出告警並採取相應措施抑制流感傳播。
流感爆發後,保險公司需要根據政策向病人支付醫藥費。保險公司可以分析患病人數的比例及治療成本,從而調節下一年的保險費用。如果病人願意提供個人電子病歷,保險公司還可以提供定製化的醫療保健政策。

四. 機遇和挑戰

  上一節我們介紹了幾個邊緣計算的應用例項。本節我們將總結邊緣計算的挑戰並提出一些值得進一步研究的解決方案。主要涉及可程式設計性,命名,資料抽象,服務管理,隱私和安全,以及優化指標。
1. 可程式設計性
  雲端計算中,使用者編寫程式並部署在雲端。雲提供者負責決定在哪裡執行計算任務。使用者並不知道應用是如何執行的,這也是雲端計算的一個優點,雲端計算的基礎設施結構對使用者來說是透明的。通常情況下由於程式只執行在雲端,是由一種程式語言完成並編譯到特定目標平臺執行。但是在邊緣計算中,計算任務分到各種不同平臺的邊緣節點上。不同節點執行時間不同,程式開發者面臨著巨大的困難。
  為了解決邊緣計算的可程式設計性問題,我們提出了計算流的概念。它是指在資料傳播途徑上對資料的一系列操作。這些操作可以包含應用的全部或區域性功能。計算流是由軟體定義的計算過程,可以在資料產生裝置,邊緣節點以及雲環境上以一種分散式的高效方式對資料進行處理。正如邊緣計算的定義一樣,計算應該在邊緣完成而不是雲端。這種情況下,計算流可以幫助使用者決定哪些操作需要執行以及資料如何傳播。在哪裡執行操作的衡量指標可以是延遲時間,能耗,軟硬體限制等等。通過部署計算流,我們認為資料的計算應該儘可能靠近資料來源,從而減少資料傳輸成本。在計算流中,操作可以重新分配,對應的資料和狀態也要重新分配。此外,我們還要解決協作問題,如資料同步等。
2. 命名
  在邊緣計算中,一個重要的假設是物的量非常大。在邊緣節點上執行著許多應用,每個應用都有自己的服務組織架構。與所有的計算機系統類似,在邊緣計算中,對於程式設計,定址,物體識別以及資料通訊來說,命名原理都是非常重要的。但是現階段對於邊緣計算正規化來說還沒有確定一種高效的標準化的命名機制。為了與各種異構系統進行通訊,邊緣開發者需要學習多種網路通訊協議。邊緣計算的命名原理需要解決物體的可移動性,網路拓撲的高度變化性,隱私和安全保護以及對於大量不確定物體的可擴充套件性等問題。
  傳統命名機制如DNS,URI可以滿足當前大多數網路要求。但是它們的靈活性不高,無法服務於動態邊緣網路。因為邊緣上的裝置具有高度移動性且資源有限。對於那些資源有限的裝置,也無法支援基於IP的命名原理。
  新的命名機制如命名資料網路(NDN)及MobilityFirst可以應用在邊緣計算中。NDN提供了一種分層命名結構,它擁有很好的擴充套件性,良好的可讀性,便於服務管理。但是為了適合其它通訊協議如藍芽,Zigbee等,還需為其新增額外的代理。NDN的另一個問題是安全性,因為很難將裝置硬體資訊與服務提供者分離開來。為了提供更好的移動支援能力,MobilityFirst可以將名字與網路地址分隔開,不過需要使用全球唯一識別符號(GUID)。MobilityFirst的另一個缺點是不便於服務管理,因為GUID的可讀性不好。
這裡寫圖片描述
  對於比較小的固定邊緣,如家庭環境,可以通過EdgeOS為每個裝置分配網路地址。在一個系統中,每個裝置都有唯一一個人類可讀的名字,它描述了下列資訊:位置,角色,資料描述。例如“廚房.微波爐.溫度”。如圖5所示,EdgeOS會為其分配相應的識別符號及地址。每個物體都有一個唯一的人類可讀的名字,從而便於服務管理,物體判斷,部件更換。這種命名機制對於使用者和服務提供者來說都是十分方便的。例如使用者會從EdgeOS接收到諸如“臥室天花板上的燈壞掉了”之類的資訊,這樣使用者可以直接更換燈泡,不需要查詢錯誤程式碼或者為燈泡重新配置網路地址。這種命名機制為服務提供者提供了更好的可程式設計性,遮蔽了硬體資訊,從而更好地保護資料隱私及安全。唯一識別符號與網路地址可以與人類易讀的名字一一對應。EdgeOS使用識別符號進行物體管理。網路地址如IP地址或MAC地址可以用來支援各種通訊協議,如藍芽,WIFI,Zigbee等等。

  1. 資料抽象
      EdgeOS上執行著各種應用,每種應用藉助服務管理層API提供特定的服務。在無線感測器網路和雲端計算正規化中已經對資料抽象問題有了深入的研究。但是在邊緣計算中,這個問題變得更具挑戰性。在物聯網時代,網路中存在大量資料產生裝置。這裡我們舉智慧家居為例,在智慧家居環境中,幾乎所有的裝置都會向EdgeOS傳送資料。但是大多數網路邊緣上的裝置只會週期性地向閘道器傳送資料。例如溫度計每隔一分鐘傳送一次資料,但是在一天之內這些資料只會被真正的使用者使用幾次。另一個例子是家庭安防攝像頭。它會隨時記錄資料併發送到閘道器,但是這些資料會儲存在資料庫中一段時間,並沒有人使用,最終被新資料取代。
    這裡寫圖片描述
      根據上述情況,我們認為在邊緣計算中應該儘可能地減少人的介入,邊緣節點應該消費/處理全部的資料,並且以一種積極主動的方式與使用者進行互動。這種情況下,閘道器需要對資料進行預處理,例如噪聲去除,事件檢測以及隱私保護等等。處理後的資料將發到上層用於提供合適的服務。這個過程面臨幾個挑戰。首先,如圖6所示,不同裝置傳來的資料格式不同。考慮到隱私和安全問題,閘道器上的應用不應該獲取原始資料,它只需要從完整資料表中獲取感興趣的內容即可。資料表的格式可以是ID,時間,名字,資料(如0000,12:34:56pm 01/01/2016,kitchen.oven2.temperature3, 78)。但是感測器資料被隱藏起來了,所以可能影響到資料可用性。第二,有時候很難決定資料抽象的程度。如果過濾掉太多的原始資料,某些應用或服務可能就無法獲取足夠的資訊。但是如果保留太多原始資料,資料儲存也會很麻煩。有時候由於感測器精度不高,環境不穩定或者通訊不正常,邊緣裝置上的資料資訊可能並不可靠,所以如何從不可靠的資料中抽象出有用資訊也是一個挑戰。
      收集資料是為應用服務的,為了完成特定的服務,應用需要對物體實施控制,如讀寫資料。資料抽象層將資料呈現方式以及相應的操作結合起來,並提供了一個公共介面。此外,由於裝置的多樣性,資料的呈現方式與相應的操作都有所差異,所以找到一種通用的資料抽象方式也並非易事。

  2. 服務管理
      對於網路邊緣上的服務管理,為了保證系統穩定,我們認為需要具有以下幾個特性:可區分性,可擴充套件性,隔離,可靠性。
      可區分性:隨著物聯網的快速發展,網路邊緣上會部署多個服務。不同服務應該具有不同優先順序,關鍵服務如物體判斷和失敗報警應該在其它普通服務之前執行。對於健康相關的服務,心跳停止檢測應該具有最高的優先順序。
      可擴充套件性:可擴充套件性對於網路邊緣來說是一個巨大挑戰。相對於移動系統,物聯網中的裝置更具動態性。使用者購買的新裝置能否接入原系統將是一個首先要解決的問題。這些問題可以通過設計一個靈活可擴充套件的服務管理層來解決。
      隔離:隔離是網路邊緣需要解決的另一個問題。在移動系統中,如果應用崩潰了,整個系統將會重啟。在分散式系統中,共享資源可以通過不同的同步機制如鎖或令牌環等進行管理。但是在EdgeOS中,這個問題會更復雜。多個應用會共享相同的資源,例如對燈的控制。如果應用崩潰了或者沒有響應,使用者應該在不破壞整個EdgeOS的情況下依然可以對燈進行控制。當用戶從系統中移除控制燈的應用之後,燈仍然需要與EdgeOS保持連線。我們可以通過部署/取消部署框架解決這個問題。如果在應用安裝之前系統檢測到了衝突,就會向用戶傳送警告,從而避免潛在的訪問問題。另一個問題是如何將使用者個人資料與第三方應用隔離開來。例如你的活動追蹤應用不能訪問你的用電量資料。為了解決這個難題,我們可以在EdgeOS的服務管理層中加入一種訪問控制機制。
      可靠性:可靠性也是一個重要問題。從服務的角度來看,有時候很難準確識別服務失敗的原因。例如,如果一臺空調壞了,可能的原因有電源斷開,壓縮機故障,甚至溫度控制器電池耗盡。由於電池耗盡,連線條件惡劣或者部件磨損,感測器節點可能會與系統失去連線。 如果EdgeOS可以提醒使用者哪個部件無響應,或者提前警告使用者系統中的哪個部件有損壞的風險,這種使用者體驗非常好。從系統的角度來看,保持整個系統的網路拓撲型別非常重要,系統中的每個部件都可以向EdgeOS傳送狀態/診斷資訊。這樣就可以很容易地部署錯誤檢測,裝置替換以及資料質量檢測等服務。從資料的角度來看,對可靠性的挑戰主要來自於感測器資料和通訊部分。正如之前研究和討論過的,網路邊緣可能因為各種原因發生故障,傳送不可靠的資料。我們也提到了許多用於物聯網資料收集的新型通訊協議,它們可以支援大量感測器節點和動態網路條件。但是它們的連線可靠性沒有藍芽或者WIFI好。如果資料和通訊不可靠,提供可靠的服務將是一個挑戰。

  3. 隱私和安全
      在網路邊緣,資料隱私和安全保護是一個重要服務。如果物聯網應用部署在家庭中,使用者的大量隱私資料會被收集。例如我們可以通過讀取電量和水量使用資料判斷家中是否有人。因此如何在不涉及隱私的情況下提供服務也是一個問題。有些隱私資訊可以在處理資料之前剔除,例如遮蔽視訊中的面部。我們認為在邊緣資料來源上進行計算,也就是在家裡,可能是一個不錯的保護隱私和資料安全的方法。
      我們要提高對資料隱私和安全的意識。以WIFI網路為例,在4.39億家庭網路連線中,49%的WIFI網路不安全,80%的家庭路由器使用預設密碼。89%的公共WIFI熱點不安全。所有的利益相關者包括服務提供者,系統和應用開發者以及終端使用者都需要意識到使用者隱私有可能會受到侵害。如果不加防護的話,攝像頭,健康監測器甚至WIFI玩具都可能被他人連線。
      第二個要提到的問題是資料的所有權。在移動應用中,終端使用者的資料由服務提供者儲存和分析。但是讓資料留在產生資料的地方,讓使用者擁有資料可以更好地保護隱私。 與健康資料類似,邊緣收集的使用者資料應該儲存在邊緣並且由使用者決定是否提供給服務提供者。
      第三個問題是在網路邊緣上,保護隱私和資料安全的有效工具太少。有些裝置的資源有限,當前的一些安全防護方法無法部署在上面。而且網路邊緣環境多變,因而易受攻擊,不好防護。為了保護隱私,有些平臺如移動醫療提出統一健康資料儲存標準。但是對於邊緣計算來說,卻缺少處理各種資料的工具。

  4. 優化指標
      在邊緣計算中,有多個層次具有計算能力。那麼應該如何分配工作負載呢?我們可以考慮以下幾個分配策略,如在每層均勻分配負載或者在每層完成儘可能多的任務。極端情況是完全在端點操作或者完全在雲端操作。為了選擇最佳的分配策略,本節我們將討論幾個優化指標,包括延遲,頻寬,能耗和成本。
      延遲:延遲是衡量效能的最重要的指標之一,特別是在互動式應用或服務中。雲端計算中的伺服器可以提供強大的計算能力。他們可以在短時間內處理非常複雜的任務,如影象處理,語音識別等等。但是延遲不是由計算時間決定的。長網路延遲會對實時/互動式應用的行為產生深遠的影響。為了減少延遲,最好在最近的物理層完成工作。例如在智慧城市案例中,我們可以先用手機處理本地相片,然後只需向雲端傳送丟失兒童相關資訊即可,不需要上傳全部相片,因此這種方式速度更快。但是在最近的物理層處理工作並不總是最好的方式。我們需要考慮資源使用情況,避免不必要的等待時間,這樣才可以建立一個最佳的邏輯層次。比如當用戶正在玩遊戲時,由於手機的計算資源已經被佔用了,此時最好將相片傳至最近的閘道器或微中心進行處理。
      頻寬:從延遲的角度來看,高頻寬可以減少傳輸時間。對於短距離傳輸,我們可以建立高頻寬來向邊緣傳送資料。一方面,如果資料可以在邊緣進行處理,系統延遲將大大減少,同時也可以節省邊緣與雲端的頻寬。例如在智慧家居案例中,通過WIFI或者其他高速傳輸方式,幾乎所有的資料都可以在閘道器進行處理。此外傳輸可靠性也得到了提升,因為傳輸距離比較短。另一方面,雖然邊緣不能完成全部工作,不能減少傳輸距離,但是至少可以通過對資料進行預處理來顯著減少上傳的資料量。
      能耗:對於網路邊緣上的裝置來說,電池是最珍貴的資源。對於端點層,將一部分工作在邊緣完成可以節省能耗。但是關鍵要在計算能耗和傳輸能耗間進行權衡。總的來說,我們先要考慮工作負載的能耗特性。計算量大不大?需要使用多少資源?除了網路訊號強度之外,資料大小和可用頻寬都會影響傳輸能耗。如果傳輸開銷小於本地計算開銷,最好使用邊緣計算。但是如果我們關注的是整個邊緣計算的過程,而不僅僅是端點,那麼總能耗就應該是每層能耗之和。與端點層類似,每層能耗包括本地計算能耗與傳輸能耗。這樣最佳工作分配策略就有可能改變。例如本地資料中心正忙,那麼工作應該上傳至上層完成。與在端點計算相比,多跳傳輸會顯著增加系統開銷,從而增加能耗。
      成本:從服務提供者的角度來看,例如YouTube,亞馬遜等等,邊緣計算為他們提供了更少的延遲和能耗,從而增加資料吞吐量,改善使用者體驗。因此,他們可以在處理相同工作量的同時,賺去更多的利潤。例如,根據大多數居民的興趣,我們可以將某個熱門視訊放在建築層邊緣,這樣城市層邊緣就可以處理更復雜的任務,總資料吞吐量就可以提高。服務提供者的投入就是建立和維護每一層的成本。為了充分利用每一層的本地資料,提供者可以根據資料的位置向用戶收費,同時還需要開發新的成本模型來保證服務提供者的利潤和使用者的可接受性。
    工作分配不是一件容易的事。各個衡量指標之間是密切相關的。例如有時由於能量限制,工作負載需要在城市資料中心完成。與構建伺服器層相比,能量限制不可避免地會影響延遲。對於不同的工作負載,指標應該具有不同優先順序(或權重),從而選擇合理的分配策略。此外,成本分析需要在系統執行時進行。同時還應該考慮併發工作的相互干擾以及資源用量。

五.總結

  現在,由於在邊緣處理資料能保證更短的響應時間和更好的可靠性,越來越多的服務從雲端移至網路邊緣,如果在邊緣處理大量資料,就可以避免將資料傳至雲端,從而節省頻寬。物聯網和移動裝置的普及改變了邊緣在計算正規化中的角色,邊緣正從單純的資料消費者向資料生產者及消費者轉變。在網路邊緣處理資料會更加高效。本文我們提出了對邊緣計算的理解,基本原理是在靠近資料來源的地方進行計算和處理。然後我們列舉了幾個案例如智慧家居,智慧城市來進一步介紹邊緣計算的應用。我們也引入了協作式邊緣的概念,因為邊緣可以在物理上和邏輯上連線終端使用者和雲端,所以仍需要支援傳統雲端計算正規化,而且它可以連線遠距離網路用於資料共享。最後,我們提出了仍值得進一步研究的挑戰和機會,包括可程式設計性,命名,資料抽象,服務管理,隱私和安全防護以及優化指標。不管你見或不見,邊緣計算就在那裡,我們希望本文可以讓更多的人關注邊緣計算,用邊緣計算改善我們的生活。