在本文中,我們提供了CPM的一個(gè)概述,這是一個(gè)基于約束的電源管理(Constrained Power Management)的跨越多層的框架,我們提出了一個(gè)實(shí)際的案例應(yīng)用。這個(gè)框架涉及到一個(gè)典型的嵌入式系統(tǒng)的不同層次,從設(shè)備驅(qū)動(dòng)程序到應(yīng)用程序。CPM的主要目標(biāo)是:(i)總和應(yīng)用的QoS要求,及(ii)利用它們來(lái)支持有效地協(xié)調(diào)不同驅(qū)動(dòng)程序之間的本地優(yōu)化策略。這一角色由全系統(tǒng)的(system-wide)和多目標(biāo)的(multi-objective)優(yōu)化策略來(lái)支持,也可以在運(yùn)行時(shí)改變。在本文中,我們主要集中在一個(gè)實(shí)際的案例,來(lái)顯示用CPM來(lái)管理QoS要求和硬件的交叉相關(guān)性的開(kāi)銷(xiāo)非常低,這是不能直接在本地優(yōu)化策略中考慮的。
1. 引言
資源管理,進(jìn)而也包括節(jié)約能源,已成為嵌入式多媒體移動(dòng)設(shè)備(如智能手機(jī))的一個(gè)高優(yōu)先級(jí)的設(shè)計(jì)目標(biāo)。這種設(shè)備通常是基于使用系統(tǒng)芯片(SoC)的平臺(tái),其中嵌入了一些外圍設(shè)備,共享一些資源,并競(jìng)爭(zhēng)對(duì)資源的使用。這些具有多個(gè)處理器的嵌入式系統(tǒng)通常是由一組工作模式界定,每一個(gè)模式相應(yīng)于功率和性能的不同配置。
與此同時(shí),現(xiàn)代消費(fèi)電子產(chǎn)品提供多種功能,包括從傳統(tǒng)的電話呼叫,到更復(fù)雜的用例,涉及網(wǎng)絡(luò)接入和音頻視頻播放。這些多種應(yīng)用場(chǎng)景通常導(dǎo)致對(duì)有限的可用資源的競(jìng)爭(zhēng),并且還可能涉及到對(duì)底層硬件相互沖突的要求。
因此,現(xiàn)在新一代平臺(tái)的資源和電源管理,已經(jīng)成為一個(gè)越來(lái)越復(fù)雜的附加值。這就要求尋找在用戶(hù)可感知的省電和性能之間的最佳權(quán)衡。因此,值得把它當(dāng)作一個(gè)優(yōu)化問(wèn)題,有針對(duì)性的定義解決方案,使得很容易在不同的產(chǎn)品間移植。
鑒于這些因素,為了有效地支持整個(gè)平臺(tái)的優(yōu)化,有必要:(i)收集和聚合應(yīng)用的QoS要求,以及(ii)在一個(gè)動(dòng)態(tài)的系統(tǒng)范圍內(nèi)的優(yōu)化策略中利用他們。這一全局性的優(yōu)化策略,我們認(rèn)為,應(yīng)該有針對(duì)性地對(duì)已經(jīng)存在的低層次和設(shè)備特定的優(yōu)化策略提供粗粒度的調(diào)整。
本文的其余部分組織如下。在下一節(jié)中,我們簡(jiǎn)要地介紹了目前最先進(jìn)的相關(guān)技術(shù)的概述。第二部分介紹我們的系統(tǒng)范圍內(nèi)的優(yōu)化框架。一個(gè)典型應(yīng)用在第三節(jié)說(shuō)明,而相關(guān)的實(shí)驗(yàn)結(jié)果在第四節(jié)中提出。在第五部分得出結(jié)論。
A. 相關(guān)研究工作
在計(jì)算系統(tǒng)中,用以降低功耗的技術(shù)的范圍,從物理層設(shè)計(jì)到較高的軟件抽象層次[1]。具有成本效益的解決方案需要在所有的抽象層次同時(shí)解決這個(gè)問(wèn)題,因此開(kāi)發(fā)綜合性的辦法(holistic approaches),從多層匯總數(shù)據(jù)進(jìn)入到PM決策,是一個(gè)熱門(mén)的研究課題。事實(shí)上,許多基于跨層次適應(yīng)(cross-layer adaptations)的方法已經(jīng)被提出[2],[3],[4]。不幸的是,這些方法都沒(méi)有真正實(shí)現(xiàn)為商業(yè)可用的產(chǎn)品。
Linux操作系統(tǒng)(OS)作為許多新一代移動(dòng)設(shè)備的共同選擇,已經(jīng)具有了不同的框架,提供了良好的支持,以將硬件的節(jié)電功能利用到單一設(shè)備(例如,CPU)或子系統(tǒng)(例如,時(shí)鐘樹(shù))。然而,這個(gè)操作系統(tǒng)仍然缺乏一個(gè)良好的總體協(xié)調(diào)和全系統(tǒng)范圍的優(yōu)化策略。這種缺乏一直是幾個(gè)擴(kuò)展建議的主題。然而,要么是這些方法并沒(méi)有被有效地集成在Linux中[5],[6],要么是基于復(fù)雜的模型構(gòu)建在不同的平臺(tái)上,因此不容易移植[7]。
2. 基于約束的電源管理概述
CPM是一種用來(lái)管理整個(gè)平臺(tái)的系統(tǒng)資源和電源的方法。它允許從應(yīng)用程序收集QoS要求,以及以分布式的方式協(xié)調(diào)設(shè)備驅(qū)動(dòng)程序,以支持所請(qǐng)求的QoS等級(jí),相對(duì)于可以指定優(yōu)化能耗或性能的全系統(tǒng)的動(dòng)態(tài)優(yōu)化策略。
A. 基本概念
CPM模型基于一些理論概念:
全系統(tǒng)指標(biāo)(System-Wide Metrics,SWM)是用來(lái)描述一個(gè)正在運(yùn)行的系統(tǒng)的行為參數(shù),并代表QoS要求。他們可能是“抽象的”(ASM),或“依賴(lài)于平臺(tái)的”(PSM)。前者被暴露給用戶(hù)空間,并可以由應(yīng)用程序使用,以聲明QoS要求。而后者被定義在平臺(tái)的代碼中,并被用于跟蹤硬件的相互依存關(guān)系(interdependencies)。
設(shè)備工作區(qū)域(Device Working Regions,DWR)定義設(shè)備的操作模式和SWM之間的映射,從而也就定義每種模式下所支持的QoS級(jí)別。
可行的系統(tǒng)配置(Feasible SystemConfigurations,F(xiàn)SC)是每個(gè)設(shè)備至少一個(gè)DWR的n維交集(其中n是已定義的SWM個(gè)數(shù))。他們確定了目標(biāo)平臺(tái)全系統(tǒng)的工作點(diǎn),被授予一定的QoS等級(jí)。
SWM的約束(Constraintson SWMs),根據(jù)應(yīng)用程序或驅(qū)動(dòng)程序在這些參數(shù)上對(duì)QoS的要求,在運(yùn)行時(shí)定義。對(duì)同一SWM的所有QoS要求,都被使用取決于參數(shù)類(lèi)型的聚合函數(shù)(aggregation function)翻譯成約束(constraint);該聚合函數(shù)可以是加法/減法或最小值/最大值。
優(yōu)化策略(Optimization Policy)是基于線性規(guī)劃(Linear Programming)的概念。它支持一個(gè)多目標(biāo)的優(yōu)化(multi-objectiveoptimization):可以考慮不同的性能參數(shù)(performanceparameters),通過(guò)分配一個(gè)權(quán)重給每個(gè)SWM來(lái)實(shí)現(xiàn);以及能量消耗(energy consumptions),通過(guò)給每個(gè)FSC分配一個(gè)功耗度量(power consumption measure)來(lái)實(shí)現(xiàn)。
B. CPM如何工作
我們可以區(qū)分三個(gè)主要階段,降低計(jì)算復(fù)雜度和提高執(zhí)行頻率:
FSC識(shí)別(FSCIdentification):在啟動(dòng)時(shí),所有的驅(qū)動(dòng)程序注冊(cè)到CPM中,暴露他們的DWR。通過(guò)執(zhí)行DWR的交集,所有FSC可以被自動(dòng)識(shí)別出來(lái)。
FSC排序(FSCordering):每當(dāng)優(yōu)化的目標(biāo)發(fā)生變化時(shí),都根據(jù)全局優(yōu)化策略來(lái)對(duì)FSC排序。這通常發(fā)生在設(shè)備的使用情況改變時(shí)。
FSC選擇(FSCselection):在運(yùn)行時(shí)應(yīng)用程序可以聲明對(duì)一個(gè)特定SWM的QoS要求。這些要求被聚合起來(lái),以為每個(gè)SWM產(chǎn)生一個(gè)新的約束(constraint)。這些約束(constraint)可能會(huì)使一些FSC無(wú)效(invalidate),如果當(dāng)前FSC也被無(wú)效,那么就根據(jù)在排序階段(ordering phase)定義的順序選擇一個(gè)新的FSC。
最后,所有的驅(qū)動(dòng)程序被通知新的FSC,并需要相應(yīng)地更新其操作模式。
CPM模型已經(jīng)被實(shí)現(xiàn)為L(zhǎng)inux內(nèi)核框架(版本2.6.30),并使用了一些用例測(cè)試以評(píng)估其開(kāi)銷(xiāo)。在下一節(jié)中,我們將介紹這些場(chǎng)景之一,以表明這種方法的好處。
3. 一個(gè)有意義的用例
本文描述的用例的目的,是為了展示使用CPM根據(jù)實(shí)際的應(yīng)用需求來(lái)管理資源,同時(shí)正確地跟蹤不同的子系統(tǒng)之間的依賴(lài)關(guān)系的好處。
所考慮的平臺(tái)是由意法半導(dǎo)體(ST)生產(chǎn)的STn8815系統(tǒng)芯片,其中有一個(gè)ARM主機(jī)CPU,而多媒體業(yè)務(wù)采用一個(gè)音頻DSP(DSP A)和一個(gè)視頻DSP(DSP V)。主機(jī)CPU時(shí)鐘為CPU_CLK,兩個(gè)DSP的時(shí)鐘都為DSP_CLK。該SoC的內(nèi)部架構(gòu)強(qiáng)制嚴(yán)格的CPU_CLK和DSP_CLK之間的依賴(lài)性,如在圖1a中所示。 當(dāng)一個(gè)或兩個(gè)DSP工作在某個(gè)頻率時(shí),也被CPU也被約束到一個(gè)兼容的頻率工作。因此,必須在運(yùn)行時(shí)適時(shí)地通知有關(guān)此約束給處理器的優(yōu)化策略。
A.用例描述
現(xiàn)代智能手機(jī)的一個(gè)相當(dāng)普遍的情形是,從網(wǎng)絡(luò)上下載一些數(shù)據(jù),同時(shí)通過(guò)互聯(lián)網(wǎng)播放一些音頻,視頻內(nèi)容。此情景涉及到兩個(gè)應(yīng)用程序:一個(gè)控制流內(nèi)容的下載和播放,另一個(gè)下載其他數(shù)據(jù),例如郵件帳戶(hù)同步。這兩個(gè)應(yīng)用程序共享一個(gè)共同的資源,連接帶寬,并可能需要一個(gè)最小的QoS等級(jí)。例如,不同的視頻質(zhì)量要求不同的連接速度。
用例中所涉及的設(shè)備是一個(gè)3Gmodem,兩個(gè)DSP和一個(gè)CPU。該modem支持多種連接模式到移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)。每個(gè)模式具有對(duì)應(yīng)的最大帶寬容量,通常也對(duì)應(yīng)于不同的能量消耗水平。音頻和視頻DSP支持不同的編碼標(biāo)準(zhǔn),對(duì)應(yīng)于不同的處理工作負(fù)荷,并因此可能需要適當(dāng)?shù)墓ぷ黝l率。該CPU被一個(gè)優(yōu)化策略(optimizationpolicy)控制,根據(jù)其過(guò)去的工作量獨(dú)立地選擇工作頻率。
B. 集成CPM
被考慮過(guò)的ASM包括:
連接帶寬(connection bandwidth):應(yīng)用程序競(jìng)爭(zhēng)的資源。一個(gè)求和函數(shù)(additive function)被用來(lái)聚合由應(yīng)用程序聲明的總的要求,并對(duì)該資源確定一個(gè)QoS等級(jí)的約束(constrainton the QoS level)。
音頻和視頻編解碼器:有關(guān)應(yīng)用必須播放的多媒體內(nèi)容的信息,因此它直接影響到DSP的操作模式。
PSM(CLK_DSP和CPU_CLK)是特定于平臺(tái)的信息,在平臺(tái)的代碼中定義,用以跟蹤目前所描述的硬件之間的相互依存關(guān)系。最后,每個(gè)涉及的設(shè)備驅(qū)動(dòng)程序利用ASM來(lái)定義其自己DWR,如示于圖1b,1c和1d。
C.用例的動(dòng)態(tài)
用例開(kāi)始于用戶(hù)選擇要播放的視頻流的內(nèi)容。只要音頻和視頻數(shù)據(jù)下載開(kāi)始,播放器應(yīng)用程序就開(kāi)始收集能獲得良好的播放質(zhì)量(264千比特/秒)所需要的連接帶寬,編碼的內(nèi)容所需要的音頻編解碼器(MP3)和視頻編解碼器(H.263)等信息,并設(shè)置相應(yīng)的ASM的QoS要求。這些要求是通過(guò)對(duì)ASM bandwidth的下界值(lower bound value),以及ASM audio codec 和ASM video codec的單個(gè)值來(lái)表示的;它們由圖1b,1c和1d中的橙色約束(orange constraints)代表。
聲明這些約束就會(huì)無(wú)效當(dāng)前的FSC。因此,CPM協(xié)調(diào)選擇一個(gè)新的FSC,且將相應(yīng)的DWR通知給modem和DSP以達(dá)成分布式協(xié)定(distributed agreement)。所需的編解碼器被綁定到一個(gè)特定的DSP_CLK頻率:DSP A 設(shè)為50MHz,DSP V 設(shè)為60MHz。平臺(tái)的 DWR(圖1a)允許管理CPU_CLK的依賴(lài),因此就被設(shè)置以支持所需的頻率。因此,CPU頻率優(yōu)化策略將可以根據(jù)所施加的約束調(diào)整處理器的頻率(>=100.8MHz)。達(dá)成協(xié)議后,候選FSC被激活,所有涉及的子系統(tǒng)遷移到新的工作模式,例如,modem從GPRS切換到EDGE1。
用例繼續(xù)下去,在播放過(guò)程中,從網(wǎng)絡(luò)上下載數(shù)據(jù)的應(yīng)用程序開(kāi)始,例如,電子郵件更新應(yīng)用程序。這個(gè)新下載應(yīng)用程序聲明200 kb/s的帶寬要求。由于ASM 帶寬的聚合函數(shù)類(lèi)型為求和(additive),該聚合函數(shù)考慮所有先前聲明的要求,并累加出總和(sum)。因此,464 kbit/s就成為帶寬的新活動(dòng)約束(active constraint),因此,一個(gè)新的FSC被選中,使modem遷移到的EDGE2工作模式,以滿(mǎn)足要求。要求的聚合由圖1b中藍(lán)色約束(blue constraint)表示。
最后,視頻流播放結(jié)束,相應(yīng)的帶寬和編解碼器的要求被撤銷(xiāo)。這導(dǎo)致一個(gè)新的對(duì)帶寬的聚合,結(jié)果是在ASM帶寬上減法該值。
在這時(shí)候,只有下載應(yīng)用程序仍處于活動(dòng)狀態(tài),從而選擇一個(gè)新的FSC并激活。
4. 實(shí)驗(yàn)結(jié)果
每個(gè)驅(qū)動(dòng)程序都已更新,以提供必要的信息給CPM接口,例如其DWR的定義。修改驅(qū)動(dòng)程序代碼以支持CPM很容易,且對(duì)開(kāi)發(fā)和維護(hù)設(shè)備驅(qū)動(dòng)程序的影響也很低。例如,圖2顯示了 ASM和modem的DWR是如何在驅(qū)動(dòng)程序編碼的。
所描述的用例在修改后的平臺(tái)上已經(jīng)被執(zhí)行,代表性的結(jié)果列在下面的圖中。
A. 資源管理(Resources Management)
要求的聲明和聚合(requirementsdeclaration and aggregation)允許對(duì)已經(jīng)被使用的和仍然可用的系統(tǒng)資源保持一個(gè)正確且精確的視圖。這可以被利用來(lái)配置硬件設(shè)備的最佳可行的操作模式,用以支持對(duì)資源的需求。此方法的正效應(yīng)(positive effect)是可以實(shí)現(xiàn)的節(jié)能(energy saving),通過(guò)為每個(gè)QoS需求選擇最佳工作模式,不僅相對(duì)于一個(gè)多目標(biāo)的性能優(yōu)化策略,而且也考慮到全系統(tǒng)的功耗,可以關(guān)聯(lián)到每個(gè)FSC。
B. 跟蹤依賴(lài)性(Dependency Tracking)
CPM可以追蹤SOC的不同的子系統(tǒng)之間的硬件依賴(lài)性,(如果依賴(lài)性被破壞)可能會(huì)阻止系統(tǒng)的正確操作。不是對(duì)每個(gè)設(shè)備驅(qū)動(dòng)程序打補(bǔ)丁,以適應(yīng)平臺(tái),而是讓開(kāi)發(fā)人員聲明平臺(tái)DWR來(lái)解決依賴(lài)關(guān)系問(wèn)題。通過(guò)這種方式,提高了代碼的可移植性。
C.識(shí)別可行的系統(tǒng)配置(Feasible System-wide Configurations)
FSC的自動(dòng)計(jì)算可以找出整個(gè)平臺(tái)所有可行的工作點(diǎn)。這是通過(guò)利用獨(dú)立地在每個(gè)設(shè)備驅(qū)動(dòng)代碼所定義的信息。其他PM方法需要手工編程所有的工作點(diǎn)。考慮到所展示的用例中的總FSC個(gè)數(shù)高達(dá)415個(gè),我們理解能夠自動(dòng)計(jì)算出這些點(diǎn)是多么有趣。因此,這本身就是一個(gè)有關(guān)的結(jié)果。此外,提高了在不同的平臺(tái)的可移植性,因?yàn)樵试S重用驅(qū)動(dòng)程序定義的信息。
D. 開(kāi)銷(xiāo)和時(shí)間域(Overheads and TimeDomains)
我們已經(jīng)測(cè)量了FSC的識(shí)別和選擇的算法的執(zhí)行時(shí)間,獲得的結(jié)果在圖3中。開(kāi)銷(xiāo)測(cè)量(overhead measurements)是指用例的60秒執(zhí)行,并關(guān)注最壞情況。
這個(gè)測(cè)量證明了框架的影響可以忽略不計(jì),相比于一個(gè)不使用該框架的系統(tǒng)。事實(shí)上,對(duì)一個(gè)相當(dāng)復(fù)雜的具有4096個(gè)可行的配置(feasibleconfigurations)的系統(tǒng)(這遠(yuǎn)遠(yuǎn)超過(guò)所考慮的用例的415個(gè)),識(shí)別算法只顯示了2.5%的開(kāi)銷(xiāo)。這意味著,在60秒的用例執(zhí)行期間,約1.5秒致力于框架的執(zhí)行。然而,應(yīng)當(dāng)考慮到,該算法只是在系統(tǒng)引導(dǎo)時(shí)運(yùn)行一次,且可以方便地由查找表替換。 實(shí)際上,尤其是在嵌入式系統(tǒng)中,最終產(chǎn)品的平臺(tái)配置一般不會(huì)改變,所有的FSC可以預(yù)先計(jì)算,然后在啟動(dòng)時(shí)加載。
雖然識(shí)別算法具有一定的復(fù)雜性,是FSC數(shù)目指數(shù),選擇算法不僅具有一個(gè)更好的(線性)的復(fù)雜性,絕對(duì)值也是三個(gè)數(shù)量級(jí)更好。這是另一個(gè)重要結(jié)果,因?yàn)樽R(shí)別算法更頻繁地執(zhí)行,即在每次一個(gè)新要求由應(yīng)用程序聲明時(shí)。實(shí)驗(yàn)考慮了每10秒運(yùn)行一次,且測(cè)量結(jié)果表明開(kāi)銷(xiāo)確實(shí)可以忽略不計(jì),因?yàn)槭冀K小于0.01%。
5. 結(jié)論
在本文中,我們提出了CPM,一個(gè)Linux內(nèi)核框架,應(yīng)用到一個(gè)實(shí)際的案例。所提出的方法允許一個(gè)基于SoC的平臺(tái)的不同的子系統(tǒng)協(xié)調(diào)運(yùn)作,以開(kāi)發(fā)硬件的節(jié)電功能。 CPM從應(yīng)用程序收集和聚合QoS要求,并協(xié)調(diào)設(shè)備的工作模式的重新配置,以支持預(yù)期的QoS等級(jí)。特別是,CPM機(jī)制允許跟蹤硬件的依賴(lài)關(guān)系,并獲得正確且精確的已經(jīng)被使用的和仍然可用的系統(tǒng)資源的全貌,同時(shí)支持全局的系統(tǒng)范圍內(nèi)的QoS和能源的優(yōu)化,歸功于動(dòng)態(tài)策略的定義。
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.
-
電源管理
+關(guān)注
關(guān)注
115文章
6186瀏覽量
144675 -
Linux
+關(guān)注
關(guān)注
87文章
11324瀏覽量
209949 -
CPM
+關(guān)注
關(guān)注
0文章
13瀏覽量
7728
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論