現今對電子系統設備性能的要求越來越高,在權衡電子系統的性能和功耗時,電子系統的性能往往得到更多的重視。容量有限的電池是便攜設備的惟一能量來源,而電池容量的提高速度明顯趕不上中央處理器性能的提高速度,因此,如何利用有限的電能為便攜設備提供最高性能,是便攜設備中電源管理的主要目標。除此之外,電源管理還要兼顧穩定性和散熱性。電源管理模塊是在可編程電源管理的設備上,為電源管理提供實現各種功耗模式的應用編程接口的軟件模塊。
功率消耗有兩種方式: 靜態功耗和動態功耗。靜態功耗主要為晶體管泄漏(leakage)功率;動態功耗則來源于電路有效性激活,例如地址線或者數據線輸入時引起的寄存器線路的有效性激活。開關電容所消耗的功率是動態功率消耗的最主要組成部分,即在電路輸出時開關電容進行充放電過程所消耗的功率:
由式(1)可知Pdynamic依賴以下4個參數: C(電容量)、V(電壓)、f(信號頻率)和a(可變因數)。其中,a與芯片中出現0-1轉換的次數有關。降低動態功耗的方法相應地分為4類:
① 降低電容量或者電路的儲電量。
② 降低開關的活躍性。由于計算機芯片被越來越復雜的功能性所包裝,使得芯片的開關活躍性增強,因而降低開關活躍性對降低系統動態功耗起到的作用越來越大。時鐘門控(time gating)技術是當前流行的降低開關活躍性的技術,這種技術使得時鐘信號不通過閑置應用單元。因為時鐘網絡是芯片功率消耗的主要部分,這種技術恰恰可以在處理器中有效地降低功率和電量消耗。
③ 降低信號頻率。
④ 降低電壓。
后兩種方法是以降低系統性能為代價的,但同時也是降低系統功耗的主要手段。系統電源管理就是通過認識系統任務(task)和狀態(status),利用合理的電源管理策略,權衡提高系統性能和降低系統功耗之間的關系,在功耗最低的情況下,為系統應用提供最優性能。本文從任務信息和系統狀態兩個角度對降低系統功耗的管理進行探討研究,并提出一種基于最高決策的系統級電源管理模塊構架。
1 功耗管理技術分析
1.1 系統狀態、任務和電源管理策略信息
電源管理的前提是對系統設備狀態及任務信息的準確檢測和管理,以及對電源管理策略進行準確的效率統計。
系統狀態包括Running(工作)狀態、Idle(空閑)狀態和Sleep(休眠)狀態。有的系統可以提供多模式的工作狀態,區別主要在于處理器工作頻率、工作電壓和設備組合的不同。任務的實時指標包括響應時間(response time)、延時(latency)和任務截止期(deadline)。硬實時任務對這些指標有硬性的要求,當系統不能達到該指標時,提供的數據或服務就會完全失效,甚至造成災難性的后果;軟實時任務則對其只有軟性要求,達不到指標的后果只是無法提供要求的服務質量。任務的信息除了實時指標以外,還有執行任務所使用的設備部件。如果是多工作模式系統,則還要包括執行該任務的最低工作模式。許多操作系統和處理器都能夠提供很好的檢測模塊和功能單元。例如,Linux的timer函數可以提供系統狀態監測計時, Intel XScale處理器的PMU(Performance Monitoring Unit)單元,可以用來監視XScale平臺的工作情況。對系統狀態和任務信息的檢測和管理是管理模塊中的重要部分之一。
電源管理策略信息包括核心算法和工作效率。衡量電源管理策略的效率可以通過計算“競爭比”(competitive ratio)和“錯誤率”等來判斷。D. Ramanathan[2]在利用競爭分析方法分析電源管理策略中使用了“競爭比”這個衡量指標。競爭分析方法的前提: 假設所研究的問題有一個競爭對手,而且這個對手對該問題的輸入能夠產生影響。競爭比的定義是在線(online)策略所消耗的資源與完成任務可能消耗的最少資源之間的比值。這里,在線策略是針對負載未知的系統的電源管理策略。因為在實際系統中,系統下一個任務請求的到達時間是不可能完全正確預知的,而可能消耗的最少資源就是在電源管理策略能完全正確預知下一個任務請求到達時間的前提下所消耗的資源。這里的資源可以簡單地用功耗代替,也可以結合系統執行任務的延時,即系統性能。預測錯誤率是針對預測策略的效率指標,它等于預測錯誤次數與總預測次數之間的比值,并可利用布爾數來判斷預測錯誤率的評估函數。
1.2 Running狀態下的電源管理方法
當系統處于Running狀態時,電源管理模塊根據任務信息,在完成任務的前提下,通過轉換系統設備的狀態或者工作模式來達到降低功耗的目的。例如: 任務按照運算密集型和存取密集型分類,在執行運算密集型的任務時,可以在保證任務完成的實時需求的前提下通過降低總線頻率來降低系統功耗;在執行存取密集型的任務時,可以通過降低處理器的工作頻率來降低功耗。
當系統執行多工作量的任務或者同時執行多任務時,有效的電源管理策略是任務調度和任務截止期(deadline)相結合的電源管理策略。這種電源管理策略的基本思想是: 將任務按使用設備和任務集合分組,羅列所有調度可能,排除約束條件(在截止期內完成)以外的調度,在任務截止期內盡量使同組任務集中執行,從而使系統空閑時間盡可能集中,以實現動態電源管理。應用于該策略的任務調度流程如圖1所示。
圖1 結合任務截止期的任務調度流程
基于任務調度和任務截止期的電源管理策略的調度任務原則是:
① 調度能耗越低,則優先級越高;同組的任務按截止期排序;每組第一個任務的截止期越早,則該組調度的優先級越高;每組最后一個任務的截止期越早,則該組調度的優先級越高。
② 對于調度能耗與截止期完全相同的調度,先到達者具有更高的優先級。
③ 當有外部任務請求使用休眠的設備時,電源管理模塊重新安排任務的優先級。
設連續函數P(s),如果系統設備運行在速度s下,則其消耗的功率為P。根據基于CMOS工藝的設備的立方根(cube瞨oot)原理,則有:
為了便于分析,將功耗與系統設備運行速度的關系表示為下式:
這是一個嚴格的凸函數,它傳達的信息是,任務進行得越慢,越節省功耗。這是基于任務截止期約束任務完成的電源管理策略的基本出發點。當前有不少基于任務截止期約束任務完成的電源管理策略,例如簡單化的在線策略AVR[3](Average Rate)、OA(Optimal Available)和BKP策略[4]等就是這類策略的典型。其中: AVR策略假設系統中只有一個任務在執行;OA策略假設不會再有新任務進入安排;而BKP策略則在c比較大時才能夠很好地降低功耗。
1.3 Idle狀態下的電源管理方法
系統設備完成任務后,將處于Idle狀態的系統設備進行狀態轉換是該狀態下電源管理的主要方法。主流策略有Timeout策略、基于預測的管理策略和基于隨機的管理策略。其中,Timeout策略最簡單易行。該策略流程如圖2所示。
圖2 Timeout策略流程
系統完成所有任務后,處于Idle狀態的持續時間超過該閾值時,電源管理模塊將系統轉換至Sleep狀態,直到有新任務請求到達時再喚醒系統。通過這種方式達到降低系統設備功耗的目的。該時間間隔可由系統提供的計時模塊設定,而時間閾值Tth的設定由下式確定:
式中: Etran是已知的系統從Idle狀態到Sleep狀態再到喚醒,共兩次狀態轉換所消耗的總能量;PI是系統處于Idle狀態所消耗的功率。
圖3為Timeout策略中兩種性能的損耗情況。圖中,E為Running(工作)狀態時間,I為Idle狀態時間,F為時間閾值,D為狀態轉換時間,S為休眠狀態時間,W為系統設備喚醒時間。該策略簡單,但缺點也很明顯。如圖3所示,當I》F+D時,等待時間閾值的設定容易損失更多的降功機會,同時因為系統狀態喚醒轉換的耗時耗能,必然引起任務等待延時;甚至當F+D》I》F時,延時會大于喚醒耗時,這將造成很大的性能損失;同時任務執行時間的延時,還會直接導致下一個Idle狀態持續時間的縮短。這樣基于對任務完成后Idle狀態時間和下一個任務來臨時間的預測的電源管理策略就顯得很有效率。
圖3 Timeout策略中兩種性能的損耗情況
基于預測的電源管理策略是根據系統信息(包括歷史信息和用戶習慣等),對系統將要處于Idle狀態的持續時間Tpred進行預測。比較Tpred和Tth,當Tpred≥Tth時在任務完成后立即將系統轉換到休眠狀態;否則,繼續維持系統Idle狀態。預測時刻和Idle狀態中的預測間隔由具體策略決定。
基于預測的電源管理策略的核心是,使用何種算法來利用系統反饋信息去更新算法的預測根據。要做出符合系統設備用戶使用習慣和任務請求的準確預測,就需要對用戶習慣的認識程度不斷加深,并對系統任務信息和策略歷史信息有較全面的統計。自適應學習樹ALT(Adaptive Learning Tree)策略、PBALT(Probability睟ased ALT)策略,以及基于AR(Auto睷egressive)模型的預測控制反饋PCF(Predictive Control Feedback)預測策略等都是優化過的預測策略。PBALT策略利用概率反映準確率,加強了分樹之間的關聯性和ALT方法的學習能力;但這種策略的邊界條件限制制約了它的應用范圍。PCF預測策略的自適應性是通過其反饋模塊來控制的;但預測策略本身在針對非平穩狀態的任務請求時效率不穩定,同時,預測策略基本只考慮系統有一個工作模式,這些都限制了它的應用。
基于隨機的電源管理策略是一種具有不確定性的優化策略,這種不確定性源于系統模型的抽象性。基于隨機的電源管理策略不僅指定何時進行狀態轉換,而且還指定轉換到哪一工作模式,因此適用于多工作模式的系統設備。它將動態電源管理看作是隨機最優化問題,而不像基于預測的電源管理策略那樣通過預測的方法消除任務請求的不確定性。基于CTMDP(連續時間馬爾可夫決定過程)的隨機決定動態電源管理策略給出了系統電源管理的一個最優化的決定,但這種最優化是在一個具有不確定性的模型基礎上的,即這種算法所得到的最優化的決策只能得到系統的性能和功耗的一個預期值,并不能保證在特定的系統設備中適用,而且馬爾可夫過程數學模型的建立也是需要仔細分析的。
2 基于最高決策的電源管理策略
由以上對系統電源管理策略的分析可知,系統設備的電源管理貫穿系統設備的各個狀態,因此應提出一種電源管理方法,將多種電源管理策略結合起來對系統功耗進行協同管理。該電源管理構架中有一個策略集合,每個策略都有自己的優先級,按需求使用各個策略來進行多策略電源管理。但這種構架也存在問題: 首先復雜系統的任務很可能多種多樣,而且電源管理策略針對不同的任務其降功效率也不同,僅用電源管理策略的優先級來決定使用電源管理策略,缺乏針對性;此外各策略信息應該在執行系統任務的過程中得到統計,并自適應地改變其優先級。
這里提出一個基于最高決策管理模塊的電源管理構架。這種系統設備電源管理構架包括了最高決策模塊、任務信息統計模塊、策略集合模塊、信息檢測模塊和控制模塊5個主要部分,如圖4所示。
圖4 基于最高決策的降功管理模塊構架
信息檢測模塊: 用于檢測系統狀態信息和新到的任務信息。
任務信息統計模塊: 用于統計系統設備所執行的任務信息,并解釋成準確的任務信息參數。
策略集合模塊: 通過對系統狀態和任務信息等進行動態的統計,計算電源管理策略的效率,更新電源管理策略信息并解釋成準確的電源管理策略參數。
最高決策模塊: 根據接收的任務和系統狀態信息,在策略集合中選擇最優的電源管理策略或者電源管理策略組,通過控制模塊對系統設備進行電源管理。
任務信息是實時接收的;系統狀態信息是在每次系統狀態改變時,由信息檢測模塊提供給最高決策模塊的;電源管理策略的信息指計算后的電源管理效率,以及電源管理策略適用的系統狀態和任務。例如,當新任務到達后,必然有一種預測策略對此任務完成后的Idle狀態持續時間的預測效率最高。電源管理策略控制期間,每一次決策的成功或失敗都會改變該電源管理策略的優先加權參數。這樣最高決策模塊根據系統狀態和任務信息,決定采用最優的電源管理策略或者電源管理策略組,使系統設備的各個部分得到最優的電源管理。
3 小結
當今便攜設備中電源管理的核心是電源管理策略,本文中提出的基于最高決策的電源管理構架的關鍵是預先選定電源管理策略集合。關于電源管理策略,有兩方面問題需要繼續探討和研究: 第一,權衡系統設備工作性能和功耗。電源管理策略進行系統功耗管理過程中,雖然電源管理策略盡量避免延時,但是這種延時又不可避免。系統使用者對于性能和功耗的權衡直接影響電源管理策略的選擇,以及電源管理策略中具體參數的預設。第二,權衡電源管理效果和復雜度。策略集合和任務信息集合的尺寸越大,統計信息越完備,電源管理策略的決策就越準確,但同時電源管理模塊的復雜度也增加了,這直接關系到其工程實現的復雜程度。另外,建立電源管理策略標準,提供電源管理策略包和任務信息包,規范系統狀態和任務信息,也將有利于便攜設備電源管理技術的發展。
評論
查看更多