亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種硬實時系統(tǒng)資源受限偶發(fā)任務(wù)能耗優(yōu)化調(diào)度方法與流程

文檔序號:12270457閱讀:256來源:國知局
一種硬實時系統(tǒng)資源受限偶發(fā)任務(wù)能耗優(yōu)化調(diào)度方法與流程

本發(fā)明涉及嵌入式系統(tǒng)領(lǐng)域?qū)崟r任務(wù)調(diào)度技術(shù)領(lǐng)域,特別涉及一種硬實時系統(tǒng)資源受限偶發(fā)任務(wù)能耗優(yōu)化調(diào)度方法。



背景技術(shù):

硬實時嵌入式系統(tǒng)在航空航天、通信、電力、機械制造等領(lǐng)域有著廣泛的應(yīng)用,實時性和可靠性是其基本特征,任務(wù)錯過截止期限將帶來非常嚴(yán)重的后果。目前大多數(shù)硬實時嵌入式系統(tǒng)都是采用電池供電,而電池的容量和體積是有限的。系統(tǒng)能耗的增長速度遠(yuǎn)遠(yuǎn)超過電池技術(shù)的發(fā)展速度,因此,能耗問題成為嵌入式系統(tǒng)亟待解決的關(guān)鍵問題。動態(tài)電壓調(diào)節(jié)(D VS)技術(shù)和動態(tài)功耗管理(DPM)技術(shù)是目前降低系統(tǒng)能耗的兩種有效的低功耗技術(shù)。

很多研究者將實時調(diào)度理論和低功耗技術(shù)結(jié)合起來加以研究,提出了能耗優(yōu)化調(diào)度算法。但這些研究成果主要集中于相互獨立的周期任務(wù)模型。事實上,在嵌入式系統(tǒng)中,任務(wù)因共享資源而存在著相互依賴的關(guān)系。而目前存在的資源受限的能耗優(yōu)化調(diào)度算法主要針對周期任務(wù)模型,對于偶發(fā)任務(wù)模型的研究比較少。且資源受限周期任務(wù)低能耗調(diào)度算法利用任務(wù)最壞情況下執(zhí)行時間去計算任務(wù)的執(zhí)行速度,沒有充分利用系統(tǒng)的空閑時間,造成系統(tǒng)資源浪費,不能夠適用于偶發(fā)任務(wù)模型。針對這個問題,提出節(jié)能效果更好,且能夠滿足偶發(fā)任務(wù)的實時性要求的硬實時系統(tǒng)資源受限偶發(fā)任務(wù)能耗優(yōu)化調(diào)度方法。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提出一種硬實時系統(tǒng)資源受限偶發(fā)任務(wù)能耗優(yōu)化調(diào)度方法,該方法根據(jù)任務(wù)實例是否釋放,計算出動態(tài)低速度;利用任務(wù)的真實阻塞時間計算出動態(tài)高速度;回收系統(tǒng)的空閑時間,利用DPM技術(shù)進(jìn)一步降低系統(tǒng)能耗。

本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:

一種硬實時系統(tǒng)資源受限偶發(fā)任務(wù)能耗優(yōu)化調(diào)度方法,包括:

步驟1,利用單調(diào)速率策略為所有就緒的偶發(fā)任務(wù)分配優(yōu)先級;

步驟2,根據(jù)偶發(fā)任務(wù)Ti是否釋放實例,計算出第一動態(tài)低速度SL;具體是:

設(shè)置第一動態(tài)低速度SL=0,可延遲任務(wù)集DTS=T,其中T為所有偶發(fā)任務(wù)的集合;

當(dāng)偶發(fā)任務(wù)Ti釋放任務(wù)實例,且其屬于可延遲任務(wù)集DTS時,提高第一動態(tài)低速度SL,提高的量為任務(wù)Ti的利用率ui與單調(diào)速率策略調(diào)度n個偶發(fā)任務(wù)可行的利用率上界LLB(n)的比值;并將任務(wù)Ti從可延遲任務(wù)集合中移除;即DTS-={Ti},其中任務(wù)Ti的利用率Ci,Pi分別是任務(wù)Ti的最壞情況下的執(zhí)行時間與最小釋放間隔;

