天天看點

什麼是計算遷移

01

計算遷移背景

邊緣計算将網絡邊緣上的計算、存儲等資源進行有機融合,建構成統一的使用者服務平台,按就近服務原則對網絡邊緣節點任務請求及時響應并有效處理。由于邊緣節點能力、資源、帶寬、能源等受限,計算遷移便異常重要。計算遷移是邊緣計算的一個關鍵技術。

随着網際網路技術的發展,特别是智能移動終端的更新更新,智能手機擁有越來越強大的功能。移動裝置要變得更小、更輕,電池壽命變得更長,意味着計算能力會受到限制。但是,使用者對移動智能終端的期望越來越高,進而對計算和資料操作能力的要求也在提高,而實作這些功能則會損耗大量電池電量,如何協調這些沖突是目前智能移動終端發展的技術瓶頸。

在雲計算的發展熱潮之後,許多雲服務(如移動醫療、移動學習、移動遊戲和移動管理等)都可以在移動裝置上直接使用。移動邊緣計算作為一種新技術出現,它在移動使用者的近距離範圍内提供雲和IT服務。在移動邊緣計算中,邊緣雲伺服器被部署于每個基站,網絡營運商負責轉發和過濾資料分組。計算遷移技術的興起,為解決移動終端資源受限引入了新的方法。計算遷移在解決以下幾種應用情況時作用尤為明顯。

(1)将計算體遷移到其他資源豐富的終端上運作

智能移動終端可以實作大部分桌面終端上的應用,是以使用者開始将手機視為個人資訊處理工具,期望手機能夠像正常資訊處理裝置(如工作站或筆記本電腦等)那樣執行所有應用。但是,智能移動終端由于體積、輸入操作等的限制,計算資源、存儲資源、電池容量和網絡連接配接能力始終有限,無法支援一些大型應用的運作。此時,可以将部分計算體遷移到資源豐富的終端上運作,隻需傳回計算結果給移動終端就可以達到預期的計算效果。

(2)移動裝置資源共享的計算模型

新的物聯網模式使資源受限的移動裝置通過網際網路互相連接配接。但是,這些終端裝置處理能力和存儲容量有限。計算遷移中,邊緣裝置将部分計算轉移到遠端雲上執行,進而節省了移動裝置的處理能力和能量。然而,将計算遷移到公共雲需要公共雲和邊緣裝置之間通過 Internet 進行資料交換,由于網絡帶寬限制,資料交換過程可能會出現時延。為了克服這一問題,邊緣計算的遷移方法被提出,即将移動裝置的計算遷移到裝置附近的其他移動裝置上,它們之間通過 Wi-Fi連接配接。這種在移動裝置附近提供資源的其他移動終端稱為cloudlet。

(3)雲資料中心計算任務下沉到邊緣節點

雲資料中心将計算和存儲能力等資源“下沉”到網絡邊緣節點,因距離使用者更近,使用者請求不再需要經過漫長的傳輸網絡到達核心網才能被處理,而由部署在本地的邊緣伺服器将一部分流量解除安裝,降低對傳輸網和核心網帶寬的要求,直接處理并響應使用者,滿足移動網絡高速發展所需的高帶寬、低延遲時間的要求并減輕網絡負荷,大大降低了通信時延。

邊緣計算為應用程式開發人員和供應商提供實時資訊(如網絡負載、使用者位置),這些實時網絡資訊用于為移動使用者提供上下文感覺服務,進而豐富使用者的使用體驗,提升使用者滿意度。

02

計算遷移原因

計算遷移本身是一個複雜的過程,而遷移是其最顯著的特征之一,但是在不同的環境中引發遷移的原因也是不同的,具體如下。

(1)移動終端資源受限

在複雜的Internet環境中,各種網絡裝置由于體積、品質等方面的千差萬别,它們所承載的計算資源也有大有小,特别是現今智能手機普及度越來越高,人們對智能移動終端的依賴也越來越高,但智能手機由于體積的限制,不能像桌面計算機那樣執行人們期望的所有應用。另一方面,移動終端的位置是根據人的需求随機變動的,不同的實體環境中,客戶的網絡品質不盡相同,這就産生了網絡資源的動态變化[7],需要計算遷移彌補網絡連接配接差所帶來的影響。

(2)降低資料傳輸量

在計算任務執行的過程中,計算節點和本地用戶端之間會産生大量需要傳輸的中間資料,這些資料的頻繁傳輸需要耗費大量的網絡資源。而将任務遷移到計算節點執行,這些執行計算所需的資料可以直接在計算節點調用,計算節點隻需要傳回給用戶端計算結果,傳輸的資料量大大減小。

(3)減少裝置網絡時延

當使用者所在的實體環境網絡不穩定、時延高時,将計算任務遷移到計算節點執行,用戶端不必擔心網絡環境的變化,任務遷移之後使用者不必保持時刻線上。使用者可以在任務遷移到計算節點後暫時斷開網絡連接配接,待傳回結果時連接配接即可。

03

計算遷移分類

計算遷移的分類标準有很多,可以按照遷移的目的位址進行分類,也可以按照遷移的粒度進行分類。按照遷移的粒度來分,可以将計算遷移分為粗粒度計算遷移和細粒度計算遷移。

