天天看點

HDC2021技術分論壇:分布式軟時鐘有多重要?

分布式軟總線是HarmonyOS的關鍵根技術之一,也是衆多開發者們非常關注的一項技術。通過分布式軟總線,可以将多個不同類型的裝置按場景連接配接在一起,形成超級終端,為消費者帶來全場景新體驗。本期,我們就來聊一聊分布式軟總線,以及其關鍵技術——分布式軟時鐘。

一、分布式軟總線帶來不一樣體驗

我們先來看看,分布式軟總線能為使用者使用超級終端帶來哪些不一樣的體驗呢?

1. 無感發現與連接配接,讓多個裝置自動組成超級終端

HDC2021技術分論壇:分布式軟時鐘有多重要?

通過分布式軟總線,可以将同賬号下的多個裝置即時連接配接到一起。如上面的視訊所示,同一個賬号下的多個裝置在超級終端的控制中心時刻都是實時線上的。這樣,讓使用者使用由多個裝置組成的超級終端,就像操作單個裝置一樣簡單。

首次發現時,兩個陌生裝置發現與連接配接的時間降至0.5秒,極大改善了使用者體驗。首次連接配接成功後,下次兩個裝置就能無感發現和連接配接了。

為達成“無感的發現與連接配接”體驗,我們采取了以下關鍵措施:

  • 占空比調整: 占空比動态調速,加速發現。
  • 優先級控制: 基于場景的優先級控制VO、VI、BE、BK。
  • 異構混合組網: 藍牙和WiFi混合組網,可信裝置自組網。
  • 裝置資訊交換: 組網後裝置間資訊交換,及時感覺上下線及資訊管理。
  • 政策控制: 基于場景感覺的發現政策,包括亮滅屏、前背景、夜間、運動等多種場景。

2. 逼近空口速率的傳輸速度,讓GB級檔案秒傳完成

HDC2021技術分論壇:分布式軟時鐘有多重要?

以上視訊中,通過華為分享一個5GB的檔案,基本在20秒完成傳送,傳輸速率逼近空口速率。

為達成“極緻資料傳輸”體驗,我們采取了以下關鍵措施:

  • 快速喚醒與啟動晶片,進入高性能模式。
  • 精準流控算法,調整傳輸速率。
  • 極簡協定支援,傳輸功耗降低10%。
  • 多徑雙路并發,提升檔案傳輸的吞吐能力。
  • 多級動态緩沖池技術,合理排程提升端到端運力。

二、分布式系統的新挑戰

分布式軟總線已經在發現與連接配接、傳輸方面做了很多,有了很大提升。但是随着分布式系統發展,接入的裝置越來越多,分布式軟總線面臨以下兩大新挑戰:

1. 分布式系統裡的裝置越多,通信能力要求越高

HDC2021技術分論壇:分布式軟時鐘有多重要?

圖1 分布式軟總線

如上圖所示,五大智慧場景的多種裝置接入分布式軟總線,裝置越多,對分布式軟總線的通信能力要求越高。

分布式軟總線分為任務總線和資料總線。短資料(比如控制類指令、短的消息包)通過任務總線傳輸,檔案、媒體流等通過資料總線傳輸。對于媒體流,發送和接收的兩個裝置在處理每一幀資料的時候,要嚴格按照幀率的倒數做資源供給。

比如,幀率為90,則必須在每1/90(大約11.1)毫秒時,兩端裝置中的每個子系統都能恰好處理完,才能使得媒體不出現卡頓和花屏,同時又能保證兩個裝置的功耗是最低的,在使用者體驗與功耗之間取得最佳且最合理的平衡。

然而每個裝置的硬體能力可能不同,比如一台高端手機和一台低端手機同時向一台大屏投屏,如何使得各裝置都能恰好按序完成業務,其中就需要多裝置間一緻的時鐘。

而每個裝置有自己的時鐘,其精度由其本機所帶晶振決定,就會非常容易出現因時鐘精度不一樣而導緻時鐘不同步。時鐘不一緻就可能導緻兩端收發節奏不一緻,容易産生丢包。這時,在多裝置之間建構一套分布式軟時鐘就非常重要了,它能讓由超級終端裡的多個裝置保持節奏一緻。

2. 空口資源如何合理、且最大程度的使用

HDC2021技術分論壇:分布式軟時鐘有多重要?

圖2 空口資源

空口資源在使用中擺脫不了多媒體頻段沖突、随機接入競争、同頻競争和鄰頻幹擾等。除此之外,随着手機上安裝的App和原子化服務越來越多,跨端協同也越來越多,兩個裝置之間有多對應用互動。同時,跨端協同的裝置數量越來越多。這種情況下,空口資源如何被進一步複用?隻靠頻分,無法滿足業務需求,還需引入時分複用來實作空口資源的最大程度使用。提到時分複用,那就不得不提分布式軟時鐘了。

三、什麼是分布式軟時鐘?