當(dāng)偶發(fā)任務(wù)Ti沒有釋放任務(wù)實例,逝去的時間超過其最小釋放間隔且其不屬于可延遲任務(wù)集DTS時,降低第一動態(tài)低速度SL,降低的量為任務(wù)Ti的利用率ui與單調(diào)速率策略調(diào)度n個偶發(fā)任務(wù)可行的利用率上界LLB(n)的比值;并將任務(wù)Ti加入可延遲任務(wù)集合中;即DTS+={Ti},其中任務(wù)Ti的利用率Ci,Pi分別是任務(wù)Ti的最壞情況下的執(zhí)行時間與最小釋放間隔;

當(dāng)處理器空閑時,設(shè)置第一動態(tài)低速度SL=0,可延遲任務(wù)集DTS=T;

步驟3,當(dāng)有新任務(wù)Tj到達(dá)時,判斷新任務(wù)Tj是否被阻塞,并根據(jù)阻塞狀態(tài)以不同的方式執(zhí)行任務(wù);具體是:

任務(wù)調(diào)度之前,計算出此時的空閑時間,并根據(jù)空閑時間計算出縮放速度;

如果新任務(wù)Tj的優(yōu)先級高于任務(wù)Ti的優(yōu)先級,且新任務(wù)Tj和任務(wù)Ti共享同一資源時,新任務(wù)Tj被任務(wù)Ti阻塞;根據(jù)任務(wù)Ti的真實阻塞時間,計算出此時的第一動態(tài)高速度SH;取縮放速度與第一動態(tài)高速度SH中較大者作為第二動態(tài)高速度SH2;任務(wù)Ti以第二動態(tài)高速度SH2執(zhí)行直到完成;任務(wù)Ti完成執(zhí)行時,新任務(wù)Tj以第二動態(tài)高速度SH2執(zhí)行直到完成;

如果新任務(wù)Tj的優(yōu)先級高于任務(wù)Ti的優(yōu)先級,且新任務(wù)Tj和任務(wù)Ti所需的資源不同或者新任務(wù)Tj不需要使用資源時,新任務(wù)Tj沒有被阻塞;取縮放速度與第一動態(tài)低速度SL中較大者作為第二動態(tài)低速度SL2;新任務(wù)Tj將搶占任務(wù)Ti的執(zhí)行,且其執(zhí)行速度為第二動態(tài)低速度SL2;

步驟4,任務(wù)完成執(zhí)行后,如果此時的空閑時間大于處理器狀態(tài)切換開銷to,利用動態(tài)功耗管理技術(shù)關(guān)閉處理器;否則,處理器進(jìn)入空閑狀態(tài)。

優(yōu)選的,所述利用單調(diào)速率策略為所有就緒的偶發(fā)任務(wù)分配優(yōu)先級,包括:

將所有就緒的偶發(fā)任務(wù)按照其最小釋放間隔進(jìn)行排序,最小釋放間隔最小的賦予最高優(yōu)先級,最小釋放間隔次小的賦予次高優(yōu)先級,最小釋放間隔最大的賦予最低優(yōu)先級;當(dāng)偶發(fā)任務(wù)的最小釋放間隔相等時,偶發(fā)任務(wù)的到達(dá)時間越早,其優(yōu)先級就越高;當(dāng)偶發(fā)任務(wù)的最小釋放間隔與到達(dá)時間都相等時,偶發(fā)任務(wù)的下標(biāo)小的優(yōu)先級越高。

優(yōu)選的,所述第一動態(tài)高速度SH用如下方式表示:

其中,t是大于0的實數(shù),P1和Pi分別是任務(wù)T1和任務(wù)Ti的最小釋放間隔,Pk和Ck分別代表任務(wù)Tk的最小釋放間隔和最壞情況下的執(zhí)行時間;LLB(i)是單調(diào)速率策略調(diào)度i個偶發(fā)任務(wù)可行的利用率上界,B′j是新任務(wù)Tj被任務(wù)Ti阻塞的真實執(zhí)行時間,k是正整數(shù)。

優(yōu)選的,任務(wù)調(diào)度之前的空閑時間用如下方式表示:

其中,remi和Wi分別是任務(wù)Ti的可利用時間和最壞情況下剩余執(zhí)行時間;remi和Wi的初始值都等于任務(wù)Ti的最壞情況下的執(zhí)行時間,且隨著任務(wù)的執(zhí)行其值不斷地減少,當(dāng)任務(wù)完成執(zhí)行時Wi=0;

