演講嘉賓 | 黃佑鐘
回顧整理 | 廖 濤
排版校對 | 宋夕明

嘉賓介紹
開發(fā)框架分論壇
黃佑鐘,海思Kirin解決方案并行與異構(gòu)計算專家。
正文內(nèi)容
多任務(wù)并發(fā)能更有效地利用CPU資源,特別是在多核處理器上,可以顯著提高程序的運行速度和整體性能,從而改善用戶體驗。OpenHarmony的FFRT并發(fā)編程模型為開發(fā)者提供了構(gòu)建異步并發(fā)任務(wù)的能力,以更高效地開發(fā)和管理并發(fā)任務(wù)。FFRT是如何設(shè)計與實現(xiàn)的,有哪些重要特性?海思Kirin解決方案并行與異構(gòu)計算專家黃佑鐘在第三屆OpenHarmony技術(shù)大會上進行了精彩分享。

在移動端,應(yīng)用并發(fā)線程往往存在CPU多核利用率低、單線程負載高問題,形成“一核工作,多核圍觀”的情況;此外,應(yīng)用線程的冗余和泛濫,導致調(diào)度開銷大,導致性能變差。針對上述問題,OpenHarmony提出了以ArkTS語言并行化技術(shù)(TaskPool)和Native并行化技術(shù)(FFRT)結(jié)合的高性能并行化解決方案,以優(yōu)化負載與資源管理。

TaskPool是一種多線程并發(fā)解決方案,以支持開發(fā)者任務(wù)在OpenHarmony系統(tǒng)中更高效地執(zhí)行任務(wù)。在TaskPool架構(gòu)中,Task Dispatch Manager組件提供了優(yōu)先級調(diào)度、負債均衡以及系統(tǒng)統(tǒng)一管理;Task Worker Threads組件能夠進行自適應(yīng)和可伸縮;Function Flow Runtime組件能夠提供統(tǒng)一調(diào)度和QOS支持。

TaskPool實現(xiàn)了并發(fā)實例的輕量化,能夠共享更多的基礎(chǔ)設(shè)施資源和不可變對象。此外,由于減少了代碼便攜量,且開發(fā)者無需關(guān)心并發(fā)實例的生命周期和場景下并發(fā)任務(wù)的負載輕重,能夠幫助開發(fā)者易于開發(fā)并發(fā)任務(wù)。

FFRT(Function Flow Runtime) 是OpenHarmony原生提供的Native的并發(fā)框架。相比于傳統(tǒng)多線程編程模型,F(xiàn)FRT具備簡單易用、避免線程泛濫、負載均衡、調(diào)度開銷小等優(yōu)勢。其Task-Based和Data-Driven兩大特征,使開發(fā)者可以專注于應(yīng)用功能的開發(fā),無需手動管理線程以及線程同步,實現(xiàn)自動負載均衡;且由于FFRT在運行時自動并發(fā)調(diào)度和執(zhí)行任務(wù),提高了任務(wù)并行度和線程利用率,降低了系統(tǒng)線程總數(shù),使應(yīng)用運行更流暢。

Task-Based:指在Function Flow編程模型中開發(fā)者以任務(wù)方式來組織應(yīng)用程序表達,運行時以任務(wù)粒度執(zhí)行調(diào)度。其中,任務(wù)定義為一種面向開發(fā)者的編程線索和面向運行時的執(zhí)行對象,通常包含一組指令序列及其操作的數(shù)據(jù)上下文環(huán)境。
Function Flow編程模型中的任務(wù)包含以下主要特征:(1)任務(wù)之間可指定依賴關(guān)系,依賴關(guān)系通過Data-Driven方式表達;(2)任務(wù)可支持嵌套,即任務(wù)在執(zhí)行過程中可生成新的任務(wù)下發(fā)給運行時,形成父子任務(wù)關(guān)系;(3)多任務(wù)支持互同步操作,例如等待,鎖,條件變量等。
Data-Driven:指任務(wù)之間的依賴關(guān)系通過數(shù)據(jù)依賴表達。在任務(wù)執(zhí)行過程中對其關(guān)聯(lián)的數(shù)據(jù)對象進行讀寫操作。在Function Flow編程模型中,數(shù)據(jù)對象表達抽象為數(shù)據(jù)簽名,每個數(shù)據(jù)簽名唯一對應(yīng)一個數(shù)據(jù)對象。數(shù)據(jù)依賴抽象為任務(wù)所操作的數(shù)據(jù)對象的數(shù)據(jù)簽名列表,包括輸入數(shù)據(jù)依賴in_deps和輸出數(shù)據(jù)依賴out_deps。
基于Data-Driven的數(shù)據(jù)依賴表達,F(xiàn)FRT在運行時可動態(tài)構(gòu)建任務(wù)之間的基于生產(chǎn)者/消費者的數(shù)據(jù)依賴關(guān)系并遵循任務(wù)數(shù)據(jù)依賴狀態(tài)執(zhí)行調(diào)度,包括Producer-Consumer依賴、Consumer-Producer依賴、Producer-Producer依賴等。

未來,隨著5G、AI、跨平臺框架等技術(shù)的發(fā)展和融合,未來移動端應(yīng)用的并發(fā)情況將會持續(xù)增加,為開發(fā)者帶來新的挑戰(zhàn)和機遇。FFRT也將繼續(xù)擴展以下能力:
特定場景下,更加高效易用的High-Level抽象。
底層軟硬件優(yōu)化,尤其是對異構(gòu)加速器的支持。
自動化并行化發(fā)掘與評估能力。
E N D
審核編輯 黃宇
-
OpenHarmony
+關(guān)注
關(guān)注
33文章
3950瀏覽量
21041
發(fā)布評論請先 登錄
帝奧微第三屆經(jīng)銷商大會圓滿舉行
第三屆開放原子大賽首批賽項頒獎儀式圓滿落幕
第三屆引望車聯(lián)網(wǎng)安全大會圓滿結(jié)束
國際星閃聯(lián)盟亮相第三屆電子紙產(chǎn)業(yè)創(chuàng)新大會
第三屆開放原子大賽正式啟動
奇異摩爾出席第三屆芯粒開發(fā)者大會AI芯片與系統(tǒng)分論壇
行芯科技亮相第三屆芯粒開發(fā)者大會
第三屆大會回顧第6期 | HarmonyOS NEXT原生智能,助力應(yīng)用低成本生而智能
華為智能光伏第三屆全球安裝商大會圓滿收官
格創(chuàng)東智亮相第三屆軟件創(chuàng)新發(fā)展大會
軟通動力亮相第三屆軟件創(chuàng)新發(fā)展大會
天合光能受邀出席第三屆新能源電力發(fā)展論壇
洛微科技精彩亮相第三屆智能裝卸機器人大會
第三屆大會回顧第3期 | FFRT并發(fā)框架在OpenHarmony中的設(shè)計與實踐
評論