嵌入式便攜設(shè)備電源管理的分析
1 功耗管理技術(shù)分析
1.1 系統(tǒng)狀態(tài)、任務和電源管理策略信息
電源管理的前提是對系統(tǒng)設(shè)備狀態(tài)及任務信息的準確檢測和管理,以及對電源管理策略進行準確的效率統(tǒng)計。
系統(tǒng)狀態(tài)包括 Running(工作)狀態(tài)、Idle(空閑)狀態(tài)和 Sleep(休眠)狀態(tài)。有的系統(tǒng)可以提供多模式的工作狀態(tài),區(qū)別主要在于處理器工作頻率、工作電壓和設(shè)備組合的不同。任務的實時指標包括響應時間(response time)、延時(latency)和任務截止期(deadline)。硬實時任務對這些指標有硬性的要求,當系統(tǒng)不能達到該指標時,提供的數(shù)據(jù)或服務就會完全失效,甚至造成災難性的后果;軟實時任務則對其只有軟性要求,達不到指標的后果只是無法提供要求的服務質(zhì)量。任務的信息除了實時指標以外, 還有執(zhí)行任務所使用的設(shè)備部件。如果是多工作模式系統(tǒng),則還要包括執(zhí)行該任務的最低工作模式。許多操作系統(tǒng)和處理器都能夠提供很好的檢測模塊和功能單元。例如,Linux 的 timer 函數(shù)可以提供系統(tǒng)狀態(tài)監(jiān)測計時, Intel XScale 處理器的 PMU(Performance Monitoring Unit)單元,可以用來監(jiān)視 XScale 平臺的工作情況。對系統(tǒng)狀態(tài)和任務信息的檢測和管理是管理模塊中的重要部分之一。 電源管理策略信息包括核心算法和工作效率。 衡量電源管理策略的效率可以通過計算 “競爭比” (competitive ratio) 和 “錯誤率” 等來判斷。
在利用競爭分析方法分析電源管理策略中使用了“競爭比”這個衡量指標。競爭分析方法的前提: 假設(shè)所研究的問題有一個競爭對手,而且這個對手對該問題的輸入能夠產(chǎn)生影響。競爭比的定義是在線(online)策略所消耗的資源與完成任務可能消耗的最少資源之間的比值。這里,在線策略是針對負載未知的系統(tǒng)的電源管理策略。因為在實際系統(tǒng)中,系統(tǒng)下一個任務請求的到達時間是不可能完全正確預知的,而可能消耗的最少資源就是在電源管理策略能完全正確預知下一個任務請求到達時間的前提下所消耗的資源。這里的資源可以簡單地用功耗代替,也可以結(jié)合系統(tǒng)執(zhí)行任務的延時,即系統(tǒng)性能。預測錯誤率是針對預測策略的效率指標,它等于預測錯誤次數(shù)與總預測次數(shù)之間的比值,并可利用布爾數(shù)來判斷預測錯誤率的評估函數(shù)。
1.2 Running 狀態(tài)下的電源管理方法
當系統(tǒng)處于 Running 狀態(tài)時,電源管理模塊根據(jù)任務信息,在完成任務的前提下,通過轉(zhuǎn)換系統(tǒng)設(shè)備的狀態(tài)或者工作模式來達到降低功耗的目的。例如: 任務按照運算密集型和存取密集型分類,在執(zhí)行運算密集型的任務時,可以在保證任務完成的實時需求的前提下通過降低總線頻率來降低系統(tǒng)功耗;在執(zhí)行存取密集型的任務時,可以通過降低處理器的工作頻率來降低功耗。
當系統(tǒng)執(zhí)行多工作量的任務或者同時執(zhí)行多任務時, 有效的電源管理策略是任務調(diào)度和任務截止期(deadline)相結(jié)合的電源管理策略。這種電源管理策略的基本思想是: 將任務按使用設(shè)備和任務集合分組,羅列所有調(diào)度可能,排除約束條件(在截止期內(nèi)完成)以外的調(diào)度,在任務截止期內(nèi)盡量使同組任務集中執(zhí)行,從而使系統(tǒng)空閑時間盡可能集中,以實現(xiàn)動態(tài)電源管理。
基于任務調(diào)度和任務截止期的電源管理策略的調(diào)度任務原則是:
①調(diào)度能耗越低,則優(yōu)先級越高;同組的任務按截止期排序;每組第一個任務的截止期越早,則該組調(diào)度的優(yōu)先級越高; 每組最后一個任務的截止期越早,則該組調(diào)度的優(yōu)先級越高。
②對于調(diào)度能耗與截止期完全相同的調(diào)度,先到達者具有更高的優(yōu)先級。
③當有外部任務請求使用休眠的設(shè)備時,電源管理模塊重新安排任務的優(yōu)先級。
設(shè)連續(xù)函數(shù) P(s),如果系統(tǒng)設(shè)備運行在速度 s 下,則其消耗的功率為 P。根據(jù)基于 CMOS 工藝的設(shè)備的立方根(cube root)原理,這是一個嚴格的凸函數(shù),它傳達的信息是,任務進行得越慢,越節(jié)省功耗。這是基于任務截止期約束任務完成的電源管理策略的基本出發(fā)點。當前有不少基于任務截止期約束任務完成的電源管理策略,例如簡單化的在線策略 AVR[3](Average Rate)、OA(Optimal Available)和 BKP 策略[4]等就是這類策略的典型。其中: AVR 策略假設(shè)系統(tǒng)中只有一個任務在執(zhí)行;OA 策略假設(shè)不會再有新任務進入安排;而 BKP 策略則在 c 比較大時才能夠很好地降低功耗。
1.3 Idle 狀態(tài)下的電源管理方法
系統(tǒng)設(shè)備完成任務后,將處于 Idle 狀態(tài)的系統(tǒng)設(shè)備進行狀態(tài)轉(zhuǎn)換是該狀態(tài)下電源管理的主要方法。主流策略有 Timeout 策略、基于預測的管理策略和基于隨機的管理策略。
基于預測的電源管理策略是根據(jù)系統(tǒng)信息(包括歷史信息和用戶習慣等),對系統(tǒng)將要處于 Idle 狀態(tài)的持續(xù)時間 Tpred 進行預測。比較 Tpred 和 Tth,當Tpred≥Tth 時在任務完成后立即將系統(tǒng)轉(zhuǎn)換到休眠狀態(tài);否則,繼續(xù)維持系統(tǒng)Idle 狀態(tài)。預測時刻和 Idle 狀態(tài)中的預測間隔由具體策略決定?;陬A測的電源管理策略的核心是, 使用何種算法來利用系統(tǒng)反饋信息去更新算法的預測根據(jù)。要做出符合系統(tǒng)設(shè)備用戶使用習慣和任務請求的準確預測,就需要對用戶習慣的認識程度不斷加深,并對系統(tǒng)任務信息和策略歷史信息有較全面的統(tǒng)計。自適應學習樹 ALT(Adaptive Learning Tree)策略、PBAL(Probability Based ALT)策略,以及基于 AR(Auto Regressive)模型的預測控制反饋 PCF(Predictive Control Feedback)預測策略等都是優(yōu)化過的預測策略。PBALT 策略利用概率反映準確率,加強了分樹之間的關(guān)聯(lián)性和 ALT方法的學習能力;但這種策略的邊界條件限制制約了它的應用范圍。PCF 預測策略的自適應性是通過其反饋模塊來控制的; 但預測策略本身在針對非平穩(wěn)狀態(tài)的任務請求時效率不穩(wěn)定,同時,預測策略基本只考慮系統(tǒng)有一個工作模式,這些都限制了它的應用。
基于隨機的電源管理策略是一種具有不確定性的優(yōu)化策略, 這種不確定性源于系統(tǒng)模型的抽象性?;陔S機的電源管理策略不僅指定何時進行狀態(tài)轉(zhuǎn)換,而且還指定轉(zhuǎn)換到哪一工作模式,因此適用于多工作模式的系統(tǒng)設(shè)備。它將動態(tài)電源管理看作是隨機最優(yōu)化問題,而不像基于預測的電源管理策略那樣通過預測的方法消除任務請求的不確定性?;?span lang="EN-US"> CTMDP(連續(xù)時間馬爾可夫決定過程)的隨機決定動態(tài)電源管理策略給出了系統(tǒng)電源管理的一個最優(yōu)化的決定,但這種最優(yōu)化是在一個具有不確定性的模型基礎(chǔ)上的, 即這種算法所得到的最優(yōu)化的決策只能得到系統(tǒng)的性能和功耗的一個預期值,并不能保證在特定的系統(tǒng)設(shè)備中適用,而且馬爾可夫過程數(shù)學模型的建立也是需要仔細分析的。
2 基于最高決策的電源管理策略
由以上對系統(tǒng)電源管理策略的分析可知, 系統(tǒng)設(shè)備的電源管理貫穿系統(tǒng)設(shè)備的各個狀態(tài),因此應提出一種電源管理方法,將多種電源管理策略結(jié)合起來對系統(tǒng)功耗進行協(xié)同管理。該電源管理構(gòu)架中有一個策略集合,每個策略都有自己的優(yōu)先級,按需求使用各個策略來進行多策略電源管理。但這種構(gòu)架也存在問題: 首先復雜系統(tǒng)的任務很可能多種多樣, 而且電源管理策略針對不同的任務其降功效率也不同, 僅用電源管理策略的優(yōu)先級來決定使用電源管理策略,缺乏針對性;此外各策略信息應該在執(zhí)行系統(tǒng)任務的過程中得到統(tǒng)計, 并自適應地改變其優(yōu)先級。
信息檢測模塊: 用于檢測系統(tǒng)狀態(tài)信息和新到的任務信息。 任務信息統(tǒng)計模塊: 用于統(tǒng)計系統(tǒng)設(shè)備所執(zhí)行的任務信息,并解釋成準確的任務信息參數(shù)。
策略集合模塊: 通過對系統(tǒng)狀態(tài)和任務信息等進行動態(tài)的統(tǒng)計,計算電源管理策略的效率,更新電源管理策略信息并解釋成準確的電源管理策略參數(shù)。
最高決策模塊: 根據(jù)接收的任務和系統(tǒng)狀態(tài)信息,在策略集合中選擇最優(yōu)的電源管理策略或者電源管理策略組,通過控制模塊對系統(tǒng)設(shè)備進行電源管理。
任務信息是實時接收的;系統(tǒng)狀態(tài)信息是在每次系統(tǒng)狀態(tài)改變時,由信息檢測模塊提供給最高決策模塊的;電源管理策略的信息指計算后的電源管理效率,以及電源管理策略適用的系統(tǒng)狀態(tài)和任務。例如,當新任務到達后,必然有一種預測策略對此任務完成后的 Idle 狀態(tài)持續(xù)時間的預測效率最高。電源管理策略控制期間,每一次決策的成功或失敗都會改變該電源管理策略的優(yōu)先加權(quán)參數(shù)。這樣最高決策模塊根據(jù)系統(tǒng)狀態(tài)和任務信息,決定采用最優(yōu)的電源管理策略或者電源管理策略組,使系統(tǒng)設(shè)備的各個部分得到最優(yōu)的電源管理。