所述縮放速度用如下方式表示:

優(yōu)選的,任務(wù)完成執(zhí)行后的空閑時間的來源包括已經(jīng)完成執(zhí)行的任務(wù)由于提早完成執(zhí)行產(chǎn)生的空閑時間和從當(dāng)前時刻到最近一個新的任務(wù)實例釋放產(chǎn)生的空閑時間;

此時的空閑時間用如下方式表達(dá):

其中,remi和Wi分別是任務(wù)Ti的可利用時間和最壞情況下剩余執(zhí)行時間;remi和Wi的初始值都等于任務(wù)Ti的最壞情況下的執(zhí)行時間,且隨著任務(wù)的執(zhí)行其值不斷地減少,當(dāng)任務(wù)完成執(zhí)行時Wi=0;NT為最近一個任務(wù)實例的釋放時間,t為當(dāng)前的時間。

本發(fā)明具有如下有益效果:

(1)能夠確保偶發(fā)任務(wù)在其截止期限內(nèi)完成執(zhí)行,且能夠確保資源被互斥的使用;

(2)系統(tǒng)能耗的降低,可以降低產(chǎn)品的生產(chǎn)成本,延長設(shè)備的使用時間,減少電池的更換周期;

(3)本發(fā)明的方法比現(xiàn)有的方法節(jié)約大約20.86%~45.43%能耗。

以下結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步詳細(xì)說明,但本發(fā)明的一種硬實時系統(tǒng)資源受限偶發(fā)任務(wù)能耗優(yōu)化調(diào)度方法不局限于實施例。

附圖說明

圖1為本發(fā)明方法的流程圖示意圖;

圖2為本發(fā)明的實施例歸一化能耗與系統(tǒng)利用率的仿真實驗結(jié)果圖。

具體實施方式

參見圖1,本發(fā)明提供的一種硬實時系統(tǒng)資源受限偶發(fā)任務(wù)能耗優(yōu)化調(diào)度方法,包括如下步驟:

步驟101:利用單調(diào)速率策略為任務(wù)分配優(yōu)先級。

具體的,將所有就緒的偶發(fā)任務(wù)按照其最小釋放間隔進(jìn)行排序,最小釋放間隔最小的賦予最高優(yōu)先級,最小釋放間隔次小的賦予次高優(yōu)先級,以此類推;當(dāng)偶發(fā)任務(wù)的最小釋放間隔相等時,偶發(fā)任務(wù)的到達(dá)時間越早,其優(yōu)先級就越高;當(dāng)偶發(fā)任務(wù)的最小釋放間隔與到達(dá)時間都相等時,偶發(fā)任務(wù)的下標(biāo)小的優(yōu)先級越高。

步驟102:根據(jù)任務(wù)Ti是否釋放實例,計算出第一動態(tài)低速度SL。

具體的,設(shè)置第一動態(tài)低速度SL=0,可延遲任務(wù)集DTS=T,其中T為所有偶發(fā)任務(wù)的集合;當(dāng)偶發(fā)任務(wù)Ti釋放任務(wù)實例,且其屬于可延遲任務(wù)集DTS時,提高第一動態(tài)低速度SL,提高的量為任務(wù)Ti的利用率ui與單調(diào)速率策略調(diào)度n個偶發(fā)任務(wù)可行的利用率上界LLB(n)的比值,且將任務(wù)Ti從可延遲任務(wù)集合中移除;當(dāng)偶發(fā)任務(wù)Ti沒有釋放任務(wù)實例,逝去的時間超過其最小釋放間隔且其不屬于可延遲任務(wù)集DTS,降低第一動態(tài)低速度SL,降低的量為任務(wù)Ti的利用率ui與單調(diào)速率策略調(diào)度n個偶發(fā)任務(wù)可行的利用率上界LLB(n)的比值,且將任務(wù)Ti加入可延遲任務(wù)集合中;當(dāng)處理器空閑時,設(shè)置SL=0,可延遲任務(wù)集DTS=T。

本實施例中,具體步驟如下:

1)設(shè)置初始條件DTS=T,SL=0;其中T是資源受限偶發(fā)任務(wù)集合,DTS是集合T的子集,DTS中的任務(wù)釋放任務(wù)實例的時間間隔都大于其相應(yīng)的最小釋放間隔。

2)當(dāng)偶發(fā)任務(wù)Ti釋放任務(wù)實例,且其屬于集合DTS。

