在本文中,我們提供了CPM的一個概述,這是一個基于約束的電源管理(Constrained Power Management)的跨越多層的框架,我們提出了一個實際的案例應用。這個框架涉及到一個典型的嵌入式系統的不同層次,從設備驅動程序到應用程序。CPM的主要目標是:(i)總和應用的QoS要求,及(ii)利用它們來支持有效地協調不同驅動程序之間的本地優化策略。這一角色由全系統的(system-wide)和多目標的(multi-objective)優化策略來支持,也可以在運行時改變。在本文中,我們主要集中在一個實際的案例,來顯示用CPM來管理QoS要求和硬件的交叉相關性的開銷非常低,這是不能直接在本地優化策略中考慮的。
1. 引言
資源管理,進而也包括節約能源,已成為嵌入式多媒體移動設備(如智能手機)的一個高優先級的設計目標。這種設備通常是基于使用系統芯片(SoC)的平臺,其中嵌入了一些外圍設備,共享一些資源,并競爭對資源的使用。這些具有多個處理器的嵌入式系統通常是由一組工作模式界定,每一個模式相應于功率和性能的不同配置。
與此同時,現代消費電子產品提供多種功能,包括從傳統的電話呼叫,到更復雜的用例,涉及網絡接入和音頻視頻播放。這些多種應用場景通常導致對有限的可用資源的競爭,并且還可能涉及到對底層硬件相互沖突的要求。
因此,現在新一代平臺的資源和電源管理,已經成為一個越來越復雜的附加值。這就要求尋找在用戶可感知的省電和性能之間的最佳權衡。因此,值得把它當作一個優化問題,有針對性的定義解決方案,使得很容易在不同的產品間移植。
鑒于這些因素,為了有效地支持整個平臺的優化,有必要:(i)收集和聚合應用的QoS要求,以及(ii)在一個動態的系統范圍內的優化策略中利用他們。這一全局性的優化策略,我們認為,應該有針對性地對已經存在的低層次和設備特定的優化策略提供粗粒度的調整。
本文的其余部分組織如下。在下一節中,我們簡要地介紹了目前最先進的相關技術的概述。第二部分介紹我們的系統范圍內的優化框架。一個典型應用在第三節說明,而相關的實驗結果在第四節中提出。在第五部分得出結論。
A. 相關研究工作
在計算系統中,用以降低功耗的技術的范圍,從物理層設計到較高的軟件抽象層次[1]。具有成本效益的解決方案需要在所有的抽象層次同時解決這個問題,因此開發綜合性的辦法(holistic approaches),從多層匯總數據進入到PM決策,是一個熱門的研究課題。事實上,許多基于跨層次適應(cross-layer adaptations)的方法已經被提出[2],[3],[4]。不幸的是,這些方法都沒有真正實現為商業可用的產品。
Linux操作系統(OS)作為許多新一代移動設備的共同選擇,已經具有了不同的框架,提供了良好的支持,以將硬件的節電功能利用到單一設備(例如,CPU)或子系統(例如,時鐘樹)。然而,這個操作系統仍然缺乏一個良好的總體協調和全系統范圍的優化策略。這種缺乏一直是幾個擴展建議的主題。然而,要么是這些方法并沒有被有效地集成在Linux中[5],[6],要么是基于復雜的模型構建在不同的平臺上,因此不容易移植[7]。
2. 基于約束的電源管理概述
CPM是一種用來管理整個平臺的系統資源和電源的方法。它允許從應用程序收集QoS要求,以及以分布式的方式協調設備驅動程序,以支持所請求的QoS等級,相對于可以指定優化能耗或性能的全系統的動態優化策略。
A. 基本概念
CPM模型基于一些理論概念:
全系統指標(System-Wide Metrics,SWM)是用來描述一個正在運行的系統的行為參數,并代表QoS要求。他們可能是“抽象的”(ASM),或“依賴于平臺的”(PSM)。前者被暴露給用戶空間,并可以由應用程序使用,以聲明QoS要求。而后者被定義在平臺的代碼中,并被用于跟蹤硬件的相互依存關系(interdependencies)。
設備工作區域(Device Working Regions,DWR)定義設備的操作模式和SWM之間的映射,從而也就定義每種模式下所支持的QoS級別。
可行的系統配置(Feasible SystemConfigurations,FSC)是每個設備至少一個DWR的n維交集(其中n是已定義的SWM個數)。他們確定了目標平臺全系統的工作點,被授予一定的QoS等級。
SWM的約束(Constraintson SWMs),根據應用程序或驅動程序在這些參數上對QoS的要求,在運行時定義。對同一SWM的所有QoS要求,都被使用取決于參數類型的聚合函數(aggregation function)翻譯成約束(constraint);該聚合函數可以是加法/減法或最小值/最大值。
優化策略(Optimization Policy)是基于線性規劃(Linear Programming)的概念。它支持一個多目標的優化(multi-objectiveoptimization):可以考慮不同的性能參數(performanceparameters),通過分配一個權重給每個SWM來實現;以及能量消耗(energy consumptions),通過給每個FSC分配一個功耗度量(power consumption measure)來實現。
B. CPM如何工作
我們可以區分三個主要階段,降低計算復雜度和提高執行頻率:
FSC識別(FSCIdentification):在啟動時,所有的驅動程序注冊到CPM中,暴露他們的DWR。通過執行DWR的交集,所有FSC可以被自動識別出來。
FSC排序(FSCordering):每當優化的目標發生變化時,都根據全局優化策略來對FSC排序。這通常發生在設備的使用情況改變時。
FSC選擇(FSCselection):在運行時應用程序可以聲明對一個特定SWM的QoS要求。這些要求被聚合起來,以為每個SWM產生一個新的約束(constraint)。這些約束(constraint)可能會使一些FSC無效(invalidate),如果當前FSC也被無效,那么就根據在排序階段(ordering phase)定義的順序選擇一個新的FSC。
最后,所有的驅動程序被通知新的FSC,并需要相應地更新其操作模式。
CPM模型已經被實現為Linux內核框架(版本2.6.30),并使用了一些用例測試以評估其開銷。在下一節中,我們將介紹這些場景之一,以表明這種方法的好處。
3. 一個有意義的用例
本文描述的用例的目的,是為了展示使用CPM根據實際的應用需求來管理資源,同時正確地跟蹤不同的子系統之間的依賴關系的好處。
所考慮的平臺是由意法半導體(ST)生產的STn8815系統芯片,其中有一個ARM主機CPU,而多媒體業務采用一個音頻DSP(DSP A)和一個視頻DSP(DSP V)。主機CPU時鐘為CPU_CLK,兩個DSP的時鐘都為DSP_CLK。該SoC的內部架構強制嚴格的CPU_CLK和DSP_CLK之間的依賴性,如在圖1a中所示。 當一個或兩個DSP工作在某個頻率時,也被CPU也被約束到一個兼容的頻率工作。因此,必須在運行時適時地通知有關此約束給處理器的優化策略。
A.用例描述
現代智能手機的一個相當普遍的情形是,從網絡上下載一些數據,同時通過互聯網播放一些音頻,視頻內容。此情景涉及到兩個應用程序:一個控制流內容的下載和播放,另一個下載其他數據,例如郵件帳戶同步。這兩個應用程序共享一個共同的資源,連接帶寬,并可能需要一個最小的QoS等級。例如,不同的視頻質量要求不同的連接速度。
用例中所涉及的設備是一個3Gmodem,兩個DSP和一個CPU。該modem支持多種連接模式到移動數據網絡。每個模式具有對應的最大帶寬容量,通常也對應于不同的能量消耗水平。音頻和視頻DSP支持不同的編碼標準,對應于不同的處理工作負荷,并因此可能需要適當的工作頻率。該CPU被一個優化策略(optimizationpolicy)控制,根據其過去的工作量獨立地選擇工作頻率。
B. 集成CPM
被考慮過的ASM包括:
連接帶寬(connection bandwidth):應用程序競爭的資源。一個求和函數(additive function)被用來聚合由應用程序聲明的總的要求,并對該資源確定一個QoS等級的約束(constrainton the QoS level)。
音頻和視頻編解碼器:有關應用必須播放的多媒體內容的信息,因此它直接影響到DSP的操作模式。
PSM(CLK_DSP和CPU_CLK)是特定于平臺的信息,在平臺的代碼中定義,用以跟蹤目前所描述的硬件之間的相互依存關系。最后,每個涉及的設備驅動程序利用ASM來定義其自己DWR,如示于圖1b,1c和1d。
C.用例的動態
用例開始于用戶選擇要播放的視頻流的內容。只要音頻和視頻數據下載開始,播放器應用程序就開始收集能獲得良好的播放質量(264千比特/秒)所需要的連接帶寬,編碼的內容所需要的音頻編解碼器(MP3)和視頻編解碼器(H.263)等信息,并設置相應的ASM的QoS要求。這些要求是通過對ASM bandwidth的下界值(lower bound value),以及ASM audio codec 和ASM video codec的單個值來表示的;它們由圖1b,1c和1d中的橙色約束(orange constraints)代表。
聲明這些約束就會無效當前的FSC。因此,CPM協調選擇一個新的FSC,且將相應的DWR通知給modem和DSP以達成分布式協定(distributed agreement)。所需的編解碼器被綁定到一個特定的DSP_CLK頻率:DSP A 設為50MHz,DSP V 設為60MHz。平臺的 DWR(圖1a)允許管理CPU_CLK的依賴,因此就被設置以支持所需的頻率。因此,CPU頻率優化策略將可以根據所施加的約束調整處理器的頻率(>=100.8MHz)。達成協議后,候選FSC被激活,所有涉及的子系統遷移到新的工作模式,例如,modem從GPRS切換到EDGE1。
用例繼續下去,在播放過程中,從網絡上下載數據的應用程序開始,例如,電子郵件更新應用程序。這個新下載應用程序聲明200 kb/s的帶寬要求。由于ASM 帶寬的聚合函數類型為求和(additive),該聚合函數考慮所有先前聲明的要求,并累加出總和(sum)。因此,464 kbit/s就成為帶寬的新活動約束(active constraint),因此,一個新的FSC被選中,使modem遷移到的EDGE2工作模式,以滿足要求。要求的聚合由圖1b中藍色約束(blue constraint)表示。
最后,視頻流播放結束,相應的帶寬和編解碼器的要求被撤銷。這導致一個新的對帶寬的聚合,結果是在ASM帶寬上減法該值。
在這時候,只有下載應用程序仍處于活動狀態,從而選擇一個新的FSC并激活。
4. 實驗結果
每個驅動程序都已更新,以提供必要的信息給CPM接口,例如其DWR的定義。修改驅動程序代碼以支持CPM很容易,且對開發和維護設備驅動程序的影響也很低。例如,圖2顯示了 ASM和modem的DWR是如何在驅動程序編碼的。
所描述的用例在修改后的平臺上已經被執行,代表性的結果列在下面的圖中。
A. 資源管理(Resources Management)
要求的聲明和聚合(requirementsdeclaration and aggregation)允許對已經被使用的和仍然可用的系統資源保持一個正確且精確的視圖。這可以被利用來配置硬件設備的最佳可行的操作模式,用以支持對資源的需求。此方法的正效應(positive effect)是可以實現的節能(energy saving),通過為每個QoS需求選擇最佳工作模式,不僅相對于一個多目標的性能優化策略,而且也考慮到全系統的功耗,可以關聯到每個FSC。
B. 跟蹤依賴性(Dependency Tracking)
CPM可以追蹤SOC的不同的子系統之間的硬件依賴性,(如果依賴性被破壞)可能會阻止系統的正確操作。不是對每個設備驅動程序打補丁,以適應平臺,而是讓開發人員聲明平臺DWR來解決依賴關系問題。通過這種方式,提高了代碼的可移植性。
C.識別可行的系統配置(Feasible System-wide Configurations)
FSC的自動計算可以找出整個平臺所有可行的工作點。這是通過利用獨立地在每個設備驅動代碼所定義的信息。其他PM方法需要手工編程所有的工作點??紤]到所展示的用例中的總FSC個數高達415個,我們理解能夠自動計算出這些點是多么有趣。因此,這本身就是一個有關的結果。此外,提高了在不同的平臺的可移植性,因為允許重用驅動程序定義的信息。
D. 開銷和時間域(Overheads and TimeDomains)
我們已經測量了FSC的識別和選擇的算法的執行時間,獲得的結果在圖3中。開銷測量(overhead measurements)是指用例的60秒執行,并關注最壞情況。
這個測量證明了框架的影響可以忽略不計,相比于一個不使用該框架的系統。事實上,對一個相當復雜的具有4096個可行的配置(feasibleconfigurations)的系統(這遠遠超過所考慮的用例的415個),識別算法只顯示了2.5%的開銷。這意味著,在60秒的用例執行期間,約1.5秒致力于框架的執行。然而,應當考慮到,該算法只是在系統引導時運行一次,且可以方便地由查找表替換。 實際上,尤其是在嵌入式系統中,最終產品的平臺配置一般不會改變,所有的FSC可以預先計算,然后在啟動時加載。
雖然識別算法具有一定的復雜性,是FSC數目指數,選擇算法不僅具有一個更好的(線性)的復雜性,絕對值也是三個數量級更好。這是另一個重要結果,因為識別算法更頻繁地執行,即在每次一個新要求由應用程序聲明時。實驗考慮了每10秒運行一次,且測量結果表明開銷確實可以忽略不計,因為始終小于0.01%。
5. 結論
在本文中,我們提出了CPM,一個Linux內核框架,應用到一個實際的案例。所提出的方法允許一個基于SoC的平臺的不同的子系統協調運作,以開發硬件的節電功能。 CPM從應用程序收集和聚合QoS要求,并協調設備的工作模式的重新配置,以支持預期的QoS等級。特別是,CPM機制允許跟蹤硬件的依賴關系,并獲得正確且精確的已經被使用的和仍然可用的系統資源的全貌,同時支持全局的系統范圍內的QoS和能源的優化,歸功于動態策略的定義。
6. 參考資料
[1] V. Venkatachalam and M. Franz, “Powerreduction techniques for microprocessor systems,” ACM Comput. Surv., vol. 37,no. 3, pp. 195–237, 2005.
[2] S. Mohapatra, R. Cornea, N. Dutt, A.Nicolau, and N. Venkatasubramanian, “Integrated power management for videostreaming to mobile handheld devices,” in MULTIMEDIA ’03: Proceedings of theeleventh ACM international conference on Multimedia. New York, NY, USA: ACM, 2003, pp. 582–591.
[3] Y. Fei, L. Zhong, and N. K. Jha, “Anenergy-aware framework for dynamic software management in mobile computingsystems,” ACM Trans. Embed. Comput. Syst., vol. 7, no. 3, pp. 1–31, 2008.
[4] N. AbouGhazaleh, B. Childers, D. Mosse,R. Melhem, and M. Craven, “Energy management for real-time embeddedapplications with compiler support,” in LCTES ’03: Proceedings of the 2003 ACMSIGPLAN conference on Language, compiler, and tool for embedded systems. New York, NY, USA: ACM, 2003, pp. 284–293.
[5] H. Zeng, C. S. Ellis, A. R. Lebeck, andA. Vahdat, “Ecosystem: managing energy as a first class operating systemresource,” SIGPLAN Not., vol. 37, no. 10, pp. 123–132, 2002.
[6] M. Anand, E. B. Nightingale, and J.Flinn, “Ghosts in the machine: interfaces for better power management,” in MobiSys’04: Proceedings of the 2nd international conference on Mobile systems,applications, and services. New York, NY, USA: ACM, 2004, pp. 23–35.
[7] D. C. Snowdon, E. L. Sueur, S. M. Petters,and G. Heiser, “Koala: a platform for os-level power management,” in EuroSys’09: Proceedings of the 4th ACM European conference on Computer systems. NewYork, NY, USA: ACM, 2009, pp. 289–302.
-
電源管理
+關注
關注
115文章
6177瀏覽量
144443 -
Linux
+關注
關注
87文章
11292瀏覽量
209323 -
CPM
+關注
關注
0文章
13瀏覽量
7714
發布評論請先 登錄
相關推薦
評論