演講嘉賓 | 黃佑鐘
回顧整理 | 廖 濤
排版校對 | 宋夕明
嘉賓介紹
開發(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ù)大會上進(jìn)行了精彩分享。
在移動端,應(yīng)用并發(fā)線程往往存在CPU多核利用率低、單線程負(fù)載高問題,形成“一核工作,多核圍觀”的情況;此外,應(yīng)用線程的冗余和泛濫,導(dǎo)致調(diào)度開銷大,導(dǎo)致性能變差。針對上述問題,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)先級調(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è)施資源和不可變對象。此外,由于減少了代碼便攜量,且開發(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ā),無需手動管理線程以及線程同步,實(shí)現(xiàn)自動負(fù)載均衡;且由于FFRT在運(yùn)行時(shí)自動并發(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í)行對象,通常包含一組指令序列及其操作的數(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í)行過程中對其關(guān)聯(lián)的數(shù)據(jù)對象進(jìn)行讀寫操作。在Function Flow編程模型中,數(shù)據(jù)對象表達(dá)抽象為數(shù)據(jù)簽名,每個(gè)數(shù)據(jù)簽名唯一對應(yīng)一個(gè)數(shù)據(jù)對象。數(shù)據(jù)依賴抽象為任務(wù)所操作的數(shù)據(jù)對象的數(shù)據(jù)簽名列表,包括輸入數(shù)據(jù)依賴in_deps和輸出數(shù)據(jù)依賴out_deps。
基于Data-Driven的數(shù)據(jù)依賴表達(dá),F(xiàn)FRT在運(yùn)行時(shí)可動態(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、跨平臺框架等技術(shù)的發(fā)展和融合,未來移動端應(yīng)用的并發(fā)情況將會持續(xù)增加,為開發(fā)者帶來新的挑戰(zhàn)和機(jī)遇。FFRT也將繼續(xù)擴(kuò)展以下能力:
特定場景下,更加高效易用的High-Level抽象。
底層軟硬件優(yōu)化,尤其是對異構(gòu)加速器的支持。
自動化并行化發(fā)掘與評估能力。
E N D
審核編輯 黃宇
-
OpenHarmony
+關(guān)注
關(guān)注
29文章
3847瀏覽量
18377
發(fā)布評論請先 登錄
格創(chuàng)東智亮相第三屆軟件創(chuàng)新發(fā)展大會
洛微科技精彩亮相第三屆智能裝卸機(jī)器人大會

中科創(chuàng)達(dá)旗下OSWare奧思維亮相第三屆OpenHarmony技術(shù)大會
線上逛展 | 沉浸探索第三屆OpenHarmony技術(shù)大會五大展區(qū)
焦點(diǎn)直擊 | 一圖盡覽第三屆OpenHarmony技術(shù)大會
第三屆OpenHarmony技術(shù)大會 生態(tài)企業(yè)分享創(chuàng)新成果,共繪開源系統(tǒng)新藍(lán)圖

第三屆OpenHarmony技術(shù)大會 “OpenHarmony開發(fā)者激勵(lì)計(jì)劃”授牌儀式圓滿舉行

市場活動 | 潤和軟件星閃業(yè)務(wù)亮相第三屆OpenHarmony技術(shù)大會

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

深開鴻亮相第三屆OpenHarmony技術(shù)大會,以技術(shù)驅(qū)動OpenHarmony生態(tài)發(fā)展

迅龍軟件受邀參加第三屆OpenHarmony技術(shù)大會,共建共享鴻蒙生態(tài)

第三屆OpenHarmony技術(shù)大會在上海成功舉辦
第三屆OpenHarmony技術(shù)大會亮點(diǎn)紛呈

評論