設(shè)置其中ui為任務(wù)Ti的利用率,其值為Ci,Pi分別是任務(wù)Ti的最壞情況下的執(zhí)行時間與最小釋放間隔,其中n為偶發(fā)任務(wù)集中偶發(fā)任務(wù)的個數(shù);設(shè)置DTS-={Ti},即將偶發(fā)任務(wù)Ti從集合DTS中移除。

3)當(dāng)偶發(fā)任務(wù)Ti在經(jīng)過Pi個時間單位之后還沒有釋放任務(wù)實例且Ti不屬于集合DTS。

設(shè)置DTS+={Ti},即將偶發(fā)任務(wù)Ti加入集合DTS中。

4)假如沒有任務(wù)調(diào)度,也就是處理器處于空閑狀態(tài)時,設(shè)置DTS=T,SL=0。

步驟103:當(dāng)有新任務(wù)Tj到達(dá)時,判斷新任務(wù)Tj是否被阻塞,并根據(jù)阻塞狀態(tài)以不同的方式執(zhí)行任務(wù)。

本實施例中,具體步驟如下:

1)在任務(wù)調(diào)度之前,計算出此時的空閑時間ST;此時的空閑時間ST的計算方法如下:

其中remi和Wi分別是任務(wù)Ti的可利用時間和最壞情況下剩余執(zhí)行時間;remi和Wi的初始值都等于任務(wù)Ti的最壞情況下的執(zhí)行時間,且隨著任務(wù)的執(zhí)行其值不斷地減少,當(dāng)任務(wù)完成執(zhí)行時Wi=0;

利用此時的空閑時間ST計算出縮放速度Stemp;縮放速度

2)如果新任務(wù)Tj的優(yōu)先級高于任務(wù)Ti的優(yōu)先級,且新任務(wù)Tj和任務(wù)Ti共享同一資源時,此時新任務(wù)Tj被任務(wù)Ti阻塞;根據(jù)任務(wù)Ti的真實阻塞時間,計算出此時的第一動態(tài)高速度SH,SH的計算方法如下:

其中,t是大于0的實數(shù),P1和Pi分別是任務(wù)T1和任務(wù)Ti的最小釋放間隔,Pk和Ck分別代表任務(wù)Tk的最小釋放間隔和最壞情況下的執(zhí)行時間;LLB(i)是單調(diào)速率策略調(diào)度i個偶發(fā)任務(wù)可行的利用率上界,B′j是新任務(wù)Tj被任務(wù)Ti阻塞的真實執(zhí)行時間,k是正整數(shù);

將縮放速度Stemp與第一動態(tài)高速度SH進(jìn)行比較,取第二動態(tài)高速度SH2為這兩者之間的較大者,即SH2=max{Stemp,SH};此時任務(wù)Ti以動態(tài)高速度SH2執(zhí)行直到其完成執(zhí)行;任務(wù)Ti完成執(zhí)行時,新任務(wù)Tj以第二動態(tài)高速度SH2執(zhí)行直到其完成執(zhí)行。

3)如果新任務(wù)Tj的優(yōu)先級高于任務(wù)Ti的優(yōu)先級,且新任務(wù)Tj和任務(wù)Ti所需的資源不同時,或者新任務(wù)Tj不需要使用資源時,此時新任務(wù)Tj沒有被阻塞,將縮放速度Stemp與第一動態(tài)低速度SL進(jìn)行比較,取第二動態(tài)低速度SL2為這兩者之間的最大者,即SL2=max{Stemp,SL};新任務(wù)Tj將搶占任務(wù)Ti的執(zhí)行,且其執(zhí)行速度為第二動態(tài)低速度SL2。

步驟104:任務(wù)完成執(zhí)行后,如果此時的空閑時間ST大于處理器狀態(tài)切換開銷to,利用動態(tài)功耗管理技術(shù)關(guān)閉處理器;否則,處理器進(jìn)入空閑狀態(tài)。

具體的,任務(wù)完成執(zhí)行后,如果此時沒有新的任務(wù)到達(dá),計算出此時的空閑時間ST,空閑時間的來源主要包括兩個部分:其一,已經(jīng)完成執(zhí)行的任務(wù)由于提早完成執(zhí)行產(chǎn)生的空閑時間;其二,從此刻到最近一個新的任務(wù)實例釋放產(chǎn)生的空閑時間;此時的空閑時間ST的計算方法如下:

