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

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

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

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

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

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

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

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