本發(fā)明涉及嵌入式系統(tǒng)能耗管理技術領域,具體是一種硬實時系統(tǒng)能耗最優(yōu)方法。
背景技術:
硬實時嵌入式系統(tǒng)在航空航天、通信、電力、機械制造等領域有著廣泛的應用。硬實時系統(tǒng)對時限有嚴格的要求,一旦任務錯誤截止期限,會帶來不可預料的后果,甚至導致嚴重的災難。隨著超大規(guī)模集成技術的快速發(fā)展,處理器的功耗逐漸增大,而采用電池供電的硬實時嵌入式系統(tǒng),由于電池的體積與容量的限制,導致硬實時嵌入式設備的待機時間受限,這嚴重影響硬實時嵌入式設備的使用。因此,能耗問題成為設計硬實時嵌入式系統(tǒng)的瓶頸。目前絕大多數(shù)商業(yè)處理器和系統(tǒng)設備都能夠支持動態(tài)電壓調(diào)節(jié)(DVS)技術和動態(tài)功耗管理(DPM)技術這兩種低功耗技術,這為降低系統(tǒng)能耗提供了可能。
硬實時嵌入式系統(tǒng)的能耗主要來自處理器和系統(tǒng)設備的能耗。常見的系統(tǒng)設備有LCD、內(nèi)存、硬盤等等?,F(xiàn)有的研究方法主要將處理器能耗和系統(tǒng)設備能耗單獨分開研究,沒有將這兩個主題作為一個整體加以研究。也就是說,現(xiàn)有研究所計算出的處理器速度,僅僅對于處理器或者系統(tǒng)設備是最優(yōu)的,但對于整個系統(tǒng)不是最優(yōu)。針對現(xiàn)有研究方法的不足,提出節(jié)能效果更好,且能夠滿足硬實時系統(tǒng)時限要求的硬實時系統(tǒng)能耗最優(yōu)速度方法。
技術實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術的不足,提出一種硬實時系統(tǒng)能耗最優(yōu)速度方法,該方法根據(jù)設備的臨界時間,利用DPM技術將設備切換到低功耗狀態(tài)以降低系統(tǒng)能耗。
本發(fā)明解決其技術問題所采用的技術方案是:
一種硬實時系統(tǒng)能耗最優(yōu)方法,包括:
計算硬實時系統(tǒng)中每個使用設備Dk的臨界時間Bk;其中,k為整數(shù);
將任務Ti所使用設備的臨界時間按照非降的順序進行排列;其中,i為整數(shù);
根據(jù)所使用設備的臨界時間,將任務Ti的空閑區(qū)間劃分為m+1個子區(qū)間{Im,Im-1,…,I0};其中,m為大于等于1的整數(shù);
分別計算任務Ti的響應時間屬于所述子區(qū)間和不屬于所述子區(qū)間時,執(zhí)行任務Ti所消耗的總能耗Ei(S);其中,S表示處理器的運行速度;
求取總能耗Ei(S)的最小值,獲得局部最優(yōu)速度
根據(jù)局部最優(yōu)速度計算全局最優(yōu)速度
Bk的計算方法如下:
其中,為設備Dk狀態(tài)轉化的時間開銷,為設備Dk狀態(tài)轉化的能耗開銷,為設備Dk在活躍狀態(tài)的功耗,為設備Dk在休眠狀態(tài)的功耗,max表示求最大值。
的計算方法如下:
其中,表示設備Dk從活躍狀態(tài)切換到休眠狀態(tài)的時間開銷,表示設備Dk從休眠狀態(tài)切換到活躍狀態(tài)的時間開銷。
的計算方法如下:
其中,表示設備Dk從活躍狀態(tài)切換到休眠狀態(tài)的能耗開銷,表示設備Dk從休眠狀態(tài)切換到活躍狀態(tài)的能耗開銷。
所述將任務Ti所使用設備的臨界時間按照非降的順序進行排列,具體表示為:
B1≤B2≤…≤Bm≤di-ci
其中,di表示任務Ti的相對截止期限,ci表示任務Ti最壞情況下的執(zhí)行時間,m表示任務Ti在執(zhí)行過程中要使用設備個數(shù)。
所述根據(jù)所使用設備的臨界時間,將任務Ti的空閑區(qū)間劃分為m+1個子區(qū)間{Im,Im-1,…,I0},包括:
將空閑區(qū)間[ci,di]劃分為m+1個子區(qū)間,劃分方法如下:
{[ci,di-Bm],[di-Bm,di-Bm-1],…,[di-Bi+1,di-Bi],…,[di-B1,di]}
上述劃分的m+1個子區(qū)間依次與{Im,Im-1,…,I0}中的m+1個子區(qū)間相對應,也就是Im表示區(qū)間[ci,di-Bm],Im-1表示[di-Bm,di-Bm-1],I0表示區(qū)間[di-B1,di]等等。
分別計算任務Ti的響應時間屬于所述子區(qū)間和不屬于所述子區(qū)間時,執(zhí)行任務Ti所消耗的總能耗Ei(S),包括:
當任務Ti的響應時間Ri屬于子區(qū)間Il時,Ei(S)計算方法如下:
當任務Ti的響應時間Ri不屬于子區(qū)間Il時,Ei(S)計算方法如下:
其中,l為0≤l≤m之間的整數(shù);a為與系統(tǒng)相關的常數(shù),其取值范圍為2≤a≤3;S為處理器的運行速度;di表示任務Ti的相對截止期限,ci表示任務Ti最壞情況下的執(zhí)行時間;為設備Dj在活躍狀態(tài)的功耗,j為1≤j≤m之間的整數(shù),為設備Dj狀態(tài)轉化的能耗開銷。
所述獲得局部最優(yōu)速度的步驟包括:
求Ei(S)的最小值min(Ei(S)),將min(Ei(S))對變量S進行求導,且將求導的結果設置為0,求解出其中為設備Dj在活躍狀態(tài)的功耗;
當能夠滿足且時,表示任務Ti的響應時間Ri屬于子區(qū)間Ii,求解出的為局部最優(yōu)速度;其中,LLj和ULj分別為子區(qū)間Ii的下限和上限;
當不能夠滿足且時,表示任務Ti的響應時間Ri不屬于子區(qū)間Ii,的取值置為
所述根據(jù)局部最優(yōu)速度計算全局最優(yōu)速度具體為:
全局最優(yōu)速度只能在局部最優(yōu)速度以及在確保系統(tǒng)任務滿足截止期限情況下的最低速度Slow中進行選擇,選擇的方法為:
當時,否則,其中,
當且E(Smax)<Ebest,否則,其中Smax是處理器能夠提供的最大運行速度,
本發(fā)明具有如下有益效果:
(1)系統(tǒng)能耗的降低,可以降低產(chǎn)品的生產(chǎn)成本,延遲設備的使用時間,減少電池的更換周期;
(2)本發(fā)明的方法比現(xiàn)有的方法平均節(jié)約大約43.48%的能耗。
以下結合附圖及實施例對本發(fā)明作進一步詳細說明,但本發(fā)明的一種硬實時系統(tǒng)能耗最優(yōu)方法不局限于實施例。
附圖說明
圖1為本發(fā)明方法的流程圖示意圖;
圖2為本發(fā)明的實施例歸一化能耗與任務最壞情況下執(zhí)行時間的仿真實驗結果圖。
具體實施方式
參見圖1,本發(fā)明提供的一種硬實時系統(tǒng)能耗最優(yōu)方法,包括如下步驟:
步驟101:計算硬實時系統(tǒng)中每個使用設備Dk的臨界時間Bk;
硬實時任務Ti在執(zhí)行過程中要使用設備集{D1,D2,…,Dm},每個設備Dk都存在臨界時間Bk;設備的臨界時間是指當設備能耗平衡的狀態(tài),也就是說在臨界時間點,利用DPM技術切換設備到低功耗狀態(tài)不會帶來額外的能耗節(jié)約;當設備的空閑時間小于設備的臨界時間時,利用DPM技術將設備切換到低功耗狀態(tài),反而會提高設備能耗。只有設備空閑時間大于其臨界時間時,利用DPM技術將設備切換到低功耗狀態(tài),才可以降低設備能耗;設備Dk的臨界時間Bk,其計算方法如下:
其中,為設備Dk狀態(tài)轉化的時間開銷,為設備Dk狀態(tài)轉化的能耗開銷,為設備Dk在活躍狀態(tài)的功耗,為設備Dk在休眠狀態(tài)的功耗,max表示求最大值。
的計算方法如下:
其中,表示設備Dk從活躍狀態(tài)切換到休眠狀態(tài)的時間開銷,表示設備Dk從休眠狀態(tài)切換到活躍狀態(tài)的時間開銷。
的計算方法如下:
其中,表示設備Dk從活躍狀態(tài)切換到休眠狀態(tài)的能耗開銷,表示設備Dk從休眠狀態(tài)切換到活躍狀態(tài)的能耗開銷。
步驟102:將任務Ti所使用設備的臨界時間按照非降的順序進行排列;
將任務Ti所使用設備的臨界時間按照非降的順序進行排列;其處理步驟如下:
B1≤B2≤…≤Bm≤di-ci
其中di,ci分別是任務Ti的相對截止期限和最壞情況下的執(zhí)行時間;任務Ti所使用設備的臨界時間必須小于或者等于任務Ti的最大空閑時間di-ci,因為任務完成執(zhí)行時,將不在使用設備,使用設備的時間為其最壞情況下的執(zhí)行時間,而任務的最壞情況下的執(zhí)行時間會比其相對截止期限小。
步驟103:根據(jù)所使用設備的臨界時間,將任務Ti的空閑區(qū)間劃分為m+1個子區(qū)間{Im,Im-1,…,I0};
將空閑區(qū)間[ci,di]劃分為m+1個子區(qū)間,劃分方法如下:
{[ci,di-Bm],[di-Bm,di-Bm-1],…,[di-Bi+1,di-Bi],…,[di-B1,di]}
與此相對應的子區(qū)間為{Im,Im-1,…,I0},也就是Im表示區(qū)間[ci,di-Bm],Im-1表示[di-Bm,di-Bm-1],I0表示區(qū)間[di-B1,di]等等。
步驟104:分別計算任務Ti的響應時間屬于所述子區(qū)間和不屬于所述子區(qū)間時,執(zhí)行任務Ti所消耗的總能耗Ei(S);
當任務Ti的響應時間Ri屬于子區(qū)間Il時,Ei(S)計算方法如下:
當任務Ti的響應時間Ri不屬于子區(qū)間Il時,Ei(S)計算方法如下:
其中,l為0≤l≤m之間的整數(shù);a為與系統(tǒng)相關的常數(shù),其取值范圍為2≤a≤3;S為處理器的運行速度;di,ci分別是任務Ti的相對截止期限和最壞情況下的執(zhí)行時間;為設備Dj在活躍狀態(tài)的功耗,j為1≤j≤m之間的整數(shù),為設備Dj狀態(tài)轉化的能耗開銷。的計算方法為:
其中,表示設備Di從活躍狀態(tài)切換到休眠狀態(tài)的能耗開銷,表示設備Di從休眠狀態(tài)切換到活躍狀態(tài)的能耗開銷。
步驟105:求取總能耗Ei(S)的最小值,獲得局部最優(yōu)速度
局部最優(yōu)速度其計算方法如下:
求Ei(S)的最小值(1)
且滿足
其中LLj和ULj分別為子區(qū)間Ii的下限和上限;其計算方式如下:
LL0=di-B1,LLj=di-Bj+1,,LLm=ci;UL0=di,ULm=di-Bm;LLj=di-Bj
將公式(1)對變量S進行求導,且將求導的結果設置為0,求解出其中為設備Dj在活躍狀態(tài)的功耗。當能夠滿足公式(2)和公式(3)時,也就是當任務Ti的響應時間Ri屬于子區(qū)間Ii,就是局部最優(yōu)速度;當不能夠滿足公式(2)和公式(3)時,也就是當任務Ti的響應時間Ri不屬于子區(qū)間Ii,的取值為其中ci是任務Ti的最壞情況下的執(zhí)行時間。
步驟106:根據(jù)局部最優(yōu)速度計算全局最優(yōu)速度
全局最優(yōu)速度只能在局部最優(yōu)速度以及在確保系統(tǒng)任務滿足截止期限情況下的最低速度Slow中進行選擇,而其中ci和di分別是任務Ti的最壞情況下的執(zhí)行時間和相對截止期限;全局最優(yōu)速度選擇的方法為:
當時,否則,其中,
當且E(Smax)<Ebest,否則,其中Smax是處理器能夠提供的最大運行速度,
如圖2所示,本實施例中,任務Ti的執(zhí)行過程中需要使用4個設備,每個設備活躍狀態(tài)的功耗分別為0.19W,1.3W,0.125W,0.225W;每個設備處于休眠狀態(tài)的功耗分別為0.085W,0.1W,0.001W,0.02W;每個設備的能耗切換開銷分別為0.25W,1W,0.1W,0.2W;每個設備的時間切換開銷為20ms,24ms,2ms,4ms;設置任務Ti的相對截止期限設置為di=44ms,考察其最壞情況下的執(zhí)行時間ci對算法能耗的影響,ci的取值范圍從2ms到20ms,其步長為1ms;圖2中比較了兩種方法:第一,MP方法,任務始終以滿足其截止期限需求的最小速度執(zhí)行,設備一直處于活躍狀態(tài);第二,本發(fā)明方法,任務以最優(yōu)全局速度執(zhí)行,且利用DPM技術關閉閑置設備;以MP方法在任務最壞情況下的執(zhí)行時間等于20ms的能耗為基準進行歸一化。
從圖2中可以看出,所有方法的歸一化能耗都受到任務最壞情況下執(zhí)行時間的影響。當任務最壞情況下執(zhí)行時間增加時,所有方法的歸一化能耗上升。這是因為任務最壞情況下執(zhí)行時間增加,所需的能耗增加;當任務最壞情況下執(zhí)行時間較小時,本發(fā)明方法節(jié)約的能耗更多;隨著任務最壞情況下執(zhí)行時間增加,本發(fā)明方法節(jié)約的能耗逐漸減少,這是因為任務最壞情況下執(zhí)行時間增加,設備可以利用的空閑時間減少,降低系統(tǒng)能耗的機會減少;總之,無論任務最壞情況下執(zhí)行時間怎么變化,本發(fā)明方法的能耗都比MP方法少,經(jīng)過計算可知,本發(fā)明方法比MP方法平均節(jié)約43.48的能耗。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。