羅殊彥, 朱怡安, 王偉超
(西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院, 陜西 西安 710072)
?
嵌入式系統(tǒng)節(jié)能能力度量模型研究
羅殊彥, 朱怡安, 王偉超
(西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院, 陜西 西安710072)
摘要:針對(duì)系統(tǒng)節(jié)能能力度量對(duì)象單一,且很多指標(biāo)無(wú)法量化的問(wèn)題,從操作系統(tǒng)層和硬件層兩方面綜合考慮,構(gòu)建出了嵌入式系統(tǒng)節(jié)能能力度量模型(ESCMM)。該模型從完整的嵌入式系統(tǒng)角度,給出了節(jié)能能力度量的統(tǒng)一標(biāo)準(zhǔn)。此外,還針對(duì)節(jié)能綜合評(píng)價(jià)結(jié)果不能直接刻畫(huà)出節(jié)能水平的問(wèn)題,在Roofline模型的基礎(chǔ)上進(jìn)行了改進(jìn),提出了基于Roofline模型的節(jié)能能力分析方法,并通過(guò)實(shí)例進(jìn)行了驗(yàn)證,有效地找出了系統(tǒng)能耗的瓶頸。
關(guān)鍵詞:嵌入式系統(tǒng);節(jié)能能力;度量模型;ESCMM;Roofline模型
當(dāng)前嵌入式系統(tǒng)發(fā)展迅速,已經(jīng)融入到各種工業(yè)和民用設(shè)備中,大到航空航天控制系統(tǒng)、雷達(dá)設(shè)備,小到手機(jī)、數(shù)碼相機(jī)等設(shè)備。嵌入式系統(tǒng)以體積小巧、功能強(qiáng)大而著稱(chēng)。在一塊小的單芯片上,可以實(shí)現(xiàn)多媒體播放、圖像處理、無(wú)線(xiàn)通訊等諸多功能[1]。然而,在嵌入式軟件和硬件飛速發(fā)展的同時(shí),其能耗也隨之增大。因此,能耗控制問(wèn)題就成為制約嵌入式系統(tǒng)發(fā)展的最重要因素。
通常嵌入式系統(tǒng)的電池容量是有限提供的。人們希望在系統(tǒng)提供高性能處理能力的同時(shí),應(yīng)盡量少為電池充電或更換電池。因此,為了確保系統(tǒng)擁有更強(qiáng)的“續(xù)航”能力,有效節(jié)能控制是其前提。一般而言,電池容量與其體積成正比,為達(dá)到體積和容量的雙重要求,就必然不斷提高電池的單位體積容量。然而,在近幾十年中,電池技術(shù)和微電子技術(shù)的發(fā)展速度以每年20%~30%的速度被拉開(kāi),兩者之間的差距并不在同一個(gè)數(shù)量級(jí)上[4]。
除此之外,在追求系統(tǒng)體積不斷縮小的同時(shí),芯片散熱問(wèn)題也變得愈發(fā)突出。系統(tǒng)中各種設(shè)備的溫度變化,都會(huì)影響設(shè)備本身的穩(wěn)定度,且會(huì)使設(shè)備的后期維護(hù)費(fèi)用增加[5]。正因?yàn)榇嬖谏釂?wèn)題,使得在有限的嵌入式系統(tǒng)空間中,還需增加散熱裝置,這也同時(shí)增加了系統(tǒng)的能耗與研發(fā)成本。
由此可見(jiàn),高性能和低能耗本身就是存在矛盾關(guān)系,系統(tǒng)的節(jié)能能力是一個(gè)相對(duì)的概念。它是指嵌入式計(jì)算機(jī)通過(guò)采用一定的方法,使系統(tǒng)能在完成既定任務(wù)的前提下,盡量達(dá)到節(jié)約能耗的行為[7]。為了讓系統(tǒng)具有更強(qiáng)的續(xù)航能力,設(shè)計(jì)人員在設(shè)計(jì)系統(tǒng)之初都會(huì)采用許多節(jié)能保護(hù)措施。有的直接在硬件芯片層[8-9]上,實(shí)現(xiàn)簡(jiǎn)易的算法;也有在嵌入式操作系統(tǒng)層[10-11]上,實(shí)現(xiàn)強(qiáng)大的能耗管理模塊。雖然這些方法都能對(duì)最終的系統(tǒng)能耗產(chǎn)生了一定的影響,但效果如何卻沒(méi)有一個(gè)統(tǒng)一的評(píng)價(jià)標(biāo)準(zhǔn)。因此,分析系統(tǒng)中不同類(lèi)型的節(jié)能方法,找出其內(nèi)在的聯(lián)系,并通過(guò)科學(xué)的方法給出統(tǒng)一的評(píng)價(jià)標(biāo)準(zhǔn),使設(shè)計(jì)人員能夠更好地發(fā)現(xiàn)這些節(jié)能方法的瓶頸所在,有助于系統(tǒng)節(jié)能方法的改進(jìn),對(duì)嵌入式系統(tǒng)的發(fā)展有十分重要的意義。
屋頂模型(rooflinemodel)[12]是2008年由SamuelWilliams等人提出的,主要是用于分析處理器性能與片外存儲(chǔ)器帶寬利用率之間的關(guān)系,找出系統(tǒng)的瓶頸所在。雖然該模型最初是為了評(píng)價(jià)處理器性能而設(shè)計(jì)的,但其設(shè)計(jì)思想?yún)s具有一定的通用性。因此,本文將通過(guò)對(duì)Roofline模型進(jìn)行改進(jìn),使其能對(duì)系統(tǒng)的節(jié)能能力進(jìn)行分析評(píng)價(jià),有效找出節(jié)能方法的瓶頸。
1國(guó)內(nèi)外研究現(xiàn)狀
1.1節(jié)能能力評(píng)價(jià)方法
目前,對(duì)系統(tǒng)能耗的測(cè)量方法主要有:硬件測(cè)量、理論計(jì)算、軟件模擬等。其中,硬件測(cè)量和理論計(jì)算所得到的能耗結(jié)果的精度欠佳,軟件模擬法所獲得節(jié)點(diǎn)級(jí)能耗的粒度較粗,不能進(jìn)行細(xì)粒度預(yù)測(cè)。
2003年,為了貫徹落實(shí)《中華人民共和國(guó)節(jié)約能源法》以及政府有關(guān)節(jié)能的政策和要求,提高計(jì)算機(jī)產(chǎn)品的能源利用效率,引導(dǎo)企業(yè)的節(jié)能技術(shù)進(jìn)步,中國(guó)節(jié)能認(rèn)證產(chǎn)品管理委員會(huì)發(fā)布了計(jì)算機(jī)節(jié)能相關(guān)的技術(shù)規(guī)范《CCEC/T22-2003計(jì)算機(jī)節(jié)能產(chǎn)品認(rèn)證技術(shù)要求》。
2009年,為了進(jìn)一步適應(yīng)計(jì)算機(jī)產(chǎn)業(yè)技術(shù)的發(fā)展,中國(guó)質(zhì)量認(rèn)證中心(CQC)頒布實(shí)施了《CQC3114-2009計(jì)算機(jī)節(jié)能認(rèn)證技術(shù)規(guī)范》,該規(guī)范一直沿用至今。CQC依據(jù)該規(guī)范對(duì)臺(tái)式微型計(jì)算機(jī)和便攜式微型計(jì)算機(jī)進(jìn)行CQC自愿性的資源節(jié)約認(rèn)證。其中,聯(lián)想、惠普、戴爾、方正等在內(nèi)的眾多國(guó)內(nèi)外知名品牌計(jì)算機(jī)產(chǎn)品都獲得了該證書(shū)。2011年,中國(guó)發(fā)布了國(guó)家標(biāo)準(zhǔn)——《微型計(jì)算機(jī)能效限定值及能效等級(jí)》。該標(biāo)準(zhǔn)對(duì)計(jì)算機(jī)的能效限定值、節(jié)能評(píng)價(jià)值、試驗(yàn)方法和實(shí)驗(yàn)規(guī)則做出了詳細(xì)的規(guī)定。其中,能效限定值是強(qiáng)制性要求,其余為推薦性要求。
國(guó)外,在節(jié)能能力評(píng)價(jià)方法和測(cè)量工具方面的研究相比國(guó)內(nèi)較完善。其成熟的產(chǎn)品主要有SPECpowerssj2008和EPEAT(電子產(chǎn)品環(huán)境評(píng)估工具)。SPECpowerssj2008是由性能評(píng)價(jià)行業(yè)的領(lǐng)軍者SPEC公司推出的產(chǎn)品,是業(yè)界第一項(xiàng)用于評(píng)測(cè)系統(tǒng)級(jí)別服務(wù)器的與運(yùn)算性能相關(guān)的能耗基準(zhǔn)測(cè)試工具,但由于SPECpowerssj2008測(cè)得的系統(tǒng)性能與能耗之間的關(guān)系粒度較粗,不能得到計(jì)算系統(tǒng)性能與能耗的關(guān)聯(lián)模型;而EPEAT是美國(guó)環(huán)保署推行的一個(gè)自愿執(zhí)行的標(biāo)準(zhǔn),采用多個(gè)等級(jí)對(duì)系統(tǒng)的環(huán)保表現(xiàn)進(jìn)行綜合評(píng)價(jià),得到較粗粒度的評(píng)估報(bào)告。
1.2Roofline模型
Roofline模型是由SamuelWilliams等人于2008 年提出的,它是現(xiàn)代計(jì)算機(jī)體系架構(gòu)的性能分析模型,雖然提出時(shí)間不長(zhǎng),但卻在行業(yè)中得到了非常廣泛的運(yùn)用。Williams等人建立Roofline模型的初衷,是用于直觀(guān)顯示處理器性能與片外存儲(chǔ)器帶寬利用之間的關(guān)系。為了達(dá)到上述目標(biāo),該模型中引入了運(yùn)算強(qiáng)度(arithmeticintensity)的概念,它表示每個(gè)字節(jié)DRAM存取過(guò)程中所進(jìn)行的浮點(diǎn)運(yùn)算次數(shù),即
(1)
式中,SAI表示運(yùn)算強(qiáng)度,F(xiàn)LOOPs表示浮點(diǎn)運(yùn)算總次數(shù),BYTEs表示DRAM存取總字節(jié)數(shù)。DRAM存取總字節(jié)數(shù)是指經(jīng)過(guò)高速緩存(cache)結(jié)構(gòu)過(guò)濾后的那些主內(nèi)存所存取的字節(jié)數(shù),即高速緩存與內(nèi)存之間交換數(shù)據(jù)的總字節(jié)數(shù),而非處理器與高速緩存之間的交換字節(jié)數(shù)。因此,運(yùn)算強(qiáng)度表示在特定計(jì)算機(jī)的內(nèi)核(kernel)所需要的DRAM帶寬值。
Roofline模型將浮點(diǎn)運(yùn)算性能、運(yùn)算強(qiáng)度及內(nèi)存性能緊緊聯(lián)系在一起,通過(guò)一個(gè)二維圖表顯示出來(lái)。它能以直觀(guān)并且可量化的方式,顯示計(jì)算設(shè)備所能獲得的性能范圍以及瓶頸所在。原始的Roofline模型圖可以分為兩部分,第一部分為算法最大性能受到設(shè)備帶寬的限制,第二部分為算法最大性能受到設(shè)備計(jì)算能力的限制。然而,經(jīng)過(guò)改進(jìn)后的Roofline模型,能夠提供關(guān)于設(shè)備性能及算法優(yōu)化更多的信息,圖1為Roofline模型的示例圖。
圖1 Roofline模型示例圖
2指標(biāo)體系及評(píng)價(jià)方法
在評(píng)價(jià)系統(tǒng)節(jié)能能力之前,首先要對(duì)系統(tǒng)組織結(jié)構(gòu)中各個(gè)模塊進(jìn)行逐一分析,確定其能耗的構(gòu)成。常見(jiàn)的嵌入式計(jì)算機(jī)組織如圖2所示。
圖2 嵌入式計(jì)算機(jī)組織結(jié)構(gòu)
從圖2可以看出,嵌入式系統(tǒng)的組成部分,也就是構(gòu)成嵌入式系統(tǒng)能耗的組成部分。在嵌入式系統(tǒng)中,直接產(chǎn)生能耗的是計(jì)算機(jī)硬件,嵌入式系統(tǒng)各部件能耗大致比例如圖3所示。
圖3 嵌入式系統(tǒng)能耗比例圖
從圖3可見(jiàn),通常嵌入式系統(tǒng)在運(yùn)行過(guò)程中,顯示屏與背光所消耗的能耗最大,約占32%;其次是CPU和內(nèi)存,約占24%;再次是網(wǎng)絡(luò)通信的消耗,約占21%,最后是硬盤(pán),約占15%。此外,還有一些其他開(kāi)銷(xiāo),約占8%。
在上述討論的基礎(chǔ)上,本文提出了一個(gè)嵌入式系統(tǒng)節(jié)能能力的指標(biāo)體系,如圖4所示。
圖4 節(jié)能能力指標(biāo)體系
2.1操作系統(tǒng)層
基于操作系統(tǒng)層的節(jié)能方法主要包括:
1) 動(dòng)態(tài)電源管理(dynamicpowermanagement,DPM)是指在系統(tǒng)運(yùn)行時(shí),允許動(dòng)態(tài)地將系統(tǒng)暫時(shí)不用的設(shè)備切換到睡眠模式或切斷其電源,以降低系統(tǒng)能耗;當(dāng)需要使用這些設(shè)備時(shí),再重新激活,起到動(dòng)態(tài)管理電源的作用。常見(jiàn)DPM管理策略通常有:超時(shí)策略、預(yù)測(cè)式策略、隨機(jī)模型策略。
2) 動(dòng)態(tài)電壓調(diào)節(jié)(dynamicvoltageScaling,DVS)是指系統(tǒng)在任務(wù)執(zhí)行時(shí),動(dòng)態(tài)地改變處理器的頻率和電壓,借此降低系統(tǒng)的能耗水平。在嵌入式系統(tǒng)中,系統(tǒng)能耗通常正比于電壓的平方與系統(tǒng)時(shí)鐘頻率的乘積。然而,每個(gè)任務(wù)執(zhí)行都有其特殊的時(shí)鐘周期,因此可近似地認(rèn)為系統(tǒng)的能耗正比于電壓,降低系統(tǒng)的電壓即可節(jié)能。DVS技術(shù)采用以時(shí)間換能耗的方式,通過(guò)降低電壓,變相地改變時(shí)鐘頻率,延長(zhǎng)任務(wù)的執(zhí)行時(shí)間,從而達(dá)到減少能耗開(kāi)銷(xiāo)。常見(jiàn)的DVS管理策略有:非實(shí)時(shí)DVS調(diào)度和實(shí)時(shí)DVS調(diào)度。
3) 自適應(yīng)電壓調(diào)節(jié)(adaptivevoltagescaling,AVS)是指系統(tǒng)在任務(wù)執(zhí)行時(shí),根據(jù)性能需求自動(dòng)調(diào)整供給系統(tǒng)處理器的電壓,使處理器運(yùn)行在能確保應(yīng)用軟件正確運(yùn)行的最低電壓和頻率下,以降低能量消耗。常見(jiàn)的自適應(yīng)電壓調(diào)節(jié)方法有:EM(energymanagement)、PM(performancemonitor)、SoC調(diào)節(jié)等。
4) 支持節(jié)能的調(diào)度和管理算法。任務(wù)調(diào)度是指系統(tǒng)為確定一系列任務(wù)的執(zhí)行順序所采取的調(diào)度策略。不同的調(diào)度策略可以決定處理器的執(zhí)行方式,可以認(rèn)為是系統(tǒng)能耗的主要來(lái)源。可根據(jù)處理器類(lèi)型來(lái)劃分調(diào)度算法的種類(lèi),通常可分為單核處理器調(diào)度和多核處理器調(diào)度兩類(lèi)。
2.2硬件層
基于硬件層的節(jié)能方法主要包括:
1) 處理器內(nèi)核能耗節(jié)能。嵌入式系統(tǒng),尤其是多核嵌入式系統(tǒng)中,存在大量的高性能計(jì)算,但計(jì)算量增加必定會(huì)使系統(tǒng)能耗也隨之增加。如何在確保處理內(nèi)核進(jìn)行高性能計(jì)算的同時(shí),又保證能耗開(kāi)銷(xiāo)少量增加。通過(guò)下列情況進(jìn)行綜合評(píng)價(jià):
(1) 是否采用寄存器文件,即線(xiàn)程專(zhuān)用單元。每個(gè)線(xiàn)程都有一個(gè)固定容量的寄存器文件,而且當(dāng)線(xiàn)程的某個(gè)任務(wù)被阻塞或空轉(zhuǎn)時(shí)可以節(jié)省大量能耗;
(2) 是否共享加載未命中隊(duì)列(LMQ),數(shù)據(jù)緩存未命中時(shí),用以排列數(shù)據(jù)的加載未命中隊(duì)列。線(xiàn)程之間可以共享LMQ,通過(guò)該方法可以節(jié)省少量能耗;
(3) 是否使用分支預(yù)測(cè)器。分支歷史表可以是線(xiàn)程專(zhuān)用的,可以節(jié)省大量能耗;
(4) 是否存在用于L2緩存的DMA控制器。在緩存體和輸入輸出緩沖器之間控制數(shù)據(jù)流的用于L2緩存的DMA控制器;
(5) 是否在處理器內(nèi)核與L2緩存之間存在指令與數(shù)據(jù)隊(duì)列;
(6) 在訪(fǎng)問(wèn)片外緩存或主存儲(chǔ)器時(shí),是否在片上L2緩存有緩存未命中時(shí)才激活未命中的路徑邏輯。
2) 通信能耗節(jié)能。在芯片內(nèi)的總線(xiàn)上的通信以及設(shè)備之間的無(wú)線(xiàn)通信往往是一個(gè)芯片能耗的主要來(lái)源??偩€(xiàn)編碼和編碼技術(shù)可以用來(lái)減少能源消耗的同時(shí),增加數(shù)據(jù)的吞吐量和延遲方面的性能。無(wú)線(xiàn)通信在輕量級(jí)嵌入式系統(tǒng)通信總能耗中占主導(dǎo)地位。無(wú)線(xiàn)通信與傳統(tǒng)的網(wǎng)絡(luò)之間的主要區(qū)別在于部署的元素?cái)?shù)目,它們的功率限制,流動(dòng)性水平等。通過(guò)下列情況進(jìn)行綜合評(píng)價(jià):
(1) 是否采用了自適應(yīng)偏移量總線(xiàn)編碼方法;
(2) 是否將把本地計(jì)算與數(shù)據(jù)進(jìn)行融合;
(3) 是否存在避免兩幀同時(shí)發(fā)送的機(jī)制;
(4) 是否存在錯(cuò)誤檢測(cè)機(jī)制;
(5) 是否有控制包控制機(jī)制;
(6) 是否采用外部中斷機(jī)制。
3) 顯示能耗節(jié)能。在嵌入式系統(tǒng)中,顯示器是與用戶(hù)進(jìn)行交互的重要器件之一。由于背光顯示的原理,使得顯示器的能耗水平比其他的系統(tǒng)器件要高出許多。因此,在顯示能耗的節(jié)能控制方面,研究人員進(jìn)行了大量研究和改進(jìn)。通過(guò)下列情況進(jìn)行綜合評(píng)價(jià):
(1) 是否采用了低能耗人機(jī)交互技術(shù)。例如低能耗液晶顯示方案,該方案綜合運(yùn)用了可變頻率刷新,動(dòng)態(tài)色彩深度控制和補(bǔ)償,亮度和對(duì)比度增強(qiáng)背光亮度變暗的幾種技術(shù)降低能耗。
(2) 是否采用了低能耗圖形用戶(hù)界面(GUI)。例如針對(duì)筆記本電腦提出的顯示節(jié)能方案,包括Sun、X-Window、ZINC&UGL等。
4) 存儲(chǔ)系統(tǒng)能耗節(jié)能。當(dāng)前存儲(chǔ)設(shè)備主要有基于溫徹斯特技術(shù)的機(jī)械式磁盤(pán)、基于MEMS(microelectromechanicalsystem)存儲(chǔ)器和基于Flash的存儲(chǔ)器?;贛EMS存儲(chǔ)器與Flash存儲(chǔ)器具有較高存儲(chǔ)密度,較快數(shù)據(jù)讀取速度,能耗低等特點(diǎn)。不過(guò)受限于現(xiàn)有技術(shù)和使用成本,目前主要以技術(shù)成熟的溫徹斯特機(jī)械式磁盤(pán)與磁盤(pán)陣列為主,故本文只考慮傳統(tǒng)的磁盤(pán)(陣列)、內(nèi)存能耗研究現(xiàn)狀。
(1) 磁盤(pán)(陣列)。嵌入式系統(tǒng)中的數(shù)據(jù)中心磁盤(pán)(陣列)可以達(dá)到數(shù)萬(wàn)個(gè)以上,消耗著大量能量。磁盤(pán)(陣列)能耗一個(gè)重要的特征是能耗與盤(pán)面轉(zhuǎn)速2.8次方成比例關(guān)系,磁盤(pán)的主要能量消耗在于維持盤(pán)面的高速旋轉(zhuǎn)上,因此在保證數(shù)據(jù)存取的前提下讓無(wú)任務(wù)磁盤(pán)處于低能耗狀態(tài)或者關(guān)閉無(wú)任務(wù)盤(pán)面成為其節(jié)能的主要思想。
常見(jiàn)的磁盤(pán)能耗節(jié)能方法包括:
a) 基于數(shù)據(jù)重分布(datarelocation)的方法。通過(guò)數(shù)據(jù)動(dòng)態(tài)重分布,使I/O訪(fǎng)問(wèn)集中在少數(shù)幾個(gè)磁盤(pán)上,讓其他盤(pán)面處于低能耗狀態(tài)而減少能耗,從而降低磁盤(pán)陣列的總體能耗?;跀?shù)據(jù)重分布的低能耗管理方法的主要代表有:MAID(massivearrayofidledisks)、PDC(populardataconcentration)、冬眠技術(shù)(hibernator)、DRPM。其中,在系統(tǒng)負(fù)載比較低的情況下,MAID和PDC能夠有效降低能耗,特別是針對(duì)歸檔存儲(chǔ)節(jié)能效果明顯;而DPRM和Hibernator則能夠在各種負(fù)載級(jí)別下節(jié)省能耗,同時(shí)滿(mǎn)足系統(tǒng)的性能要求。
b) 基于請(qǐng)求重定向(requestredirection)的方法。利用存儲(chǔ)系統(tǒng)內(nèi)數(shù)據(jù)的冗余關(guān)系,將I/O訪(fǎng)問(wèn)請(qǐng)求臨時(shí)重定向到cache或者活躍磁盤(pán),以減少磁盤(pán)的活躍程度或活躍磁盤(pán)的數(shù)量,從而降低整個(gè)存儲(chǔ)系統(tǒng)的總體能耗。當(dāng)前典型的基于請(qǐng)求重定向的低能耗技術(shù)有:基于磁盤(pán)能耗考慮的cache管理、writeoff-loading策略和eRAID方法。
(2) 內(nèi)存。嵌入式系統(tǒng)的內(nèi)存在存取過(guò)程中也存在大量能耗。內(nèi)存容量與讀寫(xiě)速度對(duì)系統(tǒng)I/O性能影響顯著,隨著高頻率、大容量?jī)?nèi)存的使用以及數(shù)據(jù)I/O密度的加大,內(nèi)存能耗趨于增長(zhǎng)之勢(shì)。內(nèi)存有多種不同性能與能耗特征的工作模式,如Rambus公司的DRAM、RDRAM內(nèi)存支持4種不同的能耗狀態(tài),每塊RDRAM芯片可以獨(dú)立激活,獨(dú)立設(shè)置能耗狀態(tài)。內(nèi)存標(biāo)準(zhǔn)化組織于2009年發(fā)布了低電壓內(nèi)存標(biāo)準(zhǔn),并且支持高級(jí)電源管理,允許按需改變內(nèi)存內(nèi)部存儲(chǔ)池的工作狀態(tài),為DPM內(nèi)存能耗控制提供了很好的基礎(chǔ)。
常見(jiàn)的內(nèi)存的能耗節(jié)能方法包括:
a) 基于refresh的能耗管理:內(nèi)存保持?jǐn)?shù)據(jù)時(shí)需要進(jìn)行刷新(refresh),如何在保持?jǐn)?shù)據(jù)的同時(shí)減少刷新量以節(jié)省能量,旨在減少刷新行的次數(shù)以降低能耗,主要有2種方式:對(duì)于高刷新頻率的數(shù)據(jù)采用最小行刷新;對(duì)于長(zhǎng)刷新周期的行盡量延長(zhǎng)刷新周期以節(jié)省能量。
b) 利用低能耗模式進(jìn)行能耗節(jié)?。涸诤侠砝脙?nèi)存低能耗狀態(tài)方法時(shí),內(nèi)存與磁盤(pán)控制策略能應(yīng)用相類(lèi)似的能耗控制策略。當(dāng)前內(nèi)存動(dòng)態(tài)能耗過(guò)程允許對(duì)內(nèi)存能耗進(jìn)行多狀態(tài)管理,內(nèi)存由多組件合成,組件的不同狀態(tài)組合令內(nèi)存有了不同的工作狀態(tài)與能耗特征。例如,在讀寫(xiě)狀態(tài),內(nèi)存中所有組件處于活躍狀態(tài)而提供服務(wù),能耗最高,而控制內(nèi)存全部或者部分組件處于休眠狀態(tài)產(chǎn)生各種能耗狀態(tài)。
5)I/O能耗節(jié)能。I/O系統(tǒng)的能耗主要由時(shí)鐘網(wǎng)絡(luò)能耗和存儲(chǔ)單元能耗組成,其節(jié)能方法也主要分為時(shí)鐘網(wǎng)絡(luò)能耗節(jié)能和存儲(chǔ)單元能耗節(jié)能兩部分。
(1) 時(shí)鐘網(wǎng)絡(luò)能耗在實(shí)際程序運(yùn)行過(guò)程中通常占芯片總能耗的40%以上。時(shí)鐘網(wǎng)絡(luò)能耗節(jié)能的常見(jiàn)方法包括:門(mén)控時(shí)鐘策略、實(shí)時(shí)時(shí)鐘策略、動(dòng)態(tài)時(shí)鐘管理策略。
(2) 存儲(chǔ)單元能耗包括I/Ocache能耗和內(nèi)部數(shù)據(jù)通信的能耗,目前cache體系結(jié)構(gòu)級(jí)的能耗控制方法有:cache劃分、可變?nèi)輈ache、位線(xiàn)隔離(bitlineisolation)、低能耗cache技術(shù)。其中低能耗技術(shù)又分為:分階cache(phasedcache)、路預(yù)測(cè)cache(way-predictingcache)、部分地址比較技術(shù)、標(biāo)簽忽略技術(shù)(tag-skipping)、標(biāo)簽壓縮技術(shù)。
6) 其他能耗節(jié)能。除了上述硬件層的節(jié)能器件外,嵌入式系統(tǒng)中還包括一些其他能耗器件。雖然所占能耗總量不大,但也存在節(jié)能的控制手段。其他能耗節(jié)能主要包括:總線(xiàn)能耗節(jié)能、硬件電路能耗節(jié)能、傳感器能耗節(jié)能等方面。
2.3節(jié)能評(píng)價(jià)指標(biāo)
2.1節(jié)和2.2節(jié)的指標(biāo)體系已經(jīng)初步勾勒出了節(jié)能能力的作用范圍,但具體效果如何,卻沒(méi)有直觀(guān)的表現(xiàn)。因此,在上述基礎(chǔ)上,本文提出了平均節(jié)能率和能耗性能比2個(gè)指標(biāo)來(lái)具體衡量節(jié)能效果。
2.3.1平均節(jié)能率
定義1平均節(jié)能率是指嵌入式系統(tǒng)在使用節(jié)能方法后與未使用之前在單位時(shí)間內(nèi)能耗降低的比例。
為了有效衡量系統(tǒng)不同部件的節(jié)能效率,提出平均節(jié)能率的概念。平均節(jié)能率可以直觀(guān)地反映出系統(tǒng)在使用節(jié)能方法后能耗減少的比例。平均節(jié)能率的計(jì)算方法如公式2所示。
其中,Rsave為平均節(jié)能率,Eold為未采用節(jié)能方法前的平均能耗,Enew為采用節(jié)能方法后的平均能耗。
2.3.2能耗性能比
定義2能耗性能比是指系統(tǒng)當(dāng)前平均能耗與當(dāng)前平均性能之間的比值。
定義3性能損失率是指嵌入式系統(tǒng)在使用節(jié)能方法后與未使用之前在單位時(shí)間內(nèi)性能降低的比例。
系統(tǒng)在降低能耗的同時(shí),對(duì)性能也可能造成一定的影響,因此提出能耗性能比來(lái)衡量系統(tǒng)在使用節(jié)能手段后,性能損失的大小。能耗性能比的計(jì)算方法如公式3所示。
(3)
其中,EP為能耗性能比,取值范圍為(0,∞);Rsave為平均節(jié)能率,Rloss為性能損失率。其中,Rsave的計(jì)算方法公式(3)已經(jīng)給出,Rloss的計(jì)算方法如公式(4)所示。
(4)
其中,Pold為未采用節(jié)能方法前的平均性能表現(xiàn),Pnew為采用節(jié)能方法后的平均性能表現(xiàn)。Pold和Pnew的計(jì)算方法根據(jù)不同的設(shè)備應(yīng)有不同的區(qū)別,如當(dāng)計(jì)算CPU的能耗性能比時(shí),可以采用MIPs或FLOPs作為其值,當(dāng)計(jì)算存儲(chǔ)器的能耗性能比時(shí),可以采用存取速度作為其值,當(dāng)然性能評(píng)價(jià)的標(biāo)準(zhǔn)可以根據(jù)具體需求進(jìn)行調(diào)整。當(dāng)EP的范圍為(0,1)時(shí),即系統(tǒng)性能損失高于能耗降低比例,這通常不是用戶(hù)希望的結(jié)果,因此節(jié)能效果可以認(rèn)為很差,且越接近0時(shí),效果越差;當(dāng)EP=1時(shí),即系統(tǒng)性能損失等于能耗降低比例,即性能隨著能耗等比例降低了,但該情況說(shuō)明節(jié)能方法也幾乎未能起到太大的作用;當(dāng)EP的范圍為(1,∞)時(shí),即系統(tǒng)的性能損失小于能耗降低比例,可以認(rèn)為節(jié)能方法起到了一定的作用。
3Roofline模型
3.1坐標(biāo)系的建立
在完成了上述指標(biāo)體系的評(píng)價(jià)后,就可以通過(guò)Roofline模型對(duì)系統(tǒng)節(jié)能能力進(jìn)行分析了。首先根據(jù)數(shù)據(jù)勾畫(huà)出Roofline的模型圖,具體步驟如下:
1) 建立直角坐標(biāo)系。X軸表示能耗性能比EP,單位為kW·h/GFLOP/s;Y軸表示浮點(diǎn)運(yùn)算性能P,單位為GFLOP/s。需要注意的是,能耗和性能的真實(shí)值都無(wú)法直接獲得,需通過(guò)近似運(yùn)算來(lái)獲得理論值。假定系統(tǒng)每小時(shí)的電量消耗(kW·h)近似等同于系統(tǒng)能耗,系統(tǒng)的浮點(diǎn)運(yùn)算能力(GFLOPs)近似等同于系統(tǒng)性能。
2) 繪出峰值浮點(diǎn)性能。沿平行于X軸的方向根據(jù)實(shí)際數(shù)值繪一條直線(xiàn),它表示嵌入式系統(tǒng)能達(dá)到的峰值浮點(diǎn)運(yùn)算性能。很明顯,系統(tǒng)運(yùn)行過(guò)程中真實(shí)的浮點(diǎn)運(yùn)算速度不可能高于該值。
3) 以系統(tǒng)的能耗值為斜率繪制一條與X/Y軸成一定交角的直線(xiàn),表示峰值能耗(kW·h)。由于X軸的單位為每千瓦時(shí)浮點(diǎn)運(yùn)算次數(shù)(Kw/GFLOP),Y軸單位為每秒浮點(diǎn)運(yùn)算次數(shù),因此,峰值能耗實(shí)際上就是與X/Y軸成一定交角的直線(xiàn)。此直線(xiàn)表示在某一能耗性能比下的系統(tǒng)最大的能耗開(kāi)銷(xiāo)。
由以上描述可以得到CP的計(jì)算方法:
(5)
CP表示系統(tǒng)實(shí)際可達(dá)性能,TPpeak表示峰值浮點(diǎn)運(yùn)算性能,TEpeak表示峰值系統(tǒng)能耗。公式(5)表明,計(jì)算機(jī)實(shí)際可達(dá)到的性能既要低于峰值浮點(diǎn)運(yùn)算性能,同時(shí)也要低于峰值系統(tǒng)能耗與能耗性能比的乘積。Roofline模型圖的橫縱坐標(biāo)都采用了對(duì)數(shù)坐標(biāo),因?yàn)檫@樣能夠?qū)⒏蠓秶膶?shí)驗(yàn)結(jié)果顯示在一張結(jié)果圖中。斜線(xiàn)與水平線(xiàn)構(gòu)成一個(gè)“屋頂”的形狀,在屋頂下方的空間為系統(tǒng)所能達(dá)到的浮點(diǎn)運(yùn)算性能。對(duì)于每個(gè)能影響能耗性能比的節(jié)能方法而言,都能夠在X軸上找到對(duì)應(yīng)的一點(diǎn),如果過(guò)該點(diǎn)做一條平行于Y軸的線(xiàn)與“屋頂”相交形成一個(gè)線(xiàn)段,那么,該計(jì)算機(jī)對(duì)應(yīng)于此能耗性能比所對(duì)應(yīng)的節(jié)能方法所能取得的系統(tǒng)性能一定可以表示為這條線(xiàn)段上的某一點(diǎn),如圖5所示。圖5中,斜線(xiàn)與水平線(xiàn)的交點(diǎn)稱(chēng)為“脊點(diǎn)”,表示計(jì)算機(jī)在使用某種節(jié)能方法后同時(shí)達(dá)到了系統(tǒng)能耗峰值與系統(tǒng)性能峰值。脊點(diǎn)提供了一個(gè)計(jì)算機(jī)整體性能的判斷標(biāo)準(zhǔn),脊點(diǎn)的橫坐標(biāo)標(biāo)明了為達(dá)到最高系統(tǒng)性能所需要的能耗性能比。如果該點(diǎn)很靠右,說(shuō)明只有那些能耗性能比很大的節(jié)能方法才能達(dá)到此計(jì)算機(jī)浮點(diǎn)運(yùn)算的峰值性能;如果此點(diǎn)很靠左,說(shuō)明幾乎所有的節(jié)能方法都能很輕易地達(dá)到最高浮點(diǎn)運(yùn)算性能。以上為原始的Roofline模型的繪制說(shuō)明,該模型采用了束縛和瓶頸(boundandbottleneck)分析法,能僅在一張分析圖上提供所有有用的信息。
圖5 Roofline Model圖繪制示例
3.2模型的分析
對(duì)于計(jì)算機(jī)性能與能耗的瓶頸問(wèn)題,可以通過(guò)以下幾種常見(jiàn)的方法來(lái)改善:
1) 系統(tǒng)增加DPM管理方法,允許動(dòng)態(tài)將系統(tǒng)暫時(shí)不用的設(shè)備切換到睡眠模式或切斷其電源,以降低系統(tǒng)能耗,當(dāng)需要使用這些設(shè)備時(shí),再重新激活,起到動(dòng)態(tài)的管理電源的作用;
2) 系統(tǒng)增加DVS管理方法,允許系統(tǒng)在任務(wù)執(zhí)行時(shí),動(dòng)態(tài)地改變處理器的頻率和電壓,以此來(lái)節(jié)約系統(tǒng)的能耗;
3) 系統(tǒng)增加AVS管理方法,允許系統(tǒng)在任務(wù)執(zhí)行時(shí),根據(jù)性能需求自動(dòng)調(diào)整供給系統(tǒng)處理器的電壓,使處理器運(yùn)行在能確保應(yīng)用軟件正確運(yùn)行的最低電壓和頻率下,以此來(lái)降低系統(tǒng)的能耗;
4) 系統(tǒng)增加節(jié)能調(diào)度算法,允許系統(tǒng)為確定一系列任務(wù)的執(zhí)行順序采取一定的調(diào)度策略,使系統(tǒng)更加節(jié)能的執(zhí)行系統(tǒng)任務(wù)。
為了給予觀(guān)察者一些關(guān)于優(yōu)化措施及優(yōu)化效果的引導(dǎo),可以在原始Roofline模型結(jié)果圖中繪制多個(gè)“屋頂”??梢哉J(rèn)為每一種優(yōu)化措施對(duì)應(yīng)著一個(gè)性能屋頂線(xiàn),如果沒(méi)有采取相應(yīng)的節(jié)能優(yōu)化措施,系統(tǒng)便不能突破此峰值性能。
如圖6將系統(tǒng)能耗“屋頂線(xiàn)”與系統(tǒng)性能“屋頂線(xiàn)”結(jié)合生成新的Roofline模型。圖中節(jié)能優(yōu)化措
圖6 改善方法使用后的Roofline模型
施按實(shí)現(xiàn)容易程度進(jìn)行排序,處在下方的優(yōu)化方法比處在上方的更容易實(shí)現(xiàn)。雖然沒(méi)有注明,但上方的優(yōu)化方法實(shí)際上已經(jīng)包含了下方的內(nèi)容。圖6中,系統(tǒng)能耗的“屋頂線(xiàn)”與系統(tǒng)性能“屋頂線(xiàn)”相交形成新的“屋頂線(xiàn)”,表明采用特定的節(jié)能優(yōu)化方法之后得到的新的Roofline模型圖,該圖可以為后期的系統(tǒng)性能優(yōu)化方法選擇提供指導(dǎo)作用。
4結(jié)論
嵌入式系統(tǒng)節(jié)能能力是系統(tǒng)智能控制的表現(xiàn)方式之一。本文通過(guò)對(duì)嵌入式系統(tǒng)節(jié)能方法和手段進(jìn)行歸納總結(jié),形成了較完備的性能評(píng)價(jià)指標(biāo)體系,并提出了平均節(jié)能率和能耗性能比兩個(gè)核心指標(biāo)來(lái)綜合衡量系統(tǒng)的節(jié)能水平,最后通過(guò)Roofline模型對(duì)系統(tǒng)節(jié)能能力進(jìn)行了綜合分析,找出系統(tǒng)中不同方法的能力范圍和系統(tǒng)瓶頸所在,從而可以有效地幫助系統(tǒng)設(shè)計(jì)人員提高系統(tǒng)的能耗利用率,減少不必要的開(kāi)銷(xiāo)。
參考文獻(xiàn):
[1]LimR,FerrariF,ZimmerlingM,etal.FlockLab:ATestbedforDistributed,SynchronizedTracingandProfilingofWirelessEmbeddedSystems[C]∥2013ACM/IEEEInternationalConferenceonInformationProcessinginSensorNetworks, 2013: 153-165
[2]GuJ,CollinsS,CarimA,etal.RoomTemperatureFabricationofCrystallineGermaniumNanowiresbyElectrochemicalDepositionandItsApplicationasLiIonBatteryAnode[J].ElectrochemicalSociety, 2012(2): 206-206
[3]MaK,LiserreM,BlaabjergF,etal.ThermalLoadingandLifetimeEstimationforPowerDeviceConsideringMissionProfilesinWindPowerConverter[J].IEEETransactionsonPowerElectronics, 2015, 30(2): 590-602
[4]LeeWY.Energy-SavingDvfsSchedulingofMultiplePeriodicReal-TimeTasksonMulti-CoreProcessors[C]∥Proceedingsofthe2009 13thIEEE/ACMInternationalSymposiumonDistributedSimulationandRealTimeApplications, 2009: 216-223
[5]KimH,KimY,YooHJ.ALowCostQuadraticLevelECGCompressionAlgorithmandItsHardwareOptimizationforBodySensorNetworkSystem[C]∥30thAnnualInternationalConferenceoftheIEEE, 2008: 5490-5493
[6]SonYS,PulkkinenT,MoonKD,etal.HomeEnergyManagementSystemBasedonPowerLineCommunication[J].IEEETransonConsumerElectronics, 2010, 56(3): 1380-1386
[7]KimY,ShrivastavaA.Cumapz:ATooltoAnalyzeMemoryAccessPatternsinCUDA[C]∥Proceedingsofthe48thDesignAutomationConference,NewYorkUSA, 2011: 128-133
[8]RaoJ,XuCZ.OnlineMeasurementoftheCapacityofMulti-TierWebsitesUsingHardwarePerformanceCounters[C]∥28thInternationalConferenceonDistributedComputingSystems, 2008: 705-712
[9]LiXC,FerreiraD,DingY.DeterminationofAbsoluteConfigurationofNaturalProducts:TheoreticalCalculationofElectronicCircularDichroismasaTool[J].CurrentOrganicChemistry, 2010, 14(16): 1678
[10]SwanLG,UgursalVI.ModelingofEnd-UseEnergyConsumptionintheResidentialSector:AReviewofModelingTechniques[J].RenewableandSustainableEnergyReviews, 2009, 13(8): 1819-1835
[11]RajamaniK,RawsonF,WareM,etal.Power-PerformanceManagementonanIBMPower7Server[C]∥Proceedingsofthe16thACM/IEEEInternationalSymposiumonLowPowerElectronicsandDesign, 2010: 201-206
[12]HornD.CloudPoweredbyEPEAT-QualifiedServers:NewGreenProcurementCriteriaforServersisintheWorks[J].IEEETransonConsumerElectronicsMagazine, 2015, 4(3): 50-51
收稿日期:2015-09-22基金項(xiàng)目:航空科學(xué)基金(20150753010)、陜西省科技攻關(guān)項(xiàng)目(2015GY035)、西安市科技計(jì)劃項(xiàng)目(CXY151019)及民機(jī)專(zhuān)項(xiàng)(MJZ-2015-D-76)資助
作者簡(jiǎn)介:羅殊彥(1984—),西北工業(yè)大學(xué)博士研究生,主要從事計(jì)算機(jī)性能評(píng)價(jià)及人工智能等研究。
中圖分類(lèi)號(hào):TP302
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1000-2758(2016)03-0536-08
TheResearchofEnergy-SavingCapabilityMeasurementModelinEmbeddedSystem
LuoShuyan,ZhuYi′an,WangWeichao
(SchoolofComputerScience,NorthwesternPolytechnicalUniversity,Xi′an710072,China)
Abstract:With the continuous development of embedded technology, the energy consumption problem becomes more and more prominent. There are a lot of measurement methods of system energy-saving level at home and abroad. Some researchers measure the energy-saving level from DMP, DVS, etc. but they did not support a unified criterion; Some researchers evaluated the energy-saving method from the perspective of different hardware devices, but they did not quantify the indexes. In this paper, aimed at single measure objects of system energy saving ability and many indicators unquantifiable issues, both the operating system level and hardware level are considered to construct the energy-saving capability embedded system measurement model (ESCMM). The model gives a measure of uniform standards of energy-saving capability from a complete embedded system perspective. In addition, in this paper, the Roofline model is improved, and the energy saving capacity analysis method based on the Roofline model is put forward, which is verified by an example and at the same time the bottleneck of the system energy consumption effectively is find out.
Keywords:embedded system, self-evolution capability, measurement model, ESCMM, roofline model, energy balance, energy conservation, energy efficiency, energy management, energy utilization, power control, power quality