一種基于常帶寬服務(wù)器混合任務(wù)低功耗調(diào)度方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及實時系統(tǒng)領(lǐng)域混合任務(wù)的實時調(diào)度,具體的說是一種基于常帶寬服務(wù) 器混合任務(wù)低功耗調(diào)度方法。
【背景技術(shù)】
[0002] 目前的商用實時系統(tǒng)包含周期任務(wù)和非周期任務(wù),其中周期任務(wù)有截止期限的限 巧||,而非周期任務(wù)有響應(yīng)時間的要求。設(shè)計送些商用實時系統(tǒng)需要滿足W下Η個目標:首先 要保證系統(tǒng)的可行性,也就是所有的任務(wù)都能及時完成執(zhí)行;其次要降低非周期任務(wù)的響 應(yīng)時間;再次就是降低系統(tǒng)的能耗。
[0003] 系統(tǒng)的可行性,W及非周期任務(wù)的響應(yīng)時間,送兩個目標可W通過常用的混合任 務(wù)的調(diào)度方法實現(xiàn)。送些方法可W是偶發(fā)任務(wù)服務(wù)器(S巧,可延遲任務(wù)服務(wù)值巧,總帶寬 服務(wù)器(TBS),常帶寬服務(wù)器(CB巧等。對于第Η個目標可W通過動態(tài)電壓調(diào)節(jié)值V巧技術(shù) 和動態(tài)功耗管理值ΡΜ)技術(shù)實現(xiàn)。DVS技術(shù)是在保證任務(wù)不錯過截止期限的情況下,利用空 閑時間調(diào)節(jié)處理器的運行速度。DPM技術(shù)通過關(guān)閉系統(tǒng)閑置的設(shè)備達到節(jié)能的目的。
[0004] 現(xiàn)有的混合任務(wù)低功耗調(diào)度算法要么忽略處理器的靜態(tài)功耗,要么僅僅回收高優(yōu) 先級任務(wù)產(chǎn)生的空閑時間,忽略服務(wù)器產(chǎn)生的空閑時間,要么僅僅使用DVS技術(shù),而沒有使 用DPM技術(shù)。
【發(fā)明內(nèi)容】
[0005] 針對現(xiàn)有混合任務(wù)低功耗調(diào)度算法的不足之處,本發(fā)明提出了一種基于常帶寬服 務(wù)器混合任務(wù)低功耗調(diào)度方法,該方法考慮了通用的功耗模型,即既考慮了動態(tài)功耗,也考 慮了靜態(tài)功耗;既能夠回收高優(yōu)先任務(wù)產(chǎn)生的空閑時間,又能夠回收服務(wù)器產(chǎn)生的空閑時 間;并且結(jié)合了 DVS技術(shù)和DPM技術(shù),有效地降低了系統(tǒng)能耗。
[0006] 本發(fā)明為實現(xiàn)上述目的所采用的技術(shù)方案是;一種基于常帶寬服務(wù)器混合任務(wù)低 功耗調(diào)度方法,包括W下步驟:包括W下步驟:
[0007] 計算離線狀態(tài)的運行速度Sw,并且設(shè)置非周期任務(wù)的運行速度為Sw ;
[0008] 利用常帶寬服務(wù)器設(shè)置非周期任務(wù)的截止期限,根據(jù)最早截止期限優(yōu)先原則調(diào)度 周期任務(wù)和非周期任務(wù);
[0009] 計算任務(wù)的空閑時間ST ;
[0010] 運行隊列不空時,計算任務(wù)的運行速度S;
[0011] 運行隊列為空時,判斷空閑時間ST是否大于關(guān)閉處理器所需的時間開銷t。,如果 空閑時間ST大于關(guān)閉處理器所需的時間開銷t。,關(guān)閉處理器直到有新的任務(wù)釋放;否則將 處理器的運算速度設(shè)置為Smm,此時處理器進入空閑狀態(tài)。
[0012] 所述實時離線狀態(tài)的運行速度的計算方法為:
[001 引 Snf = max 怯UtDt+Uj
[0014] 其中,S。。,為處理器能耗最優(yōu)的運行速度,Ut。,為周期任務(wù)集的利用率,U,為常帶 寬服務(wù)器的帶寬。
[0015] 所述常帶寬服務(wù)器由服務(wù)器預(yù)算屯W及二元組(QwL)表示,其中,Q.為服務(wù)器的 最大預(yù)算,L為服務(wù)器的周期;當某個非周期任務(wù)完成執(zhí)行時,將當前的服務(wù)器預(yù)算q.分配 給下一個已經(jīng)就緒的非周期任務(wù),如果沒有就緒的非周期任務(wù),則常帶寬服務(wù)器進入空閑 狀態(tài)。
[0016] 利用常帶寬服務(wù)器設(shè)置非周期任務(wù)的截止期限,包括W下步驟:
[0017] 將非周期任務(wù)的截止期限初始化為d。= 0 ;
[0018] 當常帶寬服務(wù)器的利用率低于&時,使用W下的規(guī)則補充預(yù)算:
[001引1)當服務(wù)器預(yù)算屯=0時,設(shè)置服務(wù)器預(yù)算屯=Qs,更新截止期限dw = dk+Ts ; [0020]。當常帶寬服務(wù)器處于空閑狀態(tài),且有非周期任務(wù)到達時,如果 樂 > 機-嗦)·[/、,設(shè)置屯=Qs,更新截止期限兩=皆+T,;否則,該非周期任務(wù)的截止期限 保持為dk ;
[002。 其中,Q,為服務(wù)器的最大預(yù)算,L為服務(wù)器的周期,dk為當前服務(wù)器的截止期限, 皆為非周期任務(wù)的到達時間,&為服務(wù)器的帶寬;
[0022] 常帶寬服務(wù)器的利用率不低于Us時,設(shè)置服務(wù)器預(yù)算屯=Qs,截止期限dw = 屯巧S。
[0023] 所述任務(wù)的空閑時間ST為:
[0024] ST = STh+STc
[00巧]其中STh為高優(yōu)先級任務(wù)提早完成產(chǎn)生的空閑時間,ST。為服務(wù)器所產(chǎn)生的空閑時 間。
[0026] 所述任務(wù)的運行速度S的計算方法為:
[0027]
[0028] 其中,Wi為任務(wù)Ti的最壞情況下的剩余執(zhí)行時間,ST為任務(wù)的空閑時間,Ui為剩 余執(zhí)行時間,為處理器能耗最優(yōu)的運行速度。
[0029] 本發(fā)明具有W下優(yōu)點及有益效果:
[0030] 1.采用本發(fā)明方法,結(jié)合了 DVS和DPM兩種低功耗技術(shù),能夠高效地回收利用空閑 時間,從而比現(xiàn)有的混合任務(wù)低功耗調(diào)度算法節(jié)約6. 02%~34. 14%的能耗。
[0031] 2.系統(tǒng)能耗的降低,有助于提高系統(tǒng)的可靠性,減少系統(tǒng)出錯的概率。
[0032] 3.系統(tǒng)能耗的降低,可W降低產(chǎn)品的生產(chǎn)成本,有助于提高企業(yè)的競爭力。
【附圖說明】
[0033] 圖1為本發(fā)明方法處理步驟流程圖;
[0034] 圖2為歸一化能耗與服務(wù)器帶寬的仿真實驗結(jié)果圖;
[0035] 圖3為歸一化能耗與非周期任務(wù)的負載的仿真實驗結(jié)果圖。
【具體實施方式】
[0036] 下面結(jié)合附圖及實施例對本發(fā)明做進一步的詳細說明。
[0037] 參見附圖1,是一種基于常帶寬服務(wù)器混合任務(wù)低功耗調(diào)度方法,包括如下步驟:
[0038] 任務(wù)集調(diào)度之前,計算離線狀態(tài)的運行速度Sw,并且設(shè)置非周期任務(wù)的運行速度 為Sw ;利用常帶寬服務(wù)器設(shè)置非周期任務(wù)的截止期限,根據(jù)最早截止期限優(yōu)先原則調(diào)度任 務(wù);計算任務(wù)的空閑時間ST ;運行隊列不空時,計算任務(wù)的運行速度S ;運行隊列為空,并且 空閑時間ST大于關(guān)閉處理器所需的時間開銷t。,關(guān)閉處理器直到新的任務(wù)釋放;否則將處 理器的速度設(shè)置為其所能提供的最小運行速度Smm。
[0039] 對本發(fā)明進一步說明:
[0040] 任務(wù)集調(diào)度之前,計算離線狀態(tài)的運行速度Sw,并且設(shè)置非周期任務(wù)的運行速度 為Sw ;其處理步驟如下:
[0041] 當系統(tǒng)的利用率低于1時,送時處理器會產(chǎn)生靜態(tài)空閑時間。為了降低系統(tǒng)能 耗,設(shè)置離線狀態(tài)的運行速度Sw = max怯Ut"t+lU,其中,為處理器的關(guān)鍵速度, 也就是能耗最優(yōu)的運行速度,Ut。,為周期任務(wù)集的利用率,&為常帶寬服務(wù)器的帶寬。當 11化沖5 > S。。,時,Sw = Ut"t+Us。此時系統(tǒng)的利用率為+ = 所該速度運行時算 。曰f )〇J 法是可行的,并且充分利用了靜態(tài)空閑時間。當Ut"t+U, < S"it,送時Sw = s"it,此時系統(tǒng)的 利用率小于1,算法依然可行,并且速度是能耗最優(yōu)的運行速度,因此使用該速度算法 的能耗最低。計算出任務(wù)離線狀態(tài)的運行速度Sw后,設(shè)置非周期任務(wù)的運行速度為Sw,在 此之后非周期任務(wù)始終保持該速度運行。
[0042] 利用常帶寬服務(wù)器設(shè)置非周期任務(wù)的截止期限,根據(jù)最早截止期限優(yōu)先原則調(diào)度 任務(wù);其處理步驟如下:
[0043] 常帶寬服務(wù)器由服務(wù)器的預(yù)算屯W及二元組化,L)表示,其中,Q,為服務(wù)器的最 大預(yù)算,L為服務(wù)器的周期。在每個時刻,非周期任務(wù)Jk的截止期限等于當前服務(wù)器的截 止期限dk,開始時d。= 0。當非周期任務(wù)Jk完成執(zhí)行時,將當前的服務(wù)器預(yù)算分配給下一 個已經(jīng)就緒的非周期任務(wù),如果沒有就緒的非周期任務(wù),服務(wù)器進入空閑狀態(tài)。在時刻t,總 是將服務(wù)器最后的截止期限分配給非周期任務(wù)。
[0044] 當服務(wù)器的利用率低于&時,使用^下的規(guī)則補充預(yù)算:
[004引1).當屯=0,設(shè)置服務(wù)器的預(yù)算屯=Qs,截止期限cU = dk巧S。
[004引 2).服務(wù)器處于空閑狀態(tài),當有非周期任務(wù)Jk到達時,如果?; 機--《)心,,設(shè)置屯 =Q,,截止期限知1 =話+巧P否則,非周期任務(wù)Jk截止期限為dk。
[0047] 非周期任務(wù)分配了截止期限W后和周期任務(wù)一起根據(jù)最早截止期限優(yōu)先原則調(diào) 度。所謂的最早截止期限優(yōu)先原則是指任務(wù)的截止期限越早,其優(yōu)先級越高,就會被優(yōu)先調(diào) 度。