專利名稱:一種基于Linux嵌入式系統(tǒng)的動(dòng)態(tài)電源管理的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于嵌入式系統(tǒng)的動(dòng)態(tài)電源管理技術(shù),特別是涉及一種基于Li皿x嵌入式 系統(tǒng)的動(dòng)態(tài)電源管理的方法。
背景技術(shù):
隨著半導(dǎo)體技術(shù)的高速發(fā)展,系統(tǒng)集成度和運(yùn)算速度的提高,使得高性能和低功 耗的矛盾日益突出。 一方面,嵌入式技術(shù)迅速發(fā)展,嵌入式設(shè)備得到廣泛應(yīng)用,在給人們?cè)?通訊、娛樂等方面提供了便利的同時(shí)也暴露出一些缺陷和不足。能量消耗問題是近幾年來(lái) 人們?cè)谇度胧较到y(tǒng)設(shè)計(jì)中普遍關(guān)注的難點(diǎn)與熱點(diǎn),它嚴(yán)重制約著嵌入式系統(tǒng)的應(yīng)用及發(fā) 展。大量的移動(dòng)系統(tǒng)出現(xiàn),它們由電池供電,并且電池在重量和尺寸上受到嚴(yán)格限制。尤其 是對(duì)于手持式設(shè)備,這些設(shè)備大部分時(shí)間由電池供電,電池的供電時(shí)間有限;而且結(jié)構(gòu)比較 緊湊,散熱條件差。另一方面,一些大型系統(tǒng)由于進(jìn)行大量高強(qiáng)度計(jì)算產(chǎn)生的熱量需要散 發(fā);人們不但關(guān)心大型系統(tǒng)由于巨大的電路能量消耗產(chǎn)生的運(yùn)行成本,而且關(guān)心系統(tǒng)在由 于能量消耗產(chǎn)生的高溫環(huán)境下運(yùn)行的可靠性。 因此如何降低設(shè)備的功耗,無(wú)論在軍用設(shè)備和民用設(shè)備,如PDA,手持電腦等等,都 具有非同尋常的現(xiàn)實(shí)意義。減少電能消耗不僅能延長(zhǎng)電池的壽命,而且能有效提高系統(tǒng)的 可靠性,同時(shí),散發(fā)的熱量少了 ,所需的散熱器就越少,從而可減少該設(shè)備的成本和體積,使 產(chǎn)品盡快進(jìn)入市場(chǎng)。特別在人類關(guān)注生態(tài)環(huán)境的今天,低功耗對(duì)保護(hù)環(huán)境同樣具有非常積 極的意義。 動(dòng)態(tài)電源管理(Dynamic Power Management, DPM)是實(shí)現(xiàn)低功耗的主要技術(shù),設(shè)備 通常具有不同的能量消耗等級(jí),在運(yùn)行過程中,在滿足一定性能約束條件下,DPM通過觀察 設(shè)備負(fù)載將設(shè)備動(dòng)態(tài)的切換到不同的能耗狀態(tài)的方法來(lái)達(dá)到節(jié)省設(shè)備能耗的目的,例如, 設(shè)備空閑(Idle)時(shí),采用某種策略將設(shè)備轉(zhuǎn)入能耗更低的狀態(tài)(Standby)。大量研究證明, 采用動(dòng)態(tài)電源管理技術(shù)比不采用能夠節(jié)省多達(dá)30%的能量,因此對(duì)動(dòng)態(tài)電源管理技術(shù)的研 究具有重要的意義。 在動(dòng)態(tài)電源管理中,何時(shí)決定切換以及如何切換設(shè)備的能耗狀態(tài)由采用的DPM策 略決定(算法),策略的性能直接決定動(dòng)態(tài)電源管理技術(shù)的省電效果。故而提供一種高性能 DPM策略的管理方法具有重大意義。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在Li皿x嵌入式環(huán)境中的可加載的DPM框架,且性能 更佳的管理方法。 為了實(shí)現(xiàn)上述發(fā)明目的,采用的技術(shù)方案如下 —種基于Li皿x嵌入式系統(tǒng)的動(dòng)態(tài)電源管理的方法,由動(dòng)態(tài)電源管理框架實(shí)現(xiàn), 所述動(dòng)態(tài)電源管理框架包括腳本層、虛擬文件接口層、設(shè)備動(dòng)態(tài)電源管理策略層和設(shè)備驅(qū) 動(dòng)層;
所述腳本層提供用于對(duì)動(dòng)態(tài)電源管理框架進(jìn)行控制的腳本,在Li皿x中指的是 Shell腳本,通過腳本層所提供的腳本能啟動(dòng)/關(guān)閉具體設(shè)備的動(dòng)態(tài)電源管理,或者獲取設(shè) 備電源管理的相關(guān)信息; 所述虛擬文件接口層提供與腳本命令相對(duì)應(yīng)的接口 ,以供腳本調(diào)用,包括整個(gè)動(dòng) 態(tài)電源管理框架的虛擬文件接口以及各個(gè)電源管理設(shè)備的文件接口 ,在Li皿x中,使用內(nèi) 核中Sysf s或者Proc所提供機(jī)制來(lái)實(shí)現(xiàn)DPM模塊的虛擬文件接口層;
所述設(shè)備動(dòng)態(tài)電源管理策略層提供各電源管理設(shè)備的策略接口,以供虛擬文件接 口層調(diào)用; 所述設(shè)備驅(qū)動(dòng)層提供與各電源管理設(shè)備動(dòng)態(tài)電源管理相關(guān)的驅(qū)動(dòng)。 上述技術(shù)方案中,所述腳本層處于用戶層,其余三層都處于操作系統(tǒng)層。對(duì)應(yīng)到
Li皿x,后三層位于Li皿x內(nèi)核中,其實(shí)現(xiàn)將以Li皿x驅(qū)動(dòng)模塊的方式實(shí)現(xiàn)。 本發(fā)明的設(shè)備動(dòng)態(tài)電源管理策略層針對(duì)CPU的電源管理采用基于指數(shù)平均適應(yīng)
性算法策略。 針對(duì)CPU的電源管理與現(xiàn)有的區(qū)別主要體現(xiàn)如下 第一 引進(jìn)指數(shù)平均算法預(yù)測(cè)下一時(shí)間間隔的CPU空閑時(shí)間。 用At表示時(shí)間片t所測(cè)得的負(fù)載,Pt表示此時(shí)間片的預(yù)測(cè)負(fù)載,則指數(shù)平均算法 預(yù)測(cè)時(shí)間片t的負(fù)載為 <formula>formula see original document page 4</formula> 其中,weight是一個(gè)權(quán)值,它表示歷史時(shí)間片的負(fù)載對(duì)下一時(shí)間片的負(fù)載的影響 程度。當(dāng)weight為0時(shí),Pt = At—p這表明下一時(shí)間片的預(yù)測(cè)負(fù)載等于上一時(shí)間片的實(shí)際 負(fù)載,當(dāng)weight的值越大時(shí),CPU頻率/電壓的轉(zhuǎn)變將會(huì)變慢且平滑。當(dāng)weight的值變小 時(shí),表明系統(tǒng)對(duì)負(fù)載的變化有更快速的反應(yīng)。 令<formula>formula see original document page 4</formula>則<formula>formula see original document page 4</formula>等價(jià)于: <formula>formula see original document page 4</formula> 可以看出,Pt的值取決于P。的值與所有歷史時(shí)間片的負(fù)載。 由于考慮了歷史負(fù)載的影響,指數(shù)平均算法的CPU負(fù)載曲線比較平穩(wěn),不會(huì)出現(xiàn) 劇烈的變化,做決策時(shí),也不會(huì)引起操作點(diǎn)的劇烈變化。 第二 適應(yīng)性的根據(jù)負(fù)載變化動(dòng)態(tài)修改參數(shù)sampling_down_factor。
具體做法是當(dāng)需要提高CPU頻率時(shí),表明此時(shí)CPU較繁忙,因此,如果此時(shí) sampling_down_factor的值較小,在增力t] CPU頻率的同時(shí),增大sampling_down_factor 的值;當(dāng)需要降低CPU頻率時(shí),表明此時(shí)CPU相對(duì)空閑,因此,如果此時(shí)samp 1 ing_doWn_ factor的值較大,在減少CPU頻率的同時(shí),減小sampling_down_factor的值。sampling— down—factor增加和減少的量是一樣的,在具體的實(shí)現(xiàn)中,每次增加/減少的量的值為1。
采用基于指數(shù)平均適應(yīng)性算法策略后,所述CPU的電源管理策略具體如下
1)用指數(shù)平均算法預(yù)測(cè)下一時(shí)間片[ti, t(i+l)]的CPU空閑時(shí)間tidle ;
2)判斷tidle是否小于[1(1+1)-廿]*20%,如果是轉(zhuǎn)步驟3),否則轉(zhuǎn)步驟4);
3)令down_skip = 0,將CPU頻率提高到最大頻率值,增大sampling_down_factor 的值,轉(zhuǎn)步驟l); 4) down_skip++,判斷down—ship是否大于等于sampling—down—factor,如果是轉(zhuǎn) 步驟5),否則轉(zhuǎn)步驟1); 5)降低CPU頻率,在當(dāng)前負(fù)載不變情況下,目標(biāo)頻率應(yīng)使得空閑時(shí)間能超過30%, 減少sampling_down_factor的值,轉(zhuǎn)步驟1)。 ti表示第i個(gè)時(shí)間片開始時(shí)刻,sampling_down_factor表示觸發(fā)頻率更改時(shí)的閾 值,down_skip表示對(duì)閾值的計(jì)數(shù)值。 本發(fā)明的設(shè)備動(dòng)態(tài)電源管理策略層硬盤的電源管理采用半馬爾可夫算法的策略。
本發(fā)明提出一個(gè)可動(dòng)態(tài)加載的動(dòng)態(tài)電源管理模塊的框架,采用了軟件設(shè)計(jì)上的分 層概念,具有比較好的擴(kuò)展性,容易在模塊中添加對(duì)其他設(shè)備的動(dòng)態(tài)電源管理。另外,模塊 是可動(dòng)態(tài)加載/卸載的,方便開發(fā)工作的進(jìn)行。 本發(fā)明針對(duì)現(xiàn)有Linux的Cpufreq內(nèi)核子系統(tǒng)的電源管理策略0ndemand的不足, 提出并實(shí)現(xiàn)基于指數(shù)平均適應(yīng)性算法的新的策略,并以磁盤作為節(jié)能對(duì)象,在DPM模塊中 實(shí)現(xiàn)了基于半馬爾可夫過程的磁盤動(dòng)態(tài)電源管理。 通過實(shí)驗(yàn)表明,對(duì)于CPU的動(dòng)態(tài)電源管理,本發(fā)明的CPU動(dòng)態(tài)電源管理無(wú)論從能耗 還是性能都優(yōu)于Cpufreq內(nèi)核子系統(tǒng)中的0ndemand策略。對(duì)于硬盤的動(dòng)態(tài)電源管理,本發(fā) 明實(shí)現(xiàn)的基于半馬爾可夫過程的磁盤動(dòng)態(tài)電源管理,在性能損失相同的情況下,相對(duì)于其 他電源管理策略,能夠獲得更好的節(jié)能效果。
圖1為本發(fā)明的動(dòng)態(tài)電源管理框架示意圖; 圖2為半馬爾可夫決策過程示意圖; 圖3為系統(tǒng)狀態(tài)轉(zhuǎn)換模型; 圖4為磁盤狀態(tài)轉(zhuǎn)換模型; 圖5采用不同DPM策略時(shí)CPU操作點(diǎn)變化曲線; 圖6采用不同電源策略時(shí)磁盤狀態(tài)變化曲線比較。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的說明。 圖1是本發(fā)明的DPM框架圖。采用了軟件設(shè)計(jì)的分層思想。因此,容易對(duì)模塊進(jìn) 行擴(kuò)展,添加針對(duì)不同設(shè)備的電源管理。整個(gè)框架包括腳本層、虛擬文件接口層、設(shè)備DPM 策略層、設(shè)備驅(qū)動(dòng)層。 本發(fā)明除了實(shí)現(xiàn)了一種在Li皿x嵌入式環(huán)境中的可加載的DPM的框架,還針對(duì) Li皿x的Cpufreq內(nèi)核子系統(tǒng)的電源管理策略0ndemand的不足,提出并實(shí)現(xiàn)基于指數(shù)平均 適應(yīng)性算法的新的策略,以及針對(duì)于離散時(shí)間和連續(xù)時(shí)間的馬爾可夫決策過程算法的硬盤 電源管理的不足,提出基于半馬爾可夫的硬盤電源管理優(yōu)化算法。 在計(jì)算機(jī)系統(tǒng)中,系統(tǒng)狀態(tài)的轉(zhuǎn)換通常是由一些事件(event)引起的,例如請(qǐng)求 到來(lái),請(qǐng)求隊(duì)列為空等。這些事件是電源狀態(tài)轉(zhuǎn)換的原因,本發(fā)明研究的半馬爾可夫決策就是在這些事件的驅(qū)動(dòng)下進(jìn)行工作的。圖2是事件驅(qū)動(dòng)的半馬爾可夫決策過程
event(事件)是引起狀態(tài)轉(zhuǎn)換的原因,例如請(qǐng)求到來(lái),請(qǐng)求隊(duì)列為空等;
決策點(diǎn)是進(jìn)入另一個(gè)狀態(tài)的時(shí)刻,即每當(dāng)系統(tǒng)進(jìn)入新的狀態(tài)si,就做一次決策,發(fā) 出命令ai ; ti是當(dāng)系統(tǒng)處于狀態(tài)si,在發(fā)出命令ai的情況下,直到系統(tǒng)轉(zhuǎn)換到狀態(tài)si+1所 經(jīng)歷的時(shí)間,ti服從概率分布Fi j (t) , Fi j (t)可以是任何的概率分布。
半馬爾可夫代價(jià)模型如下 F(ti|si,ai):表示在狀態(tài)si時(shí)發(fā)出命令ai,在ti結(jié)束之前有事件發(fā)生的概率分 布; p(s(i+l) |si, ai, ti):表示在狀態(tài)si時(shí)發(fā)出命令ai,在ti結(jié)束之前有事件發(fā)生
的條件下,系統(tǒng)轉(zhuǎn)換到狀態(tài)S(i + l)的概率; m(jls,a):表示在狀態(tài)s時(shí)發(fā)出命令a,系統(tǒng)轉(zhuǎn)換到狀態(tài)j的概率,由概率學(xué)知識(shí), 有/n(_/1 、") = f/ (_/ II j,a) y(s, a):表示在狀態(tài)s時(shí)發(fā)出命令a,處于狀態(tài)s的期望 時(shí)間,由概率學(xué)知識(shí),有
0 " (3-2) cost(s, a):表示在s時(shí)發(fā)出命令a的平均代價(jià),包括能耗代價(jià)和性能損耗代價(jià)。 有cos";,.,";) = +廠F(dw I s,.,a》Z J^cCSi+p^aX^ I <formula>formula see original document page 6</formula>節(jié) ° ° (3-3) 其中k(si,ai)表示在狀態(tài)si時(shí)發(fā)出命令ai的固定代價(jià),c (s (i+1) , si, ai)表示 在狀態(tài)si時(shí)發(fā)出命令ai,接下來(lái)的狀態(tài)是s(i+l)的代價(jià)率。Si+l是si有可能轉(zhuǎn)化到的 狀態(tài)的集合。 性能約束和能耗約束下的最優(yōu)化策略的求解等價(jià)于對(duì)下面式子的求解 min XX cos f, "' "),", a)
其中f(s, a)是未知數(shù),表示在狀態(tài)s時(shí)發(fā)出命令的頻率;系數(shù)cost(s, a)和
m(sls', a)含義見前面。(3-4)式求解的是在一定性能損耗的約束下,使得能耗最小的策
略,由對(duì)稱性,將(3-4)中兩個(gè)cost(s,a)交換位置,就變成求解在一定能量消耗的約束下,
使得性能損耗最小的策略。 則在狀態(tài)s時(shí)發(fā)出命令a的概率為
<formula>formula see original document page 6</formula> '', " X/"i,"i)
一 (3-5) 根據(jù)系統(tǒng)在狀態(tài)s時(shí)發(fā)出各個(gè)命令的概率大小,選擇概率最大的那個(gè)命令。
為了求出式子(3-4)的各個(gè)系數(shù),需要對(duì)目標(biāo)系統(tǒng)的狀態(tài)轉(zhuǎn)換過程進(jìn)行研究。目 標(biāo)系統(tǒng)一般有若干個(gè)不同的能耗狀態(tài),例如,active、idle等。ii^在某一能耗狀態(tài)s的 某個(gè)時(shí)刻進(jìn)行,或者說,在s的某個(gè)時(shí)間片At內(nèi)做的。由此,如果能對(duì)s再進(jìn)行劃分,將能 得到精確度和靈活性更高的決策。假設(shè)目標(biāo)系統(tǒng)具有active、 idle、 standby、 sle印四個(gè) 能耗狀態(tài),基于上面思想,建立圖3所示的系統(tǒng)轉(zhuǎn)換模型。 圖3中arrival表示有服務(wù)請(qǐng)求到來(lái),d印arture表示服務(wù)隊(duì)列為空。 從圖3中可以看出,Idle、 Standby、 Sle印按照時(shí)間片被細(xì)化成了若干個(gè)狀態(tài),狀
態(tài)數(shù)目取決于時(shí)間片數(shù),假設(shè)有n個(gè)時(shí)間片(n A t略大于等效工作時(shí)間Tbe),則系統(tǒng)狀態(tài)數(shù)
為0(n)+2。 如果目標(biāo)系統(tǒng)有更多的低能耗狀態(tài),同樣可采取像Idle、 Standby、 Sle印那樣按 照時(shí)間片細(xì)化成若干個(gè)狀態(tài)。 細(xì)化Idle、 Stanby狀態(tài),使得可以在不同的Idle或Stanby時(shí)刻采取決策, 一方 面決策點(diǎn)增加,靈活性更高;另一方面也能更大程度地避免系統(tǒng)由于長(zhǎng)時(shí)間處于Idle狀態(tài) (本應(yīng)轉(zhuǎn)入Stanby狀態(tài))或者Stanby狀態(tài)(本應(yīng)轉(zhuǎn)入Sle印狀態(tài))而消耗大量能量的情 況。 決策點(diǎn)包括Idle、 Standby的各個(gè)時(shí)間片,進(jìn)入Idle或Standby的每一個(gè)時(shí)間片 狀態(tài)都會(huì)做決策,發(fā)出命令,決定系統(tǒng)轉(zhuǎn)換到哪一個(gè)狀態(tài)。 對(duì)于圖3的系統(tǒng)狀態(tài)轉(zhuǎn)換模型,在Idle和Stanby的每一個(gè)時(shí)間片狀態(tài),事件 event指的就是請(qǐng)求到來(lái)。設(shè)F(t)表示事件發(fā)生的概率分布,p (ti, si, ai)表示系統(tǒng)在時(shí) 間片狀態(tài)si時(shí)發(fā)出命令ai(例如保持idle的命令),在時(shí)間片[ti,ti+At]內(nèi)有請(qǐng)求到來(lái) 的概率,對(duì)Idle或Standby的某一個(gè)時(shí)間片狀態(tài)(ti《t《ti+A t),在[ti, ti+At]有 請(qǐng)求到來(lái)意味著在
沒有請(qǐng)求到來(lái),由概率學(xué)知識(shí)有<formula>formula see original document page 7</formula>3~6) 考慮系統(tǒng)處于時(shí)間片狀態(tài)si時(shí)發(fā)出命令ai,處于狀態(tài)si或者處于轉(zhuǎn)換狀態(tài)的期 望時(shí)間 如果ai是保持當(dāng)前狀態(tài)不變的命令,當(dāng)沒有事件發(fā)生時(shí),系統(tǒng)狀態(tài)保持不變,則 相應(yīng)時(shí)間片狀態(tài)si的期望時(shí)間 <formula>formula see original document page 7</formula>(3-7) 如果ai是轉(zhuǎn)換到其他狀態(tài)的命令,假設(shè)轉(zhuǎn)換時(shí)間為Atl,當(dāng)沒有事件發(fā)生時(shí),系
統(tǒng)將保持"轉(zhuǎn)換狀態(tài)"不變,其期望時(shí)間為
<formula>formula see original document page 7</formula> 在Idle和Stanby的每一個(gè)時(shí)間片狀態(tài),有事情發(fā)生(即有請(qǐng)求到來(lái)),系統(tǒng)的狀 態(tài)總會(huì)發(fā)生變化,即會(huì)轉(zhuǎn)換到Active狀態(tài)。系統(tǒng)在Idle或Standby的某一個(gè)時(shí)間片狀態(tài) 時(shí),下一狀態(tài)仍然為Idle或Standby的概率為m(j I si, ai) = l-p(ti, si, ai) (3-9)
下一狀態(tài)為Active的概率m(j I si, ai) = p(ti, si, ai) (3-10)
到此為止,圖3的目標(biāo)系統(tǒng)對(duì)應(yīng)的式子(3-4)的各個(gè)系數(shù)已能夠計(jì)算出來(lái),即可對(duì) 式子(3-4)進(jìn)行求解,求出圖3所描述系統(tǒng)的x(si, ai)。具體決策點(diǎn)包括Idle、 Standby 的各個(gè)時(shí)間片,每當(dāng)進(jìn)入Idle或Standby的每一個(gè)時(shí)間片狀態(tài)都會(huì)做決策產(chǎn)生一個(gè)內(nèi)核 隨機(jī)數(shù)RND,如果轉(zhuǎn)換到更低能耗狀態(tài)的概率x(si, ai)大于RND,則發(fā)出命令,將系統(tǒng)轉(zhuǎn)換 到更低能耗狀態(tài),否則,不發(fā)出命令。 采用本發(fā)明對(duì)CPU動(dòng)態(tài)電源管理進(jìn)行評(píng)估測(cè)試,測(cè)試時(shí)間大約十分鐘。開啟CPU 電源管理后,同時(shí)播放一段3:33和一段9:40的視頻,啟動(dòng)視頻后,馬上用0penof f ice新建 并編輯兩個(gè)新的odt文件,輸入五到六行的字符,存盤并關(guān)閉文件,接著關(guān)閉Openoffice, 接下去什么也不做,等待視頻播放完成。 此方法可測(cè)試DPM策略在以下情況的性能第一,CPU在一段時(shí)間內(nèi)較忙;第二, CPU負(fù)載適中;第三,CPU相對(duì)空閑。 從單位時(shí)間平均能耗,性能損失,狀態(tài)轉(zhuǎn)換次數(shù)三個(gè)方面來(lái)對(duì)算法性能進(jìn)行評(píng)估。 單位時(shí)間性能損失采用下面公式來(lái)計(jì)算 Per/ — Cfmswm = ~^-
,eg"e"ce (4-1) CPU性能損失和負(fù)載成正比,和CPU頻率成反比。負(fù)載越高,性能越差。頻率越高, 性能越好。 CPU在進(jìn)行狀態(tài)轉(zhuǎn)換的時(shí)候會(huì)產(chǎn)生時(shí)間延遲,狀態(tài)轉(zhuǎn)換期間CPU什么也做不了 ,狀 態(tài)轉(zhuǎn)換次數(shù)越多,CPU性能損失就越大,對(duì)CPU壽命的影響也更大。 以80ms作為采樣時(shí)間間隔,在不同DPM策略下,對(duì)CPU當(dāng)前負(fù)載和狀態(tài)進(jìn)行采樣, 圖4是用Matlab進(jìn)行數(shù)據(jù)處理后的結(jié)果。為表述方便,將本發(fā)明的策略取名為Mydemand。
操作點(diǎn)的值越高,消耗的能量就越多。從圖4可以看出,相對(duì)于不采用DPM的情況, 采用Ondemand或Mydemand進(jìn)行動(dòng)態(tài)電源管理,都能夠在比較大的程度上節(jié)省能耗。相對(duì) 于采用Mydemand,采用Ondemand時(shí)CPU明顯有更多的時(shí)間是處于高操作點(diǎn),而且不同操作 點(diǎn)間的切換更頻繁,這說明Mydemand無(wú)論從性能上還是能耗上都應(yīng)該是優(yōu)于Ondemand的。
采用本發(fā)明對(duì)磁盤動(dòng)態(tài)電源管理評(píng)估測(cè)試,測(cè)試時(shí)間大約8分鐘(500秒),在 此時(shí)間內(nèi)播放一段長(zhǎng)約5分20秒的視頻,接著編寫一段helloworld代碼,啟動(dòng)GCC編譯 helloworld代碼,執(zhí)行此代碼,最后大約一分半鐘什么都不做。 此方法可同時(shí)測(cè)試算法在以下情況的性能第一,硬盤在一段時(shí)間內(nèi)較忙;第二, 硬盤空閑。 由于硬盤本身有高級(jí)電源管理(APM)功能,因此,不僅需要比較在DPM模塊中實(shí)現(xiàn) 的硬盤DPM各個(gè)策略間的性能差異,而且還要比較它們與硬盤APM之間的性能差異。
以1 s為采樣時(shí)間間隔,在不同的電源策略下,對(duì)硬盤的狀態(tài)進(jìn)行采樣。圖5是用 Matlab對(duì)數(shù)據(jù)進(jìn)行處理后的結(jié)果。 從上到下三個(gè)子圖分別是不采用電源管理(nopm)、采用磁盤本身的高級(jí)電源管理 (disk apm)、采用基于半馬爾可夫決策過程的動(dòng)態(tài)電源管理(semi-markovdecision dpm) 這三種策略時(shí)磁盤狀態(tài)的變化曲線。 從圖6可以看到,nopm時(shí)磁盤只會(huì)處 Idle和Active狀態(tài),而disk apm或semi-markov decision dpm時(shí),磁盤還會(huì)比較久的處于低能耗的Standby狀態(tài),因此,disk apm或semi__markov decision dpm者卩會(huì)g達(dá)到節(jié)省會(huì)g耗的效果。 從圖6還可以看出,semi-markov decision dpm處于Active禾P Standby狀態(tài)的時(shí) 間比disk即m多,而處于Idle狀態(tài)的時(shí)間比disk即m少,由于Active和Idle兩個(gè)狀態(tài) 能耗相差不大,而Standby狀態(tài)比Idle狀態(tài)能耗小得多,因此,semi-markov decision dpm 比disk即m更加節(jié)能。
權(quán)利要求
一種基于Linux嵌入式系統(tǒng)的動(dòng)態(tài)電源管理的方法,其特征在于由動(dòng)態(tài)電源管理框架實(shí)現(xiàn),所述動(dòng)態(tài)電源管理框架包括腳本層、虛擬文件接口層、設(shè)備動(dòng)態(tài)電源管理策略層和設(shè)備驅(qū)動(dòng)層;所述腳本層提供用于對(duì)動(dòng)態(tài)電源管理框架進(jìn)行控制的腳本,通過腳本層所提供的腳本能啟動(dòng)/關(guān)閉具體設(shè)備的動(dòng)態(tài)電源管理,或者獲取設(shè)備電源管理的相關(guān)信息;所述虛擬文件接口層提供與腳本命令相對(duì)應(yīng)的接口,以供腳本調(diào)用,包括整個(gè)動(dòng)態(tài)電源管理框架的虛擬文件接口以及各個(gè)電源管理設(shè)備的文件接口;所述設(shè)備動(dòng)態(tài)電源管理策略層提供各電源管理設(shè)備的策略接口,以供虛擬文件接口層調(diào)用;所述設(shè)備驅(qū)動(dòng)層提供與各電源管理設(shè)備動(dòng)態(tài)電源管理相關(guān)的驅(qū)動(dòng)。
2. 根據(jù)權(quán)利要求1所述的基于Li皿x嵌入式系統(tǒng)的動(dòng)態(tài)電源管理的方法,其特征在于 所述腳本層處于用戶層,其余三層都處于操作系統(tǒng)層。
3. 根據(jù)權(quán)利要求1或2所述的基于Li皿x嵌入式系統(tǒng)的動(dòng)態(tài)電源管理的方法,其特征 在于設(shè)備動(dòng)態(tài)電源管理策略層針對(duì)CPU的電源管理采用基于指數(shù)平均適應(yīng)性算法策略。
4. 根據(jù)權(quán)利要求3所述的基于Li皿x嵌入式系統(tǒng)的動(dòng)態(tài)電源管理的方法,其特征在于 所述CPU的電源管理策略具體如下1) 用指數(shù)平均算法預(yù)測(cè)下一時(shí)間片[ti,t(i+l)]的CPU空閑時(shí)間tidle;2) 判斷tidle是否小于[t(i+l)-ti丌20X,如果是轉(zhuǎn)步驟3),否則轉(zhuǎn)步驟4);3) 令down_skip = O,將CPU頻率提高到最大頻率值,增大sampling_down_factor的 值,轉(zhuǎn)步驟l);4) (1(^11_8^。++,判斷down_ship是否大于等于sampling_down_factor,如果是轉(zhuǎn)步驟 5),否則轉(zhuǎn)步驟1);5) 降低CPU頻率,在當(dāng)前負(fù)載不變情況下,目標(biāo)頻率應(yīng)使得空閑時(shí)間能超過30%,減少 sampling—down—factor的值,轉(zhuǎn)步驟1);其中,ti表示第i個(gè)時(shí)間片開始時(shí)刻,sampling_doWn_factor表示觸發(fā)頻率更改時(shí)的 閾值,down_skip表示對(duì)閾值的計(jì)數(shù)值。
5. 根據(jù)權(quán)利要求1或2所述的基于Li皿x嵌入式系統(tǒng)的動(dòng)態(tài)電源管理的方法,其特征 在于設(shè)備動(dòng)態(tài)電源管理策略層硬盤的電源管理采用半馬爾可夫算法的策略。
全文摘要
本發(fā)明提供一種基于Linux嵌入式系統(tǒng)的動(dòng)態(tài)電源管理的方法,由動(dòng)態(tài)電源管理框架實(shí)現(xiàn),所述動(dòng)態(tài)電源管理框架包括腳本層、虛擬文件接口層、設(shè)備動(dòng)態(tài)電源管理策略層和設(shè)備驅(qū)動(dòng)層;所述腳本層提供用于對(duì)動(dòng)態(tài)電源管理框架進(jìn)行控制的腳本,通過腳本層所提供的腳本能啟動(dòng)/關(guān)閉具體設(shè)備的動(dòng)態(tài)電源管理,或者獲取設(shè)備電源管理的相關(guān)信息;所述虛擬文件接口層提供與腳本命令相對(duì)應(yīng)的接口,以供腳本調(diào)用,包括整個(gè)動(dòng)態(tài)電源管理框架的虛擬文件接口以及各個(gè)電源管理設(shè)備的文件接口;所述設(shè)備動(dòng)態(tài)電源管理策略層提供各電源管理設(shè)備的策略接口,以供虛擬文件接口層調(diào)用;所述設(shè)備驅(qū)動(dòng)層提供與各電源管理設(shè)備動(dòng)態(tài)電源管理相關(guān)的驅(qū)動(dòng)。
文檔編號(hào)G06F9/46GK101697095SQ20091019347
公開日2010年4月21日 申請(qǐng)日期2009年10月30日 優(yōu)先權(quán)日2009年10月30日
發(fā)明者劉發(fā)貴, 吳澤祥, 曹立正 申請(qǐng)人:華南理工大學(xué);