其中NT為最近一個任務(wù)實例的釋放時間,t為此時的時間。

判斷ST是否大于處理器狀態(tài)切換開銷to的步驟如下:

當(dāng)ST>to,利用動態(tài)功耗管理技術(shù)關(guān)閉處理器;

當(dāng)ST≤to,處理器進(jìn)入空閑狀態(tài)。

如圖2所示為本發(fā)明的實施例歸一化能耗與系統(tǒng)利用率的仿真實驗結(jié)果圖。本實施例中,每個偶發(fā)任務(wù)集包含15個偶發(fā)任務(wù)。在這15個任務(wù)中隨機選取7個任務(wù)在執(zhí)行過程中需要訪問資源。偶發(fā)任務(wù)Ti的最小釋放間隔Pi從[10,1000]中隨機選擇,其最壞情況下的執(zhí)行時間(WCET)從區(qū)間[1,Pi]中隨機選擇。在偶發(fā)任務(wù)集產(chǎn)生后,通過調(diào)整任務(wù)最壞情況下的執(zhí)行時間,使系統(tǒng)利用率不超過給定的值。偶發(fā)任務(wù)的關(guān)鍵區(qū)和非關(guān)鍵區(qū)隨機選擇。最大的關(guān)鍵區(qū)長度Zi,j等于bf*WCET,其中bf為阻塞因子,其值為關(guān)鍵區(qū)的長度占WCET的百分比。通過修改任務(wù)的最壞情況下執(zhí)行時間與最好情況下執(zhí)行時間(BCET)的比值來確定任務(wù)的真實執(zhí)行時間,真實時間服從[BCET,WCET]的均勻分布。設(shè)置bf=0.15,處理器狀態(tài)切換開銷to=0.2,任務(wù)最壞情況下執(zhí)行時間與最好情況下執(zhí)行時間的比值考察系統(tǒng)利用率對算法能耗的影響,系統(tǒng)利用率的范圍為0.15到0.65,步長為0.05。圖2中比較了三種方法,第一,雙速度(DS)方法,任務(wù)以靜態(tài)低速度執(zhí)行或者靜態(tài)高速度執(zhí)行。第二,靜態(tài)資源受限偶發(fā)任務(wù)能耗優(yōu)化(STSST)方法,任務(wù)能夠以動態(tài)低速度或者動態(tài)高速度執(zhí)行,但不能利用任務(wù)提早完成產(chǎn)生的空閑時間,且不能利用DPM技術(shù)降低能耗;第三,本發(fā)明的方法,任務(wù)不僅以動態(tài)低速度或者動態(tài)高速度執(zhí)行,而且能夠利用任務(wù)提早完成產(chǎn)生的空閑時間降低系統(tǒng)能耗,且在處理器處于空閑狀態(tài)時,能夠利用DPM技術(shù)進(jìn)一步降低系統(tǒng)能耗。以DS方法在系統(tǒng)利用率為0.65的能耗為基準(zhǔn)進(jìn)行歸一化。

從圖2中可以看出,所有方法的歸一化能耗都受到系統(tǒng)利用率的影響。當(dāng)系統(tǒng)利用率增加時,所有算法的歸一化能耗上升。這是因為系統(tǒng)利用率增加,任務(wù)的執(zhí)行時間變長,而且任務(wù)的執(zhí)行速度也增加。當(dāng)系統(tǒng)利用率低于0.3時,DS方法和STSST方法的歸一化能耗相同,這是因為這兩個算法中所計算的速度都低于處理器的關(guān)鍵速度(關(guān)鍵速度是處理器能耗最優(yōu)的速度,在這里關(guān)鍵速度的值為0.3),而任務(wù)最終都以關(guān)鍵速度執(zhí)行。注意到本發(fā)明的方法的歸一化能耗低于其他方法的歸一化能耗,這主要得益于本發(fā)明的方法不僅利用DVS技術(shù)降低能耗,而且利用DPM技術(shù)降低能耗。當(dāng)系統(tǒng)利用率大于0.3時,本發(fā)明方法的能耗依然低于其他方法的能耗??傊?,本發(fā)明的方法與STSST方法相比節(jié)約20.86%~45.43%的能耗,與DS方法相比節(jié)約40.45%~57.96%的能耗。

以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1