一種基于rm策略的偶發(fā)任務(wù)低能耗調(diào)度方法
【專利摘要】本發(fā)明公開了一種基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,包括在任務(wù)集調(diào)度之前,分配任務(wù)的初始優(yōu)先級(jí)和執(zhí)行優(yōu)先級(jí);計(jì)算任務(wù)的最大阻塞時(shí)間和最壞情況下的處理器需求;將任務(wù)集劃分為有資源需求的任務(wù)集和沒有資源需求的任務(wù)集,計(jì)算有資源需求任務(wù)集的最低運(yùn)行速度,計(jì)算沒有資源需求的任務(wù)集的最低運(yùn)行速度;計(jì)算任務(wù)集離線階段的運(yùn)行速度;建立空閑時(shí)間管理隊(duì)列,計(jì)算任務(wù)的空閑時(shí)間,利用DVS技術(shù),調(diào)節(jié)處理器運(yùn)行速度,確保最后的運(yùn)行速度不低于關(guān)鍵速度。本發(fā)明考慮了通用的功耗模型、任務(wù)的執(zhí)行時(shí)間與處理器速度成非線性關(guān)系情形及處理器速度切換開銷,同時(shí)結(jié)合了DVS技術(shù)和DPM技術(shù),較大地降低了能耗。
【專利說明】
一種基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及嵌入式系統(tǒng)領(lǐng)域偶發(fā)任務(wù)的實(shí)時(shí)調(diào)度,特別涉及一種基于RM策略的偶 發(fā)任務(wù)低能耗調(diào)度方法。
【背景技術(shù)】
[0002] 嵌入式設(shè)備在生活中的應(yīng)用越來越廣泛,常見的嵌入式設(shè)備如手機(jī)、MP3、IPAD、筆 記本電腦等,這些設(shè)備都是使用電池供電,由于電池容量有限,所提供的能耗也是有限,對(duì) 于這些便捷式嵌入式設(shè)備而言能耗問題就很凸顯。降低能耗不僅能夠延長設(shè)備的使用時(shí) 間,降低設(shè)備的發(fā)熱量;而且能夠減少電池的更換周期。因此,低能耗成為嵌入式設(shè)備的設(shè) 計(jì)目標(biāo)。處理器是嵌入式設(shè)備的核心,其功耗主要來自頻率翻轉(zhuǎn)造成的動(dòng)態(tài)功耗和漏電流 形成的靜態(tài)功耗。動(dòng)態(tài)功耗管理(DPM)技術(shù)和動(dòng)態(tài)電壓調(diào)節(jié)(DVS)技術(shù)是目前降低系統(tǒng)能耗 的常用技術(shù)。DPM技術(shù)主要通過將閑置的設(shè)備關(guān)閉來減少系統(tǒng)能耗。而DVS技術(shù)主要根據(jù)系 統(tǒng)的負(fù)載動(dòng)態(tài)調(diào)節(jié)處理器速度減少系統(tǒng)能耗。
[0003] 目前很多研究者將經(jīng)典的實(shí)時(shí)調(diào)度理論和低功耗技術(shù)結(jié)合起來,解決系統(tǒng)的能耗 問題。然而這些研究主要關(guān)注周期任務(wù)模型和混合任務(wù)模型。目前對(duì)于偶發(fā)任務(wù)模型的研 究相對(duì)較少?,F(xiàn)有的偶發(fā)任務(wù)低能耗調(diào)度方法,利用EDF策略調(diào)度任務(wù),適用于動(dòng)態(tài)優(yōu)先級(jí) 系統(tǒng),忽略處理器的靜態(tài)功耗和處理器速度切換開銷。此外,這些方法假設(shè)任務(wù)的執(zhí)行時(shí)間 與處理器速度成線性關(guān)系。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提出一種基于RM策略的偶發(fā)任務(wù)低能耗 調(diào)度方法,RM(單調(diào)速率)策略是固定優(yōu)先級(jí)調(diào)度策略,任務(wù)的優(yōu)先級(jí)由任務(wù)的周期(最小釋 放間隔)決定,周期(最小釋放間隔)越小,其優(yōu)先級(jí)就越高,高優(yōu)先級(jí)的任務(wù)優(yōu)先執(zhí)行。該方 法適用于靜態(tài)優(yōu)先級(jí)任務(wù)系統(tǒng),考慮了通用的功耗模型、任務(wù)的執(zhí)行時(shí)間與處理器速度成 非線性關(guān)系情形、處理器速度切換開銷,同時(shí)結(jié)合了 DVS技術(shù)和DPM技術(shù)。
[0005] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0006] -種基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,包括如下步驟:
[0007] 分配任務(wù)的初始優(yōu)先級(jí)和執(zhí)行優(yōu)先級(jí);
[0008] 計(jì)算任務(wù)的最大阻塞時(shí)間和最壞情況下的處理器需求;
[0009] 將任務(wù)集劃分為有資源需求的任務(wù)集和沒有資源需求的任務(wù)集,分別計(jì)算有資源 需求任務(wù)集和沒有資源需求任務(wù)集的最低運(yùn)行速度;
[0010] 計(jì)算任務(wù)集離線階段的運(yùn)行速度;
[0011] 建立空閑時(shí)間管理隊(duì)列;回收任務(wù)提早完成產(chǎn)生的空閑時(shí)間,將空閑時(shí)間分配給 當(dāng)前時(shí)刻隊(duì)列中優(yōu)先級(jí)最高的任務(wù),計(jì)算處理器當(dāng)前時(shí)刻運(yùn)行速度;將處理器當(dāng)前時(shí)刻運(yùn) 行速度與預(yù)設(shè)的關(guān)鍵速度進(jìn)行比較,利用DVS技術(shù)調(diào)節(jié)處理器運(yùn)行速度確保其不低于關(guān)鍵 速度。
[0012] 所述分配任務(wù)的初始優(yōu)先級(jí)和執(zhí)行優(yōu)先級(jí)包括:
[0013] 根據(jù)RM策略分配任務(wù)的初始優(yōu)先級(jí),任務(wù)的最小釋放間隔越小,其初始優(yōu)先級(jí)越 尚;
[0014] 將任務(wù)集劃分為有資源需求和沒有資源需求的任務(wù)子集;
[0015] 計(jì)算所有共享同一資源任務(wù)的初始優(yōu)先級(jí)中的最大值;
[0016] 若任務(wù)屬于沒有資源需求任務(wù)子集中的任務(wù),分配其執(zhí)行優(yōu)先級(jí)等于初始優(yōu)先 級(jí);若任務(wù)屬于有資源需求任務(wù)子集中的任務(wù),分配其執(zhí)行優(yōu)先級(jí)等于所述所有共享同一 資源任務(wù)的初始優(yōu)先級(jí)中的最大值。
[0017] 所述計(jì)算任務(wù)的最大阻塞時(shí)間和最壞情況下的處理器需求步驟中,任務(wù)Ti的最大 阻塞時(shí)間B(Ti)表不為:
[0018] 5(廠)少少
[0019] 其中,1&表示任務(wù)1\的初始優(yōu)先級(jí),EPjPIPj分別表示任務(wù)L的執(zhí)行優(yōu)先級(jí)和初始 優(yōu)先級(jí),幻表示任務(wù)L在最大處理器速度下最壞情況下的執(zhí)行時(shí)間,^表示任務(wù)L的資源需 求,k為整數(shù),其取值范圍為1 ,m表示任務(wù)共享資源的個(gè)數(shù);
[0020] 任務(wù)Ti在區(qū)間[0,L]最壞情況下的處理器需求Do,l表示為:
[0022]其中,其中ei表示任務(wù)1\在最大處理器速度下最壞情況下的執(zhí)行時(shí)間,L為大于0的 實(shí)數(shù),其值為,<L< A,&表示使用資源%的所有任務(wù)最小釋放間隔,Pl表示任務(wù)!^的最 小釋放間隔,n表示任務(wù)1\的資源需求。
[0023]所述將任務(wù)集劃分為有資源需求的任務(wù)集和沒有資源需求的任務(wù)集,并分別計(jì)算 有資源需求任務(wù)集和沒有資源需求任務(wù)集的最低運(yùn)行速度包括:
[0024]將任務(wù)集劃分為有資源需求的任務(wù)集和沒有資源需求的任務(wù)集;
[0025] 有資源需求任務(wù)集的最低運(yùn)行速度LSRT(i)根據(jù)任務(wù)集的最壞情況下的處理器需 求計(jì)算,用如下公式表示:
[0026] [SK! (!) - (SKl (J,LJ)
[0027] 其中,SRT(i,L)表示有資源需求的任務(wù)集在時(shí)刻L所有任務(wù)滿足其截止期限的最小 運(yùn)行速度,其值為
表示任務(wù)h最壞情況下的執(zhí) 行時(shí)間,表示任務(wù)L的最小釋放間隔;
[0028] 沒有資源需求的任務(wù)集的最低運(yùn)行速度SNRT(i)根據(jù)任務(wù)集的負(fù)載計(jì)算,用如下公 式表示:
[0030]其中,DTS表示延遲釋放的任務(wù)集,DTS中的每個(gè)任務(wù)釋放時(shí)間的間隔都大于其最 小釋放間隔,F(xiàn)dn)表示RM策略調(diào)度任務(wù)集可行的利用率上界。
[0031 ]所述計(jì)算任務(wù)集離線階段的運(yùn)行速度用如下公式表示:
[0032] = <L< Pi r^K'F'^mS
[0033] 其中,Slub(i)表示偶發(fā)任務(wù)集在區(qū)間[0,L]的最小運(yùn)行速度,用如下公式表示:
[0034] *^iub ^f) + SNMT < L < :〇
[0035] 所述空閑時(shí)間用如下公式表示:
[0036] ST = = Q \ V, - r.) i=i
[0037] 其中,示任務(wù)1\最壞情況下的剩余執(zhí)行時(shí)間,仏表示任務(wù)1\的剩余執(zhí)行時(shí)間 表示在此時(shí)刻之前處理器速度切換開銷。
[0038] 所述計(jì)算處理器當(dāng)前時(shí)刻運(yùn)行速度包括:
[0039] 計(jì)算處理器當(dāng)前時(shí)刻運(yùn)行速度S,其中
[0040] 將其與速度Ssfpsasr進(jìn)行比較;若S>Ssfpsasr,設(shè)置S = Ssfpsasr;否則所述S保持不變。 [0041 ] 所述速度Ssfpsasr計(jì)算方法如下:
[0042] 若處理器空閑時(shí),設(shè)置Ssfpsasr = Smin,所述Smin為處理器最低運(yùn)行速度;
[0043] 當(dāng)任務(wù)Ti釋放一個(gè)實(shí)例,且其屬于DTS時(shí),提高Ssfpsasr,提高的量為
[0044] 當(dāng)任務(wù)h沒有釋放實(shí)例,且其不屬于DTS時(shí),且當(dāng)前的時(shí)間間隔超過其最小釋放間 隔時(shí),降低Ssfpsasr,降低的量為
[0045] 所述任務(wù)的初始優(yōu)先級(jí)用如下公式表示:
[0046] IPi = n-i+l
[0047] 其中,n表示偶發(fā)任務(wù)集中偶發(fā)任務(wù)的個(gè)數(shù),i為大于等于1小于等于n的整數(shù)。
[0048] 所述所有共享同一資源任務(wù)的初始優(yōu)先級(jí)中的最大值用如下公式表示:
[0049] = max [iP. \ T.. = ij
[0050] 其中,l$i彡m,m表示任務(wù)共享資源的個(gè)數(shù),^表示任務(wù)L的資源需求。
[0051 ]本發(fā)明具有如下有益效果:
[0052] (1)本發(fā)明提供的基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,不僅考慮了通用的功 耗模型、任務(wù)的執(zhí)行時(shí)間與處理器速度成非線性關(guān)系情形以及處理器速度切換開銷,而且 能夠適用于靜態(tài)優(yōu)先級(jí)任務(wù)的系統(tǒng),同時(shí)利用DVS技術(shù)和DPM技術(shù),從而比現(xiàn)有的偶發(fā)任務(wù) 低能耗調(diào)度方法節(jié)約大約79.37%~82.94%的能耗;
[0053] (2)能夠確保偶發(fā)任務(wù)在其截止期限內(nèi)完成執(zhí)行,且能夠確保資源被互斥的使用;
[0054] (3)系統(tǒng)能耗的降低,可以降低產(chǎn)品的生產(chǎn)成本,延遲設(shè)備的使用時(shí)間,減少電池 的更換周期。
[0055] 以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明,但本發(fā)明的一種基于RM策略 的偶發(fā)任務(wù)低能耗調(diào)度方法不局限于實(shí)施例。
【附圖說明】
[0056] 圖1為本發(fā)明方法的流程圖示意圖;
[0057] 圖2為本發(fā)明的實(shí)施例歸一化能耗與系統(tǒng)利用率的仿真實(shí)驗(yàn)結(jié)果圖;
[0058] 圖3為本發(fā)明的實(shí)施例歸一化能耗與任務(wù)真實(shí)負(fù)載的仿真實(shí)驗(yàn)結(jié)果圖。
【具體實(shí)施方式】
[0059] 下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說明。
[0060] 參見圖1,本發(fā)明提供的一種基于RM調(diào)度策略的資源受限偶發(fā)任務(wù)低能耗調(diào)度方 法,包括如下步驟:
[0061 ]步驟101:分配任務(wù)的初始優(yōu)先級(jí)和執(zhí)行優(yōu)先級(jí);
[0062]具體的,初始優(yōu)先級(jí)根據(jù)RM算法進(jìn)行分配,任務(wù)的最小釋放間隔越小,其優(yōu)先級(jí)就 越高;執(zhí)行優(yōu)先級(jí)是在任務(wù)獲得CHJ等資源開始執(zhí)行時(shí)分配的,其優(yōu)先級(jí)在任務(wù)完成執(zhí)行之 前都保持不變;對(duì)于沒有資源需求的任務(wù),其初始優(yōu)先級(jí)等于其執(zhí)行優(yōu)先級(jí)。
[0063]進(jìn)一步的,任務(wù)Ti的初始優(yōu)先級(jí)IPi根據(jù)RM算法分配,其值為IPi = n-i + l,i表示任 務(wù)1^的下標(biāo),其值為l<i<n之間整數(shù),其中n為偶發(fā)任務(wù)集中偶發(fā)任務(wù)的個(gè)數(shù);任務(wù)的初始 優(yōu)先級(jí)的數(shù)值越大,其優(yōu)先級(jí)就越高。
[0064] 所有使用資源心的任務(wù)的最高優(yōu)先級(jí)用w表示,其值由下式計(jì)算:
[0065] \ rj ~
[0066] 其中,表示任務(wù)共享資源的個(gè)數(shù),n表示偶發(fā)任務(wù)集中偶發(fā)任務(wù)的個(gè)數(shù), ^是任務(wù)L的資源需求,1匕分別表示任務(wù)L的初始優(yōu)先級(jí)。
[0067] 任務(wù)的執(zhí)行優(yōu)先級(jí)分配方法如下:將任務(wù)集劃分為兩個(gè)不相交的子集A和B。集合A 中的任務(wù)沒有資源需求,集合B中的任務(wù)有資源需求。集合A中的任務(wù)的執(zhí)行優(yōu)先級(jí)等于其 初始優(yōu)先級(jí)。集合B中的任務(wù)的執(zhí)行優(yōu)先級(jí)等于所有共享同一資源任務(wù)的初始優(yōu)先級(jí)中的 最大值。對(duì)于集合B中的任務(wù)Ti,其執(zhí)行優(yōu)先級(jí)EPi = Jii。
[0068] 步驟102:計(jì)算任務(wù)的最大阻塞時(shí)間和最壞情況下的處理器需求;
[0069] 具體的,任務(wù)Ti的最大阻塞時(shí)間B(Ti)是由初始優(yōu)先級(jí)比它低的任務(wù)所造成的,其 值為| W '其中幻是任務(wù)在最大處理器速度下最壞情況下的執(zhí)行時(shí) 間,n是任務(wù)L的資源需求,k是整數(shù),其取值范圍為表示任務(wù)共享資源的個(gè)數(shù), EPj和1匕分別是任務(wù)L的執(zhí)行優(yōu)先級(jí)和初始優(yōu)先級(jí)。任務(wù)在區(qū)間[0,L]最壞情況下的處理 器需求Do,L,其值為
,其中&表示任務(wù)1^在最大處理器速度下最壞情況 下的執(zhí)行時(shí)間,L為大于0的實(shí)數(shù),其值為C </-</V &表示使用資源式^的所有任務(wù)最小 釋放間隔,Pl表示任務(wù)1\的最小釋放間隔,ri表示任務(wù)1\的資源需求。
[0070] 步驟103:將任務(wù)集劃分為有資源需求的任務(wù)集和沒有資源需求的任務(wù)集,分別計(jì) 算有資源需求任務(wù)集和沒有資源需求任務(wù)集的最低運(yùn)行速度;
[0071] 具體的,將任務(wù)集劃分為有資源需求的任務(wù)集和沒有資源需求的任務(wù)集;有資源 需求任務(wù)集的最低運(yùn)行速度LSRT(i)根據(jù)任務(wù)集的最壞情況下的處理器需求計(jì)算,沒有資源需 求的任務(wù)集的任務(wù)最低運(yùn)行速度SNRT( i)根據(jù)任務(wù)集的負(fù)載計(jì)算,Snrt( i)是集合NRT( i)在時(shí)刻 i:(盡< < A)所有任務(wù)滿足其截止期限的最小運(yùn)行速度,其值為
其中DTS是延遲釋放的任務(wù)集,DTS中的每個(gè)任務(wù)其釋放時(shí)間的間隔都大于其最小釋放間 隔,ej是任務(wù)Tj最壞情況下的執(zhí)行時(shí)間,pj是任務(wù)Tj的最小釋放間隔,F(xiàn)c;(n)是RM策略調(diào)度任 務(wù)集可行的利用率上界,其值為
[0072] SRT(i,L)是有資源需求的任務(wù)集在時(shí)刻L i < A)所有任務(wù)滿足其截止期限的 最小運(yùn)行速度,其值為
所有共享資源1^的最小運(yùn) 行速度SRT( i,L)的最大值用LSRT( i)表示,其值為1^@
[0073] 步驟104:計(jì)算任務(wù)集離線階段的運(yùn)行速度;
[0074] 具體的,任務(wù)h在區(qū)間(€?/0是唯一一個(gè)有資源需求的任務(wù),偶發(fā)任務(wù)集T在區(qū)間 [0,L]的最小運(yùn)行速度Siub(i),其值為Si ub(i) = LSRT( i) +SNRT( i,L),$ < £ <爲(wèi),假如偶發(fā)任 務(wù)集不只一個(gè)任務(wù)共享資源,且其共享的資源不同,任務(wù)集離線階段的運(yùn)行速度Lsub必須滿 足所有任務(wù)的處理器需求,其值由下式計(jì)算:
[0075] LS^ " i<MaX <L< Pt i'AaT洋 DTS.
[0076] 其中n是任務(wù)h的資源需求,DTS是延遲釋放的任務(wù)集,&是使用資源尤,的所有任 務(wù)最小釋放間隔,Pi是任務(wù)Ti的最小釋放間隔。
[0077]步驟105:建立空閑時(shí)間管理隊(duì)列;回收任務(wù)提早完成產(chǎn)生的空閑時(shí)間,將空閑時(shí) 間分配給當(dāng)前時(shí)刻隊(duì)列中優(yōu)先級(jí)最高的任務(wù),計(jì)算處理器當(dāng)前時(shí)刻運(yùn)行速度;將處理器當(dāng) 前時(shí)刻運(yùn)行速度與預(yù)設(shè)的關(guān)鍵速度進(jìn)行比較,利用DVS技術(shù)調(diào)節(jié)處理器運(yùn)行速度確保其不 低于關(guān)鍵速度。
[0078]具體的,建立空閑時(shí)間管理隊(duì)列a的方法為:通過建立一個(gè)鏈表,將任務(wù)按照其優(yōu) 先級(jí)順序排列,放在這個(gè)鏈表中,當(dāng)任務(wù)的空閑時(shí)間等于〇時(shí),將其從鏈表中移除,當(dāng)任務(wù)完 成執(zhí)行時(shí),將其按照其優(yōu)先級(jí)順序插入鏈表中。
[0079] 回收任務(wù)提早完成產(chǎn)生的空閑時(shí)間ST具體是:空閑時(shí)間雙=Q I巧-巧), i 二1 其中I為任務(wù)h最壞情況下的剩余執(zhí)行時(shí)間,山為任務(wù)1^的剩余執(zhí)行時(shí)間為在此時(shí)刻之 前處理器速度切換開銷。具體的,WuUi開始時(shí)都是設(shè)置為ei,ei是任務(wù)最壞情況下的執(zhí)行時(shí) 間,隨著任務(wù)的執(zhí)行,WnUi都減小,假如任務(wù)執(zhí)行t個(gè)單位的時(shí)間,這兩種相應(yīng)減少t的單位, 任務(wù)完成執(zhí)行時(shí)將I設(shè)置為m是處理器速度切換開銷,^iKlSdl,K是常數(shù),Si、&是處 理器的速度。
[0080] 進(jìn)一步的,將空閑時(shí)間分配給此時(shí)隊(duì)列中優(yōu)先級(jí)最高的任務(wù),計(jì)算此時(shí)處理器運(yùn) 行速度s,其值為
,將其與速度Ssfpsasr進(jìn)行比較,S sfpsasr的計(jì)算方法如下:
[0081 ] 假如處理器空閑時(shí),設(shè)置Ssfpsasr = Smin,Smin為處理器最低運(yùn)行速度;
[0082]當(dāng)任務(wù)Ti釋放一個(gè)實(shí)例,且其屬于DTS時(shí),提高Ssfpsasr,提高的量為
[0083]當(dāng)任務(wù)h沒有釋放實(shí)例,且其不屬于DTS時(shí),且當(dāng)前的時(shí)間間隔超過其最小釋放間 隔時(shí),降低Ssfpsasr,降低的量為
[0084] 當(dāng)速度S>Ssfpsasr時(shí),設(shè)置S = Ssfpsasr;否則速度S保持不變。
[0085] 將處理器運(yùn)行速度S與預(yù)設(shè)的關(guān)鍵速度進(jìn)行比較,利用DVS技術(shù)調(diào)節(jié)處理器運(yùn)行速 度S確保其不低于關(guān)鍵速度。所述關(guān)鍵速度是系統(tǒng)能耗最低的運(yùn)行速度,不同的處理器關(guān)鍵 速度是不一樣的。
[0086] 進(jìn)一步的,當(dāng)處理器處于空閑狀態(tài)時(shí),判斷此時(shí)的空閑間隔是否大于處理器狀態(tài) 切換的開銷,如果大于的話,利用DPM技術(shù),將處理器切換到低功耗狀態(tài);否則,不做處理。具 體的,只要空閑間隔大于處理器狀態(tài)切換的開銷時(shí),就會(huì)自動(dòng)切換。
[0087] 如圖2所示,本實(shí)施例中,設(shè)置任務(wù)的最壞情況下的執(zhí)行時(shí)間(WCET)與最好情況下 的執(zhí)行時(shí)間(BCET)的比值為5,系統(tǒng)利用率為0.1到0.6,步長為0.05,假設(shè)處理器速度切換 開銷的常數(shù)為0.1。圖2中比較了三種方法,第一,RM/DPP方法,該方法任務(wù)始終以最大的處 理器速度執(zhí)行;第二,SFPSASR方法,該方法中假設(shè)任務(wù)以其最壞情況下的執(zhí)行時(shí)間執(zhí)行,不 能夠回收動(dòng)態(tài)空閑時(shí)間,只利用DVS技術(shù)節(jié)能;第三,本發(fā)明的方法,該方法同時(shí)結(jié)合DVS技 術(shù)和DPM技術(shù)考慮處理器速度切換開銷,能夠利用動(dòng)態(tài)空閑時(shí)間降低能耗;以RM/DPP方法在 系統(tǒng)利用率為0.6時(shí)的能耗為基準(zhǔn)進(jìn)行歸一化。從圖2中可以看出,所有方法的能耗都受到 系統(tǒng)利用率的影響,系統(tǒng)利用率上升,所有方法的歸一化能耗上升;這是因?yàn)橄到y(tǒng)利用率越 高,每個(gè)任務(wù)的執(zhí)行時(shí)間增加。本發(fā)明的方法與其他方法相比有明顯的優(yōu)勢,與RM/DPP方法 相比節(jié)約73.68%~85.22%的能耗,與SFPSASR相比節(jié)約49.08%~64.89%的能耗。
[0088]如圖3所示,本實(shí)施例中,圖3設(shè)置系統(tǒng)利用率為0.31812,考察任務(wù)真實(shí)負(fù)載對(duì)能 耗的影響,WCET與BCET的比值從1到10,步長為1,假設(shè)處理器速度切換開銷的常數(shù)為0.1,以 RM/DPP算法在WCET與BCET的比值為1的能耗為基準(zhǔn)進(jìn)行歸一化。圖3中所比較的方法和圖2 的相同。從圖3中可以看出,RM/DPP方法的能耗受到WCET與BCET的比值的影響;WCET與BCET 的比值上升,其歸一化能耗下降;這是因?yàn)閃CET與BCET的比值越高,任務(wù)的真實(shí)執(zhí)行時(shí)間越 小。WCET與BCET的比值的變化,對(duì)SFPSASR方法和本發(fā)明的方法的影響不大。這主要是因?yàn)?這兩種方法任務(wù)的運(yùn)行速度受到任務(wù)集離線階段的速度限制。本發(fā)明的方法的能耗都低于 其他方法的能耗,與RM/DPP方法相比節(jié)約79.37%~82.94%的能耗,與SFPSASR相比節(jié)約 42.14%~51.73%大約的能耗。
[0089]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,其特征在于,包括: 分配任務(wù)的初始優(yōu)先級(jí)和執(zhí)行優(yōu)先級(jí); 計(jì)算任務(wù)的最大阻塞時(shí)間和最壞情況下的處理器需求; 將任務(wù)集劃分為有資源需求的任務(wù)集和沒有資源需求的任務(wù)集,分別計(jì)算有資源需求 任務(wù)集和沒有資源需求任務(wù)集的最低運(yùn)行速度; 計(jì)算任務(wù)集離線階段的運(yùn)行速度; 建立空閑時(shí)間管理隊(duì)列;回收任務(wù)提早完成產(chǎn)生的空閑時(shí)間,將空閑時(shí)間分配給當(dāng)前 時(shí)刻隊(duì)列中優(yōu)先級(jí)最高的任務(wù),計(jì)算處理器當(dāng)前時(shí)刻運(yùn)行速度;將處理器當(dāng)前時(shí)刻運(yùn)行速 度與預(yù)設(shè)的關(guān)鍵速度進(jìn)行比較,利用DVS技術(shù)調(diào)節(jié)處理器運(yùn)行速度確保其不低于關(guān)鍵速度。2. 根據(jù)權(quán)利要求1所述的基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,其特征在于,所述分 配任務(wù)的初始優(yōu)先級(jí)和執(zhí)行優(yōu)先級(jí)包括: 根據(jù)RM策略分配任務(wù)的初始優(yōu)先級(jí),任務(wù)的最小釋放間隔越小,其初始優(yōu)先級(jí)越高; 將任務(wù)集劃分為有資源需求和沒有資源需求的任務(wù)子集; 計(jì)算所有共享同一資源任務(wù)的初始優(yōu)先級(jí)中的最大值; 若任務(wù)屬于沒有資源需求任務(wù)子集中的任務(wù),分配其執(zhí)行優(yōu)先級(jí)等于初始優(yōu)先級(jí);若 任務(wù)屬于有資源需求任務(wù)子集中的任務(wù),分配其執(zhí)行優(yōu)先級(jí)等于所述所有共享同一資源任 務(wù)的初始優(yōu)先級(jí)中的最大值。3. 根據(jù)權(quán)利要求1所述的基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,其特征在于,所述計(jì) 算任務(wù)的最大阻塞時(shí)間和最壞情況下的處理器需求步驟中,任務(wù)T i的最大阻塞時(shí)間B(Ti)表 示為:其中,^:表示任務(wù)!\的初始優(yōu)先級(jí),EPjPIPj分別表示任務(wù)Tj的執(zhí)行優(yōu)先級(jí)和初始優(yōu)先 級(jí),^表示任務(wù)Tj在最大處理器速度下最壞情況下的執(zhí)行時(shí)間,^表示任務(wù)Tj的資源需求,k 為整數(shù),其取值范圍為I ,m表示任務(wù)共享資源的個(gè)數(shù); 任務(wù)T1在區(qū)間[0,L]最壞情況下的處理器需求Do,L表示為:其中,其中ei表示任務(wù)!\在最大處理器速度下最壞情況下的執(zhí)行時(shí)間,L為大于0的實(shí) 數(shù),其值為C < /W表示使用資源氣:的所有任務(wù)最小釋放間隔,P1表示任務(wù)!\的最小 釋放間隔,η表示任務(wù)1\的資源需求。4. 根據(jù)權(quán)利要求3所述的基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,其特征在于,所述將 任務(wù)集劃分為有資源需求的任務(wù)集和沒有資源需求的任務(wù)集,并分別計(jì)算有資源需求任務(wù) 集和沒有資源需求任務(wù)集的最低運(yùn)行速度包括: 將任務(wù)集劃分為有資源需求的任務(wù)集和沒有資源需求的任務(wù)集; 有資源需求任務(wù)集的最低運(yùn)行速度LSRT(i)根據(jù)任務(wù)集的最壞情況下的處理器需求計(jì) 算,用如下公式表示:其中,SRT(i,L)表示有資源需求的任務(wù)集在時(shí)刻L所有任務(wù)滿足其截止期限的最小運(yùn)行速度,其值戈 ^表示任務(wù)乃最壞情況下的執(zhí)行時(shí) ,: 間也表示任務(wù)L的最小釋放間隔; 沒有資源需求的任務(wù)集的最低運(yùn)行速度SNRT(i)根據(jù)任務(wù)集的負(fù)載計(jì)算,用如下公式表 示:其中,DTS表示延遲釋放的任務(wù)集,DTS中的每個(gè)任務(wù)釋放時(shí)間的間隔都大于其最小釋 放間隔,F(xiàn)cXn)表示RM策略調(diào)度任務(wù)集可行的利用率上界。5. 根據(jù)權(quán)利要求4所述的基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,其特征在于,所述計(jì) 算任務(wù)集離線階段的運(yùn)行諫庠用如下公式衷示:其中,Slub(i)表示偶發(fā)任務(wù)集在區(qū)間[0,L]的最小運(yùn)行速度,用如下公式表示:6. 根據(jù)權(quán)利要求1所述的基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,其特征在于,所述空 閑時(shí)間用如下公式表示:其中,示任務(wù)1\最壞情況下的剩余執(zhí)行時(shí)間,仏表示任務(wù)1\的剩余執(zhí)行時(shí)間,T1表示 在此時(shí)刻之前處理器速度切換開銷。7. 根據(jù)權(quán)利要求6所述的基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,其特征在于,所述計(jì) 算處理器當(dāng)前時(shí)刻運(yùn)行速度包括: 計(jì)算處理器當(dāng)前時(shí)刻運(yùn)行速度S,溟將其與速度Ssfpsasr進(jìn)行比較;若S>Ssfpsasr,設(shè)置S = Ssfpsasr;否則所述S保持不變。8. 根據(jù)權(quán)利要求7所述的基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,其特征在于,所述速 度Ssfpsasr計(jì)算方法如下: 若處理器空閑時(shí),設(shè)置Ssfpsasr = Smin,所述Smin為處理器最低運(yùn)行速度; 當(dāng)任務(wù)Ti釋放一個(gè)實(shí)例,且其屬于DTS時(shí),提高Ssfpsasr,提高的量為當(dāng)任務(wù)Ti沒有釋放實(shí)例,且其不屬于DTS時(shí),且當(dāng)前的時(shí)間間隔超過其最小釋放間隔時(shí), /:? 降低Ssfpsasr,降低的量為ρ .ρ'^/? .9. 根據(jù)權(quán)利要求2所述的基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,其特征在于,所述任 務(wù)的初始優(yōu)先級(jí)用如下公式表示: IPi = n_i+l 其中,n表示偶發(fā)任務(wù)集中偶發(fā)任務(wù)的個(gè)數(shù),i為大于等于I小于等于n的整數(shù)。10.根據(jù)權(quán)利要求2所述的基于RM策略的偶發(fā)任務(wù)低能耗調(diào)度方法,其特征在于,所述 所有共享同一資源任務(wù)的初始優(yōu)生鉍由的晶十佶田加下公忒表示:其中,表示任務(wù)共享資源的個(gè)數(shù),^表示任務(wù)Tj的資源需求。
【文檔編號(hào)】G06F9/50GK105893148SQ201610190341
【公開日】2016年8月24日
【申請(qǐng)日】2016年3月30日
【發(fā)明人】張憶文, 王成, 周長利, 姜林美
【申請(qǐng)人】華僑大學(xué)