實(shí)時系統(tǒng)中混合任務(wù)集的動態(tài)電壓調(diào)節(jié)算法
While (S不為空集){
F=Scale_WCET(S,Slowdown_Factor[]);//計算減慢因子F
重新設(shè)置Sm;
Current_Scaling_Facotr *=F;
For S中的每一個任務(wù)i {
If任務(wù)i!=服務(wù)器
Slowdown_Factor[i]=F;
}
重新設(shè)置集合S,讓集合S中所有任務(wù)的優(yōu)先級小于Sm中最低優(yōu)先級任務(wù)的優(yōu)先級;
}
}本文引用地址:http://butianyuan.cn/article/150621.htm
上面的程序通過Scale_WCET過程計算一個減慢因子,使得給定任務(wù)集中存在的一個或者多個任務(wù)的最差響應(yīng)時間剛好等于它們的時限(此時該任務(wù)集剛好可調(diào)度),這樣的任務(wù)稱為“臨界任務(wù)”。Compute_Slowdown_Factors過程首先調(diào)用Scale_WCET過程計算初始任務(wù)集的同一減慢因子F;然后讓優(yōu)先級低于臨界任務(wù)的任務(wù)集繼續(xù)調(diào)用Scale_WCET過程計算出新的減慢因子。這是因?yàn)槿绻^續(xù)讓作用于優(yōu)先級高于臨界任務(wù)的減慢因子F變小,則必然會導(dǎo)致至少有一個臨界任務(wù)超過時限,破壞了系統(tǒng)的實(shí)時性;而讓作用優(yōu)先級低于臨界任務(wù)的減慢因子F變小,則不會影響整個任務(wù)集的可調(diào)度性。這個過程將會反復(fù)執(zhí)行,直到初始任務(wù)集中的最低優(yōu)先級任務(wù)變成臨界任務(wù)??傊@個迭代過程為每一個任務(wù)計算出減慢因子,同時保證整個任務(wù)集是可以調(diào)度的。需要說明的是,對于服務(wù)器將不會應(yīng)用靜態(tài)減慢因子,因?yàn)槿绻黾恿朔?wù)器的運(yùn)行時間,則必然會造成受服務(wù)器調(diào)度的非周期性任務(wù)的平均響應(yīng)時間的增加。
3 算法驗(yàn)證和仿真
本算法通過T1 OMAP1612的TCSCDMA無線終端平臺來驗(yàn)證,對實(shí)時嵌入式操作系統(tǒng)Nucleus微內(nèi)核進(jìn)行功能上的擴(kuò)充,主要是實(shí)現(xiàn)了可延期服務(wù)器(DS)和偶發(fā)服務(wù)器(SS)來對非周期性任務(wù)進(jìn)行調(diào)度。同時,又整合了基于本算法的DVS模塊和CPU功率檢測模塊。
本實(shí)驗(yàn)通過3種情況(沒有采用DVS算法,以及基于混合任務(wù)集的減慢因子DVS算法在DS和SS中的分別應(yīng)用)分別在服務(wù)器利用率為25%、35%、45%的情況下進(jìn)行了時間為60 s的實(shí)驗(yàn),得出各情況下能耗在不同服務(wù)器利用率下的關(guān)系,如圖1所示。
圖1 各種算法的能耗對比
圖1結(jié)果表明,采用基于混合任務(wù)集的減慢因子DVS算法與沒有采用DVS算法相比,能耗降低了大概19.3%~32%;同時也看到,服務(wù)器利用率越高,能耗越接近于沒有采用DVS算法所產(chǎn)生的能耗。這是因?yàn)闉榱吮WC非周期性任務(wù)有很短的響應(yīng)時間,基于混合任務(wù)集的減慢因子DVS算法在服務(wù)器上運(yùn)行時,總是以最高頻率運(yùn)行,同時高服務(wù)器利用率意味著服務(wù)器會占用很大一部分CPU周期。因此,在這樣的環(huán)境下,CPU很大的一部分時間都運(yùn)行在最高頻率上,導(dǎo)致服務(wù)器利用率越高, 越接近沒有采用DVS算法的情況。
4 結(jié)論
本文提出的針對靜態(tài)空閑間隔的靜態(tài)減慢因子算法屬于脫機(jī)(offline)的DVS算法。該算法同時把占系統(tǒng)很大部分的非周期性任務(wù)一起進(jìn)行分析,把非周期性任務(wù)的服務(wù)器當(dāng)作周期性任務(wù)進(jìn)行動態(tài)電壓調(diào)節(jié),從而解決了非周期性任務(wù)的功耗問題,具有很大的實(shí)際意義。在保證性能的同時,降低了系統(tǒng)中的無用能耗,提高了能量的有效利用率。隨著研究的深入,還將深入到對聯(lián)機(jī)(online)情況進(jìn)行動態(tài)電壓調(diào)節(jié)。
評論