天天看點

鴻蒙跨端分布式計算技術初探

作者:張晨光老師

當今的移動應用都向着智能化和多樣化方向發展,例如AI輔助,VR/AR應用,沉浸式遊戲等。然而現實中的移動裝置,因為便攜性要求受限于尺寸、電池容量以及溫控等要求,往往在算力、能耗以及所支援的輸入輸出功能上無法對智能化沉浸式體驗的應用提供全方位的支援,導緻很多應用場景難以得到實作。

為了解決移動端算力瓶頸,HarmonyOS跨端分布式計算應運而生,給使用者帶來易協同、低延遲和高穩定的分布式體驗。下面,我們将對跨端分布式計算技術進行詳細的分析。

跨端分布式計算是HarmonyOS系統利用分布式軟總線和分布式計算引擎,提供多裝置協同的跨端分布式計算能力。允許多個HarmonyOS裝置協同計算和資源分擔以及實時的任務排程。

如圖1所示,跨端分布式計算的目标是:

能随時友善的發現和啟用周邊閑置的裝置

将周邊的裝置組建成算力和差異化功能的資源池

為使用者的高體驗應用提供随需算力和特定能力的分布式解除安裝和協同能力

組合成能勝任各種新業務場景需求的超級終端

鴻蒙跨端分布式計算技術初探

圖1 跨端分布式計算能力

簡單一句話來概括就是“讓算力在分布式超級虛拟終端内高效、自由地流轉”。

前面介紹了HarmonyOS跨端分布式計算的整體概念,現在我們來探索一下跨端分布式計算面臨的挑戰。“跨端分布式計算面臨的挑戰就是無線不可靠的網絡環境”,因為在無線不可靠的網絡環境下,跨端分布式計算存在 “難協同、高延遲、低穩定”的問題。

難協同:由于分布式裝置的差異性較大且端側的各種輸入\輸出裝置的分布式協同無法被平台隐藏,使得跨端分布式裝置協同較難。

高延遲:跨端分布式應用使原本裝置内的通信變成裝置間的無線通信,有可能增加端到端的時延,而遠端程序通信的時延直接影響分布式并行計算的并行效率(或者叫并行加速比),導緻跨端分布式應用運作延遲高。

低穩定:在超級終端内部存在多裝置協同作業間業務争搶,且由于無線頻段開放性受到外部無關業務幹擾,使得分布式計算穩定性較低。

你肯定會好奇,HarmonyOS如何應對挑戰、解決問題?在無線不可靠的網絡環境下,為實作靈活、高效和穩定的跨端分布式計算能力,HarmonyOS為開發者提供了“融合計算、極簡協定及秩序化組網”的分布式計算能力解決方案。

1. 融合計算

融合計算是HarmonyOS為開發者提供的高效算力架構,如圖2所示。可以根據應用特性以及裝置特征,自動計算出最優排程政策,使應用在計算過程中實時保持最佳性能。同時,還提供極緻的輕量化運作時,包括運作時的微秒級任務啟動、空載時低資源占用,保障不同裝置有足夠的可排程餘量,提供更高的并行加速比。

鴻蒙跨端分布式計算技術初探

圖2 融合計算

2. 極簡協定

極簡協定是HarmonyOS為開發者提供的極速接口,主要展現為極簡RPC協定。

RPC,即遠端程序調用,是分布式計算最核心的基礎能力和基本通信原語,它是跨裝置協同的核心元件。整個RPC的調用過程中,如圖3所示,關鍵的瓶頸點有三個,分别是服務發現、序列化/反序列化及網絡傳輸。下面,本文将從“序列化/反序列化”及“網絡傳輸”來闡述極簡協定對分布式計算能力的影響(“服務發現”将不做介紹,因其并不直接影響算力發揮。)

鴻蒙跨端分布式計算技術初探

圖3 RPC的調用過程

(1)序列化/反序列化:

序列化/反序列化就是将資料從“處理器了解的形态”轉換成“通信和網絡能處理的形态”的過程以及逆向過程,極簡化該雙向過程的關鍵則在于智能的處理好通信開銷和壓縮等。

HarmonyOS通過運用大資料分析和數學模組化的方法建立了一套智能的參數調優機制。針對例如遊戲類和實時音視訊類的應用做了定制的優化,實作百KB級别RPC(反)序列化的計算側和網絡側綜合時延控制在5ms以内。

(2)網絡傳輸:

D2D(Device to Device,裝置到裝置)即鄰近終端裝置之間直接進行通信的技術。在傳統分布式應用場景下,裝置間更多的采用藍牙或者WIFI direct等方式D2D的通信模型,過于厚重,協定的層次并非都必要,協定的接續和互動流程也不盡精簡。

HarmonyOS分布式系統采用的極簡D2D傳輸協定棧,相較于傳統協定棧做了許多簡化處理,包括壓縮協定封裝、增加協定處理的硬體親和性,通過智能預測配合節電機制做預熱處理,避免冷啟動等。獲得5-10倍的壓縮資料同步傳輸速度提升,實作亞毫秒級的無線通信時延。

鴻蒙跨端分布式計算技術初探

圖4 極簡D2D協定

從圖4可以看出,采用D2D協定相較傳統的TCP協定,優點如下:

縮短協定路徑:精簡協定處理流程,軟體處理時延減少50%

減少線程排程:減少收發側線程排程,線程排程時延減少55%

晶片按需預熱:感覺裝置與業務狀态,晶片處理時延減少80%。

3. 秩序化組網

HarmonyOS分布式軟總線采用秩序化組網機制,保障分布式計算的穩定性。通過實作獨立的空域流量感覺和排程引擎,根據業務QoS、信道品質評估資訊、隊列資訊,配置設定裝置内資料包排隊政策、發送時隙,控制發送速率。同時,在HarmonyOS的生态裝置之間,利用軟時鐘同步技術,實作協定和軟體層面模拟的時分複用配置設定機制,實作規避互相幹擾的空口資源排程機制,極大的減少了生态裝置之間的互相幹擾,提升了通信的穩定性。軟時鐘同步技術如圖5所示,節點間協調任務和資料發送的時隙,分時間片發送資料,確定分布式系統内資料傳輸不沖突同時又充分利用信道資源。

鴻蒙跨端分布式計算技術初探

圖5 軟時鐘同步技術

今年HDC大會的分布式遊戲展區展示了一款華為與完美世界合作完成的基于HarmonyOS的分布式遊戲《新笑傲江湖》。通過利用HarmonyOS跨端分布式計算技術,實作了均負載、高幀率、低延遲時間的分布式遊戲新形态。

1. 分布式遊戲模式

玩家在啟動遊戲時可以選擇單機運作模式或分布式運作模式,如圖6所示。在分布式運作模式下,手機和PC/筆記本通過無線連接配接,手機用于遊戲操控、地圖顯示及裝備設定,PC/筆記本通過HDMI向華為智慧屏輸出顯示遊戲主場景。在遊戲過程中,智慧屏全程流暢運作4K分辨率,60幀遊戲畫面,畫質絢麗逼真,媲美3A級端遊體驗,手機操作非常流暢,甚至在多人打鬥場景下,玩家幾乎感受不到操作延遲。

鴻蒙跨端分布式計算技術初探

圖6 《新笑傲江湖》分布式版本

與傳統的手機投屏相比,分布式遊戲畫質與幀率大幅提升,發熱顯著降低,這種新的分布式遊戲互動體驗,帶來了單手機裝置完全無法比拟的沉浸式體驗。單機版本和分布式版本性能對比如圖7所示

鴻蒙跨端分布式計算技術初探

圖7 性能對比

2. 分布式遊戲關鍵

與大家熟知的投屏技術完全不同,分布式遊戲并不是将手機畫面通過流媒體傳輸後在大屏鏡像顯示,而是将遊戲任務進行了切分,在手機端僅運作遊戲邏輯及部分簡單的2D UI渲染任務,而将需要消耗大量資源的、複雜的3D渲染任務通過分布式技術解除安裝到PC或者筆記本上執行,這樣對遊戲任務進行切分後,手機的負載變輕,重負載任務配置設定在高算力裝置運作,不僅合理的利用各類裝置資源,也給遊戲玩家也帶來媲美端遊的遊戲體驗。如圖9所示,展示了跨端分布式遊戲-多屏多視角模式。

鴻蒙跨端分布式計算技術初探

圖8 跨端分布式遊戲-多屏多視角模式

完美世界副總裁崔銘表示:“本次與華為合作的分布式遊戲示範在玩家群體中産生了很大反響,我們也看到很多使用者非常期待更多分布式遊戲産品落地,并提出了諸多建議,發展的前景非常廣闊”。據悉,除遊戲應用外,HarmonyOS後續還會拓展更多分布式算力協同的場景和應用,不斷豐富超級終端内涵。在“萬物互聯”時代,讓我們一起打破想象的邊界,構想更美好的未來。