細粒度計算遷移技術首先對計算任務進行拆分。拆分方式有兩種,第一種是技術人員在編寫應用程式時,根據業務邏輯,提前對應用程式進行分區,标注适合遷移到外部進行計算的代碼塊,在執行遷移政策時,優先将适合遷移的分區解除安裝到外部伺服器。第二種是政策執行者主導任務遷移分區。技術人員對業務流程以及業務邏輯更加了解,相比第二種拆分方式,技術人員主導任務拆分在性能上更具有優勢,但是對于已經開發完畢的軟體,需要進行二次開發,這樣會增加人員成本以及時間成本。

而粗粒度計算遷移是将整個任務進行遷移。粗粒度的計算遷移可以适配目前已經完成的應用軟體,不必進行二次開發,但是全部遷移計算任務會産生較大的資源消耗和成本開銷。

04

計算遷移步驟

移動邊緣計算的計算遷移主要包括遷移環境感覺、任務劃分、遷移決策、任務上傳、MEC伺服器執行、結果傳回等六大步驟,其中任務劃分、遷移決策是最為核心的兩個環節。

什麼是計算遷移

(1)遷移環境感覺

該過程是任務遷移的準備階段,為後續過程提供參考資訊。當移動裝置有任務遷移需求的時候,它首先要在目前網絡中感覺遷移環境,其中包括能夠提供任務遷移服務的MEC伺服器的狀态與資訊、VM剩餘數量與計算性能、無線網絡的信道條件等等。這些收集的任務遷移環境變量會決定後面的遷移決策過程。

(2)任務劃分

任務劃分的功能是通過某種切分算法将一個整體的移動應用劃分為多個子任務,這些子任務一般分為本地執行任務和可遷移任務。其中本地執行任務是必須在移動裝置上執行的任務,比如使用者互動任務、裝置輸入輸出任務、外圍裝置接口任務等。可遷移任務一般是不需要與本地裝置互動的程式任務,這些任務往往是資料處理型任務,計算量較大,适合遷移到MEC伺服器上執行。任務劃分完成後形成的子任務彼此之間有資料互動,又能夠分開執行,是下一步遷移決策過程的主體。

(3)遷移決策

遷移決策過程是任務遷移流程中最核心的一個環節。該環節的功能主要是解決可遷移任務是否遷移、選擇哪個信道遷移、以多少功率傳輸等問題。這些問題的決策需要參考第一環節收集的遷移環境和第二環節劃分的子任務特性(任務計算量、任務輸入輸出資料量等)。具體決策時,會通過合适的遷移決策算法,綜合考慮各項名額(任務執行能耗、任務完成時間、使用者偏好等),選擇出最優的遷移決策。遷移決策算法在整個任務遷移過程當中起着至關重要的作用。

(4)任務送出

當移動裝置做出遷移決策之後,就可以把某些計算任務通過無線網絡遷移到MEC伺服器去執行了。任務送出環節極大的展現了移動邊緣計算在任務遷移服務的優異性能。傳統的移動雲計算提供任務遷移服務時,雲端伺服器位于核心網側,使用者上傳的資料需要經過無線接入網和多次跳轉的核心網回傳鍊路,會帶來較高的傳輸時延。移動雲計算的改進模式Cloudlet将雲伺服器部署在與移動裝置同一個區域網路絡中,使用者通過WIFI送出任務。雖然這樣的方式一定程度上解決了任務送出的傳輸時延的問題,但是,在移動邊緣計算環境下,使用者把計算任務送出給MEC伺服器去執行是一種非常有發展前景的任務遷移方案。MEC伺服器既有強大的計算和存儲能力,又有靠近使用者的高帶寬、低延遲時間的優勢,還可以依靠無處不在的移動蜂窩網絡讓使用者”随時随地”的送出任務。

(5)MEC伺服器端執行

MEC伺服器端執行計算任務采用的是定制虛拟機方案,移動用戶端把計算任務遷移到MEC伺服器後,MEC伺服器會為該任務配置設定一個虛拟機,作為一個獨立的應用來支援計算任務的執行。在MEC的虛拟機上執行任務有多種模式,例如:

1)克隆雲模式:讓虛拟機作為移動裝置的完整鏡像,其強大的計算能力和與移動裝置相同的運作環境使得移動應用可以在移動端和雲端分布式執行,兩者之間隻需要傳輸任務的輸入輸出資料和運作狀态,不需要程式的代碼的傳輸,但是該模式對MEC伺服器和移動裝置的同步要求較高;

2)動态任務執行模式:移動使用者會根據任務的計算量、資料量、資源需求等因素,動态決定是否将整個任務的代碼和輸入資料上傳到MEC虛拟機上,讓虛拟機執行,此時虛拟機擔任的隻是一個任務運作主機的作用。

(6)結果傳回

計算結果的傳回是任務遷移流程中的最後一個環節。MEC伺服器在執行完送出的任務後,會把計算結果通過無線網絡回傳給移動裝置使用。移動裝置可能會将此結果進行加工和使用後,再次啟動遷移流程,或者是主動發起斷開請求,斷開與MEC伺服器的連接配接。