程茹潔,陸 建,蔣厚明,胡 牧
(1.東南大學 信息科學與工程學院,江蘇 南京 210096;2.國網(wǎng)電力科學研究院,江蘇 南京 211000)
智能移動終端的能耗模型研究
程茹潔1,陸 建1,蔣厚明2,胡 牧2
(1.東南大學 信息科學與工程學院,江蘇 南京 210096;2.國網(wǎng)電力科學研究院,江蘇 南京 211000)
為分析智能手機的實時能耗,定位手機的高能耗組件,幫助用戶了解手機的能耗去向,并針對性地采取節(jié)能措施,從華為手機Y518-T00入手,開發(fā)了一款基于安卓系統(tǒng)的應用。針對重要硬件組件(CPU、屏幕、Wi-Fi接口、音頻、GPS),通過場景測試收集的數(shù)據(jù)進行擬合分析,構建了每個硬件組件對應的能耗模型,進一步得到了整機的能耗模型。針對CPU,提出了一種反饋調(diào)節(jié)的模式來控制其占用率,有效地測量出CPU在不同占用率和頻率下的能耗特點,消除了CPU的運行給其他組件能耗分析帶來的影響。最后,用常見的兩款手機應用進行了測試。結果表明,該能耗模型的相對誤差均低于7%,具有較好的精度,可用于了解手機能耗在硬件組件的分布情況。
智能移動終端;安卓系統(tǒng);場景測試;功耗模型;CPU;反饋調(diào)節(jié)
隨著個人應用和移動網(wǎng)絡的發(fā)展,智能手機越來越普及,截止2015年,全球智能機用戶已達到21億[1]。但與此同時,智能手機電池續(xù)航時間短的問題也直接影響了用戶體驗。之所以出現(xiàn)這樣的現(xiàn)象,是因為智能手機的功能增多,屏幕增大,硬件性能提升,導致能耗增加。即使現(xiàn)有智能手機的電池容量相比傳統(tǒng)手機增加近兩倍,但相對于智能手機的能耗需要,其容量增長率是遠遠不夠的。因此分析手機能耗就非常有意義。通過構建手機能耗模型,可以找出手機的主要耗能部件,計算應用程序的功耗,分析出功耗過大的原因,有助于給出可能的解決方案。
手機能耗在物理學中指的是能量消耗,單位能耗是反映能源消費水平和節(jié)能降耗狀況的主要指標。功耗是指單位時間的能量消耗,即功率的損耗,指設備、器件等輸入功率和輸出功率的差額。在計算機范疇內(nèi),處理器、內(nèi)存、硬盤等器件都是以CMOS數(shù)字集成電路為基礎的,它們的能耗通常是指該器件在運行時間內(nèi)所消耗的電能。
所以手機在[0,t]時間段內(nèi)的能耗E可以表示為各個手機硬件能耗的積分。
(1)
其中,j表示硬件組成部分;Pj表示硬件j的功耗。對手機能耗的分析本質(zhì)上也是對功耗的分析。
手機能耗模型的研究主要分硬件[2-4]和軟件[5-6]兩方面。
硬件方面主要是借助外部的設備對手機整機或者部件進行功耗測試,進一步發(fā)現(xiàn)其中的規(guī)律特點。硬件方面,張立等[7]分別采用Wi-Fi和GPRS兩種接入網(wǎng)絡策略,研究手機系統(tǒng)功耗的變化,通過在兩臺Android真機上進行實驗,發(fā)現(xiàn)Wi-Fi模式比GPRS更省電。該研究表明,研究手機移動網(wǎng)絡模塊的功耗對整機模塊功耗具有十分重要的意義。
軟件方面,文獻[8]主要探討了系統(tǒng)開發(fā)階段的低能耗軟件優(yōu)化與評估技術,將優(yōu)化技術分為指令級優(yōu)化、算法級優(yōu)化與軟件體系結構優(yōu)化三類,深入討論了低能耗軟件優(yōu)化的關鍵支撐技術:軟件能耗估算。文獻[9]則是通過調(diào)用軟件系統(tǒng)層的wakelock以及中斷信息構建了所有基本硬件子系統(tǒng),即CPU、顯示屏、圖形處理、GPS、音頻、麥克風、Wi-Fi的能耗計算系統(tǒng)。由于充分考慮到各個子系統(tǒng)的執(zhí)行狀態(tài),得到的系數(shù)在一定時間內(nèi)可以保持恒定。文獻[8]從軟件體系結構層面出發(fā),假設體系結構級軟件特征量與嵌入式軟件能耗之間存在非線性函數(shù)關系,并以此假設為基礎,提出了一種利用BP神經(jīng)網(wǎng)絡在體系結構級估算軟件能耗的模型。
文中針對智能手機的重要硬件,設計了一系列的場景測試,實現(xiàn)了各個組件在不同狀態(tài)下的功耗測試,并在此基礎上構建了相應的功耗模型,具體包括:
(1)設計一套基于Android平臺的應用,實現(xiàn)場景測試功能,可快捷地控制硬件的相關設置、狀態(tài),從而進一步進行能耗測試分析。針對CPU,提出了一種反饋控制的調(diào)節(jié)模式,在CPU占用率穩(wěn)定在2%的波動范圍內(nèi),有效測量CPU在不同占用率下的功耗變化。
(2)通過場景測試的數(shù)據(jù)分析,構建了每個硬件組件對應的功耗模型,實驗結果表明,基于安卓系統(tǒng)的功耗模型的相對誤差均低于7%,具有較好的精度。
由于Android系統(tǒng)具有開源性,并且Android手機占據(jù)了巨大的市場份額,因此選擇華為Y518-T00作為測試對象。
使用Monsoon公司的power monitor功耗測試儀來測量手機功耗,該設備能夠為手機持續(xù)提供3.7 V的電壓,并且以5 kHz的頻率實時測量并顯示整機功耗,功耗測量數(shù)據(jù)可以以CSV文件形式進行保存。測量過程中,對每一次測試用例進行多次測量求均值得到測試結果。
為了得到不同硬件組件的功耗,并進一步分析其能耗特點,需要設計特定的測試場景,控制該組件運行,盡可能減少其他組件以及其他無關應用對它的影響。比如在測試網(wǎng)絡接口的能耗時,關閉手機所有其他的應用以及可以關閉的其他一切硬件組件(屏幕、GPS、藍牙等)。對于無法關閉的硬件組件CPU,首先獲取CPU的功耗特點,并在之后測試結果中減去CPU功耗。為此,針對Android平臺設計了一款簡單易用的應用,測試者只需點擊相應按鈕,便可執(zhí)行相應的測試用例,測試架構如下:針對CPU,主要研究工作模式、占用率和頻率對功耗的影響;針對LCD顯示屏,主要研究亮度的影響;Wi-Fi接口的主要研究變量是數(shù)據(jù)傳輸速度和尾部能耗;GPS的功耗主要研究變量時接口狀態(tài);而對于音頻,研究音量對該模塊功耗的影響。
3.1.1 CPU模式介紹
在分析智能手機的硬件功耗時,首先要分析的是手機CPU的功耗。目前市場上已經(jīng)有一些應用能夠?qū)PU進行調(diào)整和模式改變,進而達到改變CPU性能或者省電的作用。以軟件SetCPU為例,CPU常見的工作模式有八種:Ondemand(超頻模式)、Interactive(交互模式)、Conservative(保守模式)、Smartass(聰明模式)、Performance(高性能模式)、Powersave(省電模式)、Userspace(用戶自定義模式)、Hotplug(熱插拔模式)。
為了研究不同工作模式下對功耗的影響,在Wi-Fi條件下下載并播放視頻1分鐘,通過SetCPU控制CPU工作模式,并比較其功耗差異,在Userspace模式下,平均功耗為1 144 mW;在Powersave模式下,功耗為1 048 mW;Hotplug模式下的功耗為1 146 mW;Performance模式的平均功耗為1 161 mW。
通過測試發(fā)現(xiàn),在CPU較高負載運作下,改變工作模式對手機的耗電量有一定的影響。其中Performance模式功耗最高,因為CPU持續(xù)保持在最高頻率工作;Powersave模式的功耗最低,因為CPU保持在最低頻率工作。這兩種模式之間的平均功耗相差113 mW。
雖然通過改變工作模式可以達到省電效果,但卻并不能定量地了解CPU的功耗特性。文獻[10]分析了CPU利用率和頻率對CPU功耗的影響,并將功耗與利用率的關系通過線性模型來模擬:
Pcpu=βfreqi*u+βidle
(2)
其中,Pcpu為CPU功耗;βfreqi為第i(i=1,2,…,n)個CPU的頻率;u(0%≤u≤100%)為CPU占用率;βidle為CPU空閑功耗。
但該模型并未指出采用線性模型的原因,也沒有具體用圖表或公式展現(xiàn)具體的關系。所以文中將詳細闡述如何控制CPU占用率以及頻率,并通過實際測試結果來分析其對功耗的影響。
3.1.2 CPU占用率控制
CPU占用率指CPU執(zhí)行非系統(tǒng)空閑進程的時間與CPU總的執(zhí)行時間的比值[11]。因此只需要控制CPU的非系統(tǒng)空閑進程的時間比例,便可以控制其利用率。在proc/stat文件中有詳細的CPU使用情況,可以得到CPU總的執(zhí)行時間TotalTime以及空閑時間IdleTime。用下標2表示最新一次獲取的信息,下標1表示上一次的信息,可以求得CPU的占用率u的表達式:
u=100%*
(3)
如圖1所示,控制CPU的占用率分為三個步驟:
圖1 CPU占用率控制流程
(1)初始化。讓CPU單線程執(zhí)行空循環(huán)任務109次,五次測量求得平均值為2 140 ms,從而可以得到單核執(zhí)行空循環(huán)106需要2.14 ms。
(2)粗調(diào)整。設計開發(fā)程序新建單一線程讓CPU執(zhí)行任務(空循環(huán)106次,sleep(2)),由于CPU單核的執(zhí)行時間和空閑時間都約為2 ms,處于同一量級,在考慮到系統(tǒng)其他應用的噪聲影響以及該測試機為四核CPU的基礎上,使CPU的占用率粗調(diào)整在12.5%以上。
(3)動態(tài)控制。借助之前所提及的辦法每秒監(jiān)控CPU占用率,當占用率高于指定值時,減少循環(huán)次數(shù),從而減少CPU執(zhí)行時間來降低占用率;反之則增大循環(huán)次數(shù),增加線程數(shù)量,提高占用率。
3.1.3 CPU頻率控制
通過軟件SetCPU可以將CPU的頻率控制在不同的頻率點,以Y518-T00為例,將其頻率控制為598 MHz,747 MHz,1 040 MHz,1 196 MHz,1 400 MHz。
3.1.4 結果分析
在測試過程中,只執(zhí)行控制CPU占用率和頻率的程序。雖然CPU占用率為零的理想狀態(tài)是無法達到的,但實驗表明,通過文中的占用率控制算法可以將占用率控制在0.8%左右。所得測試結果如圖2所示。
(1)在零負載的狀態(tài)下,不同頻率下手機功耗沒有明顯差異。
(2)在占用率一定的情況下,隨著頻率增大,CPU的功耗也隨著增大;同樣,在相同頻率下,隨著占用率增大,CPU功耗也隨之增大。
(3)隨著負載逐步增大,頻率導致的功耗差異越來越大,在100%的負載下,1 400 MHz的功耗大約是598 MHz的兩倍。
圖2 CPU功耗測試結果
在同一個頻率點下,CPU功耗與占用率有著較強的線性關系,可用如下公式來模擬CPU功耗Pcpu與頻率f、占用率u的關系:
(4)
在手機使用過程中,屏幕是最常用的硬件組件之一。手機屏幕主要分為LCD和OLED兩種,對于OLED的功耗,文獻[9]的研究表明功耗與“像素點強度”有關,紅黃藍像素對功耗有不同的影響;對于LCD屏幕,也從屏幕背景顏色和屏幕亮度兩方面進行研究。
首先研究屏幕背景顏色與功耗的關系,固定屏幕亮度,測量紅色背景(rgb:255,0,0)、綠色背景(rgb:0,255,0)以及藍色背景(rgb:0,0,255)的功耗,由于手機運行過程中CPU始終在工作,通過訪問proc/stat文件,獲知CPU的占用率很小,結合3.1的測試結果,可以獲得顯示屏的功耗為:
Pdisp=Ptotal-Pcpu
(5)
其中,Ptotal為本次實驗的總功耗;Pcpu為本次實驗的CPU功耗。
受系統(tǒng)應用噪聲影響,手機的功耗也是動態(tài)變化的,但是變化的范圍很小。取20 s內(nèi)手機在某亮度的功耗平均值作為該亮度對應的功耗,進行了四次實驗,結果發(fā)現(xiàn),雖然屏幕的顏色發(fā)生改變,但是屏幕功耗都在270~285 mW范圍內(nèi)隨機波動??梢缘贸鼋Y論,LCD屏幕背景顏色與屏幕功耗無關。
然后進一步研究亮度對功耗的影響,在測試過程中,關閉手機其他應用及組件,在亮度為0%、20%、40%、60%、80%、100%時測量手機功耗。亮度-功耗關系如圖3所示。
圖3 屏幕亮度與功耗關系曲線
由圖3可以看出,隨著亮度增大,LCD功耗也在增大。在屏幕亮度為0%的情況下,其實屏幕的背光模塊也是在耗電的,所以依然會消耗電量,大約是201 mW。
屏幕功耗Pdisp與亮度br(100%)的關系用如下的線性模型來表示:
Pdisp=br*451+200
(6)
Wi-Fi在不同傳輸速度下的功耗并不是固定值,文獻[12]將Wi-Fi模型用PSM模型來表示。該模型分為四種狀態(tài),每種狀態(tài)下的Wi-Fi功耗用固定值表示,這種建模并不能精確表示W(wǎng)i-Fi的實時功耗。為此,文中將主要研究Wi-Fi功耗與傳輸速度的關系。
首先控制Wi-Fi的傳輸速度。通過實驗發(fā)現(xiàn),在數(shù)據(jù)量較小的情況下,數(shù)據(jù)傳輸時間短,往往傳輸速度還沒有達到穩(wěn)定值就已經(jīng)結束了,不便于進行控制。因此需要在一段比較長的時間內(nèi)進行數(shù)據(jù)傳輸,保證速度的穩(wěn)定性。
借助Wi-Fi對速度進行控制,它能夠在帶寬足夠的情況下,精確地限制Wi-Fi的速度。由于用戶的Wi-Fi傳輸速度一般在100 KB/s到1 MB/s,因此在相同的場景下,關閉手機其他可以關閉的硬件組件以及應用,在Wi-Fi網(wǎng)絡下,將傳輸速度控制在100 K/s,200 K/s,400 K/s,400 K/s,500 K/s和600 K/s,測得這段時間的功耗曲線,可以得到Wi-Fi接口功耗為:
Pwifi=Ptotal-Pcpu
(7)
其中,Ptotal為手機功耗;Pcpu為根據(jù)頻率和占用率計算得到的CPU功耗。
計算得到上傳數(shù)據(jù)和下載數(shù)據(jù)的平均功耗,結果如圖4所示。
可以看出,在同樣的傳輸速度下,上傳的功耗略高于下載功耗40 mW,但是沒有顯著差異。功耗與傳輸速度呈分段線性關系。通過擬合,得到上傳功耗Pupload與上傳速度Tx的關系為:
(8)
下載功耗Pdownload與下載速度Rx的關系為:
(9)
圖4 傳輸速度-功耗關系曲線
GPS定位是智能手機常用的一個功能,它主要分為三個狀態(tài):關閉、開啟、定位。關閉狀態(tài)即是不開啟GPS功能;開啟狀態(tài)是開啟了GPS功能,但不執(zhí)行其他任務,GPS在開啟時的大部分時間處于這個狀態(tài);定位狀態(tài)是GPS和衛(wèi)星通信更新自己位置的過程,這個過程通常比較短暫,根據(jù)網(wǎng)絡信號、上次定位等情況不同,一般持續(xù)幾秒到十幾秒左右。測試過程將手機的其他硬件和進程都關閉,只測試GPS的功耗,持續(xù)1分鐘。得到GPS的功耗模型如下:
(10)
在手機使用過程中,音頻是不可或缺的一部分。測試程序可以將音量準確地設為不同的百分比,關閉所有其他進程和功能,屏幕亮度為0,只保留測試程序,然后選取兩段不同音質(zhì)的音頻,用0%,20%,40%,60%,80%,100%的音量播放,取每次播放中內(nèi)容相同的5秒鐘,并且重復5次。由于手機功耗始終在動態(tài)變化,文中將所有5秒內(nèi)的功耗取平均值后,得到音量和功耗的關系。發(fā)現(xiàn)無論音量和功耗的關系,還是音質(zhì)和功耗的關系,都沒有呈現(xiàn)明顯的規(guī)律。這主要是因為音樂節(jié)奏、音調(diào)、頻率等都有很大的變化,并不容易對比。
為了更好地分析頻率對功耗的影響,針對單頻率的音頻文件,測試了在手機音量一直保持在40%的情況下,不同頻率的音頻的功耗情況。測試結果中,當頻率為1 kHz時,功耗為133 mW;2 kHz時,功耗為132 mW;3 kHz時,功耗為136 mW;4 kHz時,功耗為135 mW;5 kHz時,功耗為133 mW??梢钥闯?,在音量相同的情況下,功耗均在132~136 mW之間波動,頻率不會對功耗造成顯著影響。
在此基礎上,以10%的音量變化為梯度,測量出單頻率音頻在音量從0%~100%的變化過程中的平均功耗,采用線性[13]和指數(shù)兩種函數(shù)進行擬合,結果如圖5所示。其中,采用線性擬合之后的相關系數(shù)為0.81,采用指數(shù)擬合后的相關系數(shù)為0.92,因此可以采用非線性擬合的結果來表示音頻的功耗Paudio與音量volume(100%)的關系:
Paudio=115.89e1.639 2*volume
(11)
圖5 單頻率音頻功耗的線性和非線性擬合
為了評估模型的準確性,測試了常用的兩款手機應用:百度云和愛奇藝。對于手機功耗測試,由于功耗具有時變性,因此對一段時間內(nèi)的能耗估算測量更具有說服力。通過power monitor記錄功耗,并把一段時間內(nèi)的功耗值積分得到最終的實際能耗。對于估算功耗,首先確定相關的耗能硬件,帶入對應的模型計算每個硬件的功耗,乘以時間得到能耗值,并將每個能耗線性相加作為手機的能耗。通過對比實際測量中的能耗和模型計算出的能耗來評估模型的準確性。
(12)
其中,Preal為實際能耗;Pest為估算能耗;e為相對誤差。
百度云作為一款用于文件傳輸?shù)脑品债a(chǎn)品,實驗中只運行百度云的下載任務,下載速度限定在100 K/s、200 K/s、300 K/s。此時的手機能耗主要來自于CPU、屏幕、Wi-Fi接口。實驗進行五輪,每輪1分鐘,以一分鐘內(nèi)的平均能耗作為實際能耗,獲得CPU的占用率和頻率、屏幕亮度并帶入模型計算,得到估算能耗,對比結果如表1所示。
表1 百度云測試結果
結果表明,相對誤差沒有超過5.86%,估測值比實際值略低,主要原因是因為算法主要考慮了CPU、屏幕和Wi-Fi接口的功耗,忽略了其他硬件組件的影響。
愛奇藝是一款視頻類應用,主要用于在線觀看視頻,主要用的是網(wǎng)絡接口、CPU、屏幕和音頻。該實驗主要測試在線觀看某一視頻的能耗,測量時長分別為一分鐘、兩分鐘、三分鐘。實驗過程將屏幕亮度置為0%,音量設為40%,動態(tài)監(jiān)測CPU的占用率和頻率以及Wi-Fi接口的網(wǎng)速,代入對應模型中計算,得到的實際能耗和估算能耗對比結果如表2所示。雖然測試能耗略低于實際能耗,但是相對誤差的平均值為6.21%。
表2 愛奇藝測試結果
綜上,文中的功耗模型可以用于計算一段時間內(nèi)的手機功耗,在不需要測量儀器介入的情況下能提供比較準確的結果。
針對智能手機的重要硬件,設計了一系列的場景測試,用于測試不同的硬件組件在多個狀態(tài)下的功耗,并在此基礎上構建出每一個硬件組件的功耗模型。通過該模型可以得到各個硬件在常見狀態(tài)下的功耗水平,為降低手機能耗提供可用的數(shù)學模型。
[1] 吳吉義,李文娟,黃劍平,等.移動互聯(lián)網(wǎng)研究綜述[J].中國科學:信息科學,2015,45(1):45-69.
[2] PERRUCCIG P,FITZEK F H,WIDMER J.Survey on energy consumption entities on the smartphone platform[C]//Vehicular technology conference.Budapest:IEEE,2011:1-6.
[3] 王雙星.基于Android系統(tǒng)的能耗計算研究[D].西安:西北大學,2014.
[4] PATHAKA,HU Y C,ZHANG M,et al.Fine-grained power modeling for smartphones using system call tracing[C]//Proceedings of the sixth conference on computer systems.New York:ACM,2011:153-168.
[5] GUPTA A,MOHAPATRA P.Energy consumption and conservation in Wi-Fi based phones:a measurement-based study[C]//IEEE communications society conference on sensor sensor.San Diego:IEEE,2007:121-131.
[6] 張加省.面向智能手機應用程序節(jié)能優(yōu)化研究[D].杭州:浙江大學,2014.
[7] 張 立,韓銀和,袁小龍.一種基于Android系統(tǒng)網(wǎng)絡模塊功耗的評估和分析[J].計算機科學,2012,39(6):289-292.
[8] 劉嘯濱,郭 兵,沈 艷,等.嵌入式軟件體系結構級能耗建模方法[J].軟件學報,2012,23(2):230-239.
[9] MURMURIA R,MEDSGER J,STAVROU A,et al.Mobile application and device power usage measurements[C]//Sixth international conference on software security and reliability. Berkeley:IEEE,2012:147-156.
[10] JUNG W,KANG C,YOON C,et al.DevScope:a nonintrusive and online power analysis tool for smartphone hardware components[C]//Proceedings of the eighth IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis.Tampere,Finland:ACM,2012:353-362.
[11] 蔡衛(wèi)平,黃小虎.嵌入式系統(tǒng)中計算CPU占用率的簡易方法[J].中國科技信息,2006(7):161-162.
[12] MITTAL R,KANSAL A,CHANDRA R.Empowering developers to estimate app energy consumption[C]//Proceedings of the 18th annual international conference on mobile computing and networking.Istanbul,Turkey:ACM,2012:317-328.
[13] 張世強,呂杰能,蔣 崢,等.關于相關系數(shù)的探討[J].數(shù)學的實踐與認識,2009(19):102-107.
ResearchonEnergyConsumptionModelonSmartphones
CHENG Ru-jie1,LU Jian1,JIANG Hou-ming2,HU Mu2
(1.School of Information Science and Engineering,Southeast University,Nanjing 210096,China;2.State Grid Electric Power Research Institute,Nanjing 211000,China)
To analyze the real-time energy consumption for mobile phone,find the mobile phone components with high energy consumption,and help users understand where the energy goes so as to adopt relevant energy-saving measures,an application based on Android is developed from Huawei Y518-T00.For the important hardware components such as CPU,display,Wi-Fi interface,audio and GPS,the data collected by scenario test is analyzed,and the energy consumption models are established for each component respectively to further construct the energy consumption model of mobile phone.A feedback-regulation method is presented to control the utilization of CPU,based on which the power characteristics of CPU under different utilizations and frequency are measured and the impact of CPU running on energy analysis of other components is eliminated.At last,the two popular apps are tested.Experiment shows that the relative error of the proposed model is less than 7%,with better accuracy,and it helps users understand the energy distribution of hardware components on phones.
mobile phone;Android System;scenario test;power consumption model;feedback regulation
TP31
A
1673-629X(2017)12-0128-05
10.3969/j.issn.1673-629X.2017.12.028
2016-11-24
2017-03-28 < class="emphasis_bold">網(wǎng)絡出版時間
時間:2017-09-27
國家自然科學基金資助項目(61401086);國家電網(wǎng)公司科技項目(SGTYHT/14-JS-188)
程茹潔(1992-),女,碩士研究生,研究方向為信號處理、數(shù)據(jù)分析;陸 建,通訊作者,博士,講師,研究方向為信號處理、數(shù)據(jù)分析。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170927.0957.012.html