本發(fā)明涉及計算機,具體地,涉及一種多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法及系統(tǒng)。
背景技術(shù):
1、數(shù)據(jù)驅(qū)動任務(wù)主要特點是:任務(wù)執(zhí)行是由輸入數(shù)據(jù)的產(chǎn)生來驅(qū)動觸發(fā)的,而不是依據(jù)系統(tǒng)時間或計劃周期;當有新的數(shù)據(jù)可用時,即觸發(fā)任務(wù)執(zhí)行,進行計算或處理操作;在沒有輸入數(shù)據(jù)時,任務(wù)會等待或阻塞。任務(wù)執(zhí)行的節(jié)奏完全由輸入數(shù)據(jù)流的速率決定。
2、專利文獻cn116483545a公開了一種多任務(wù)執(zhí)行方法、裝置以及設(shè)備,包括確定根據(jù)全局變量的訪問頻繁程度,以及變量設(shè)置階段所處的位置劃分出的第一類全局變量和第二類全局變量;確定為第一類全局變量、第二類全局變量分別構(gòu)建的差異化的線程化模板;根據(jù)線程本地存儲和線程化模板,對第一類全局變量、第二類全局變量進行環(huán)境隔離處理,得到對應(yīng)的線程本地變量;根據(jù)對應(yīng)的線程本地變量,進行多線程多任務(wù)執(zhí)行。
3、但是專利文獻cn116483545a基于操作系統(tǒng)和一般情況下任務(wù)調(diào)度的,還比如專專利《一種多核嵌入式系統(tǒng)試試任務(wù)調(diào)度實現(xiàn)方法,專利號:201410086704》,專利《一種多任務(wù)環(huán)境下任務(wù)調(diào)度方法及系統(tǒng),專利號:201710380203.1》,專利《一種基于多核dsp的嵌入式資源管理方法,專利號:202010601344》,專利《一種基于多核平臺的多任務(wù)開發(fā)模型及方法,專利號:201811080482.0》,均為基于操作系統(tǒng)和一般情況下任務(wù)調(diào)度的,實現(xiàn)復雜且耗費資源。
技術(shù)實現(xiàn)思路
1、針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署與監(jiān)視方法及系統(tǒng)。
2、根據(jù)本發(fā)明提供的一種多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,包括:任務(wù)輸入輸出數(shù)據(jù)結(jié)構(gòu)、多任務(wù)調(diào)度、多核cpu大容量內(nèi)存空間配置和多核多任務(wù)部署;
3、所述任務(wù)輸入與輸出的數(shù)據(jù)均為一個或者多個數(shù)據(jù)對象,數(shù)據(jù)對象的緩沖區(qū)結(jié)構(gòu)均為隊列;所述多任務(wù)調(diào)度用于循環(huán)執(zhí)行任務(wù)輸入隊列緩沖區(qū)里符合條件的任務(wù);所述多核cpu大容量片外內(nèi)存空間配置包括配置大容量片外內(nèi)存空間,用于部署隊列數(shù)據(jù);所述多核多任務(wù)部署包括從所述多核cpu大容量片外內(nèi)存空間中調(diào)取隊列數(shù)據(jù),部署每個核心所對應(yīng)的多個任務(wù);
4、優(yōu)選地,所述多任務(wù)調(diào)度包括如下步驟:
5、步驟s1:初始化;
6、步驟s2:設(shè)置初始化完成標志位;
7、步驟s3:檢測其他核心初始化完成標志;
8、步驟s4:根據(jù)所述初始化完成標志判斷所有其他核心初始化是否完成,若是,則執(zhí)行步驟s5;若否,則返回步驟s3;
9、步驟s5:按設(shè)定的規(guī)則查詢下一個任務(wù)輸入隊列緩沖區(qū);
10、步驟s6:判斷所述任務(wù)輸入隊列緩沖區(qū)內(nèi)的數(shù)據(jù)是否符合執(zhí)行當前任務(wù)的條件,若是,則執(zhí)行所述任務(wù);若否,則返回步驟s5。
11、優(yōu)選地,所述步驟s5包括如下子步驟:
12、步驟s5.1:以n為模n自增1,n為核心內(nèi)部署的任務(wù)數(shù);
13、步驟s5.2:任務(wù)n所屬的查詢計數(shù)器變量自增1;
14、步驟s5.3:判斷當前任務(wù)查詢計數(shù)器是否等于設(shè)定值,若是,則執(zhí)行步驟s5.4;若否,則返回步驟s5.1;
15、步驟s5.4:計數(shù)器變量清零,讀取任務(wù)n隊列信息。
16、優(yōu)選地,還包括:任務(wù)執(zhí)行時間監(jiān)視和隊列緩存區(qū)監(jiān)視;
17、所述任務(wù)執(zhí)行時間監(jiān)視包括,利用系統(tǒng)時鐘記錄計算每個任務(wù)的執(zhí)行的最大執(zhí)行時間、最短執(zhí)行時間、平均執(zhí)行時間;
18、所述隊列緩存區(qū)監(jiān)視包括,利用隊列讀取指針記錄并計算隊列緩存區(qū)最大利用率,任務(wù)執(zhí)行開始前或/和結(jié)束后,隊列的平均利用率。
19、優(yōu)選地,所述大容量片外內(nèi)存空間分為多核共享內(nèi)存空間和多核私有內(nèi)存空間;
20、所述大容量片外內(nèi)存包括ddr和hbm。
21、優(yōu)選地,所述多核多任務(wù)部署包括自主多核負載均衡、單鏡像加載和多鏡像加載。
22、優(yōu)選地,每個核心中所有任務(wù)平均執(zhí)行時間小于核心源頭隊列數(shù)據(jù)的平均產(chǎn)生間隔;所述源頭隊列數(shù)據(jù)來自cpu外部接口或者其他核心任務(wù)輸出;隊列緩沖區(qū)容量大于數(shù)據(jù)突發(fā)情況下的容量需求;寫入與讀取的任務(wù)分別部署在不同核心的隊列,部署在共享內(nèi)存上。
23、優(yōu)選地,所述多核負載均衡包括負載均衡任務(wù)部署在某核心上,通過讀取各核心中任務(wù)執(zhí)行的時間,計算各核心的使用率,當使用率差別達到設(shè)定值時,重新分配各個核心執(zhí)行的任務(wù)。
24、優(yōu)選地,所述單鏡像加載方法將程序鏡像加載共享內(nèi)存,所有核心從同一內(nèi)存讀取程序,所述程序鏡像中的程序包含比較核心id號的判斷語句,跳轉(zhuǎn)執(zhí)行與id號匹配的程序。
25、優(yōu)選地,所述多鏡像加載方法將程序鏡像分別加載到各核心的私有內(nèi)存,所有核心從各自私有內(nèi)存讀取程序。
26、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
27、本發(fā)明就數(shù)據(jù)驅(qū)動任務(wù)的特點進行針對性設(shè)計,不需要操作系統(tǒng)支持,直接與多核cpu硬件深度耦合,實現(xiàn)簡單且資源利用率高。
1.一種多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,其特征在于,包括:任務(wù)輸入輸出數(shù)據(jù)結(jié)構(gòu)、多任務(wù)調(diào)度、多核cpu大容量內(nèi)存空間配置和多核多任務(wù)部署;
2.根據(jù)權(quán)利要求1所述的多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,其特征在于,所述多任務(wù)調(diào)度包括如下步驟:
3.根據(jù)權(quán)利要求2所述的多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,其特征在于,所述步驟s5包括如下子步驟:
4.根據(jù)權(quán)利要求1所述的多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,其特征在于,還包括:任務(wù)執(zhí)行時間監(jiān)視和隊列緩存區(qū)監(jiān)視;
5.根據(jù)權(quán)利要求1至3任一項所述的多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,其特征在于,所述大容量片外內(nèi)存空間分為多核共享內(nèi)存空間和多核私有內(nèi)存空間;
6.根據(jù)權(quán)利要求1所述的多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,其特征在于,所述多核多任務(wù)部署包括自主多核負載均衡、單鏡像加載和多鏡像加載。
7.根據(jù)權(quán)利要求1所述的多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,其特征在于,每個核心中所有任務(wù)平均執(zhí)行時間小于核心源頭隊列數(shù)據(jù)的平均產(chǎn)生間隔;所述源頭隊列數(shù)據(jù)來自cpu外部接口或者其他核心任務(wù)輸出;隊列緩沖區(qū)容量大于數(shù)據(jù)突發(fā)情況下的容量需求;寫入與讀取的任務(wù)分別部署在不同核心的隊列,部署在共享內(nèi)存上。
8.根據(jù)權(quán)利要求6所述的多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,其特征在于,所述多核負載均衡包括負載均衡任務(wù)部署在某核心上,通過讀取各核心中任務(wù)執(zhí)行的時間,計算各核心的使用率,當使用率差別達到設(shè)定值時,重新分配各個核心執(zhí)行的任務(wù)。
9.根據(jù)權(quán)利要求6所述的多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,其特征在于,所述單鏡像加載方法將程序鏡像加載共享內(nèi)存,所有核心從同一內(nèi)存讀取程序,所述程序鏡像中的程序包含比較核心id號的判斷語句,跳轉(zhuǎn)執(zhí)行與id號匹配的程序。
10.根據(jù)權(quán)利要求6所述的多核cpu數(shù)據(jù)驅(qū)動任務(wù)部署方法,其特征在于,所述多鏡像加載方法將程序鏡像分別加載到各核心的私有內(nèi)存,所有核心從各自私有內(nèi)存讀取程序。