從上面分布式系統的兩個新挑戰可知,多裝置間的時鐘同步,以及空口資源的時分複用都離不開分布式軟時鐘,它是解決問題的關鍵鑰匙之一。那麼,什麼是分布式軟時鐘呢?

分布式軟時鐘:以異構網絡拓撲與結構為基礎,以時間同步方式為超級終端分布式系統建構一個統一的時鐘源,協調各裝置業務時鐘,并保持高精度時鐘進行分布式業務。

時鐘同步時,分布式軟時鐘需要解決以下問題:

  • 每個裝置都有自己的獨立時鐘源,晶振品質決定時鐘偏移不同。
  • 瞬時單次測量要求雙端線上,否則無法進行交換與對比。
  • 持續同步将帶來功耗與通信消耗,如何在精度與成本間平衡。

對于上述問題,分布式軟時鐘通過軟體算法來解決。分布式軟時鐘的同步算法如下圖所示:

HDC2021技術分論壇:分布式軟時鐘有多重要?

圖3 分布式軟時鐘的同步算法

圖3中,以P節點作為基準的時鐘源,其他節點(比如A節點和B節點)與P節點之間,除了本地時間差異外,還存在時間漂移和時鐘頻率差異等。把這些因素考慮在内,就能得出各節點上資料包接收時間的公式,以及節點之間的資料包接收時間內插補點。這樣,通過調整時間差,就能實作多節點之間的時鐘同步。

四、分布式軟時鐘的用途

下面我們來看看分布式軟時鐘的用途:

1. 使更多的裝置可以自動組網,并進行動态拓樸管理。

引入時鐘後,時分複用讓極少的頻譜資源支援更多裝置的連接配接成為可能。根據每個裝置的特征、賬号、承載的業務等資訊,就可以自動組裝成一個超級終端。比如,音箱與PAD、PC、手機等自動組成樹形的拓撲結構,這些裝置都可以連接配接音箱來發聲。同時,可以将現有BLE的三個廣播信道基于分布式軟時鐘的不同時間戳來連接配接不同裝置,使未來一個家庭多達幾百台智能家居裝置連接配接在一起成為可能。

2. 在無線幹擾環境中發揮抗幹擾作用。

以WiFi 2.4G為例:凡是落在實線拱門内的虛線信道就會有無線幹擾存在,隻有跨拱門的信道之間才沒有幹擾,但這樣就使得無幹擾的信道數是3個,大大降低了同時進行業務的裝置數量。

HDC2021技術分論壇:分布式軟時鐘有多重要?

圖4 WiFi 2.4G

多裝置自動組網後,分布式軟總線可以從全視角看到哪些裝置能夠發生業務、業務特征、需要的帶寬、時延、功耗等,也能從單裝置看到裝置與全局的關系。這樣,當超級終端中的多對裝置發生業務時,就可以通過全視角、單裝置視角為其選擇合适的頻點、頻寬的信道為其工作,再加上分層控制及QoS管理,就使幹擾降到最低成為可能。

3. 多裝置業務協同的功耗控制。

如果沒有時鐘,接入裝置越多,裝置之間需要來回協商資源,也就是所謂的退讓機制,造成資源浪費,同時降低了使用者體驗。引入時鐘之後,通過時分與頻分複用,裝置之間無序的通信變得更加有序。

HDC2021技術分論壇:分布式軟時鐘有多重要?

圖5 時分與頻分複用

除了以上給出的分布式軟時鐘常用的場景,随着業務複雜性越來越多,分布式軟時鐘還可以在更多場景中發揮更多的作用。比如多裝置所帶傳感器信号的采集,分布式軟時鐘就可以使得不同傳感器上時鐘保持一緻,以便于更好了解使用者意圖,為使用者提供更加智能與貼心的服務,讓使用者的生活與工作更加便利與簡單。

五、結束語

圖6為分布式軟時鐘的演進路徑。基于視窗協同,分布式軟時鐘精度可以達到1ms;基于分布式軟時鐘算法與傳輸層協同,分布式軟時鐘精度可以達到500us;基于分布式軟時鐘算法與傳輸層及實體層協同,分布式軟時鐘精度小于300us。同時,随着不同裝置屬性不同,所承載業務的網絡拓撲不同,其所需要的時鐘不同,将引入複雜網絡時鐘,為業務提供更加精準的時鐘。

HDC2021技術分論壇:分布式軟時鐘有多重要?

圖6 分布式軟時鐘的演進

我們不斷在算法和幹擾抑制方面進行探索,逐漸提升分布式軟時鐘的精度,讓分布式體驗越來越好!

作者:lishijun,HarmonyOS解決方案首席技術專家&軟總線首席架構師​​

​​

​​想了解更多關于鴻蒙的内容,請通路:​​

​​51CTO和華為官方合作共建的鴻蒙技術社群​​

​​https://harmonyos.51cto.com/#bkwz​​

繼續閱讀