演講嘉賓 | 黃佑鐘
回顧整理 | 廖 濤
排版校對 | 宋夕明
嘉賓介紹
開發框架分論壇
黃佑鐘,海思Kirin解決方案并行與異構計算專家。
正文內容
多任務并發能更有效地利用CPU資源,特別是在多核處理器上,可以顯著提高程序的運行速度和整體性能,從而改善用戶體驗。OpenHarmony的FFRT并發編程模型為開發者提供了構建異步并發任務的能力,以更高效地開發和管理并發任務。FFRT是如何設計與實現的,有哪些重要特性?海思Kirin解決方案并行與異構計算專家黃佑鐘在第三屆OpenHarmony技術大會上進行了精彩分享。
在移動端,應用并發線程往往存在CPU多核利用率低、單線程負載高問題,形成“一核工作,多核圍觀”的情況;此外,應用線程的冗余和泛濫,導致調度開銷大,導致性能變差。針對上述問題,OpenHarmony提出了以ArkTS語言并行化技術(TaskPool)和Native并行化技術(FFRT)結合的高性能并行化解決方案,以優化負載與資源管理。
TaskPool是一種多線程并發解決方案,以支持開發者任務在OpenHarmony系統中更高效地執行任務。在TaskPool架構中,Task Dispatch Manager組件提供了優先級調度、負債均衡以及系統統一管理;Task Worker Threads組件能夠進行自適應和可伸縮;Function Flow Runtime組件能夠提供統一調度和QOS支持。
TaskPool實現了并發實例的輕量化,能夠共享更多的基礎設施資源和不可變對象。此外,由于減少了代碼便攜量,且開發者無需關心并發實例的生命周期和場景下并發任務的負載輕重,能夠幫助開發者易于開發并發任務。
FFRT(Function Flow Runtime) 是OpenHarmony原生提供的Native的并發框架。相比于傳統多線程編程模型,FFRT具備簡單易用、避免線程泛濫、負載均衡、調度開銷小等優勢。其Task-Based和Data-Driven兩大特征,使開發者可以專注于應用功能的開發,無需手動管理線程以及線程同步,實現自動負載均衡;且由于FFRT在運行時自動并發調度和執行任務,提高了任務并行度和線程利用率,降低了系統線程總數,使應用運行更流暢。
Task-Based:指在Function Flow編程模型中開發者以任務方式來組織應用程序表達,運行時以任務粒度執行調度。其中,任務定義為一種面向開發者的編程線索和面向運行時的執行對象,通常包含一組指令序列及其操作的數據上下文環境。
Function Flow編程模型中的任務包含以下主要特征:(1)任務之間可指定依賴關系,依賴關系通過Data-Driven方式表達;(2)任務可支持嵌套,即任務在執行過程中可生成新的任務下發給運行時,形成父子任務關系;(3)多任務支持互同步操作,例如等待,鎖,條件變量等。
Data-Driven:指任務之間的依賴關系通過數據依賴表達。在任務執行過程中對其關聯的數據對象進行讀寫操作。在Function Flow編程模型中,數據對象表達抽象為數據簽名,每個數據簽名唯一對應一個數據對象。數據依賴抽象為任務所操作的數據對象的數據簽名列表,包括輸入數據依賴in_deps和輸出數據依賴out_deps。
基于Data-Driven的數據依賴表達,FFRT在運行時可動態構建任務之間的基于生產者/消費者的數據依賴關系并遵循任務數據依賴狀態執行調度,包括Producer-Consumer依賴、Consumer-Producer依賴、Producer-Producer依賴等。
未來,隨著5G、AI、跨平臺框架等技術的發展和融合,未來移動端應用的并發情況將會持續增加,為開發者帶來新的挑戰和機遇。FFRT也將繼續擴展以下能力:
特定場景下,更加高效易用的High-Level抽象。
底層軟硬件優化,尤其是對異構加速器的支持。
自動化并行化發掘與評估能力。
E N D
審核編輯 黃宇
-
OpenHarmony
+關注
關注
28文章
3841瀏覽量
18267
發布評論請先 登錄
洛微科技精彩亮相第三屆智能裝卸機器人大會

中科創達旗下OSWare奧思維亮相第三屆OpenHarmony技術大會
線上逛展 | 沉浸探索第三屆OpenHarmony技術大會五大展區
第三屆OpenHarmony技術大會 生態企業分享創新成果,共繪開源系統新藍圖

市場活動 | 潤和軟件星閃業務亮相第三屆OpenHarmony技術大會

高燃回顧|第三屆OpenHarmony技術大會精彩瞬間
第三屆OpenHarmony技術大會主論壇嘉賓演講大咖金句聚焦

深開鴻亮相第三屆OpenHarmony技術大會,以技術驅動OpenHarmony生態發展

迅龍軟件受邀參加第三屆OpenHarmony技術大會,共建共享鴻蒙生態

評論