文獻標識碼: A
文章編號: 0258-7998(2014)10-0138-04
0 引言
移動電話的普適性,、便攜性以及連通性使得它們成為連續(xù)感知應(yīng)用的理想平臺,。移動電話含有多種傳感器,可以在連續(xù)感知任務(wù)中感知用戶不同類型的上下文[1],。移動電話采用電池供電,,電池的容量決定著移動電話的使用時間。在連續(xù)移動感知應(yīng)用中,,如何節(jié)約電量的消耗從而提高連續(xù)感知應(yīng)用的時間是最具研究挑戰(zhàn)的內(nèi)容之一[2-3],。
為了解決上述問題,研究人員提出在平臺中加入低功耗處理器,,用于控制移動設(shè)備的傳感器,。TI OMAP[4]平臺中除了含有應(yīng)用處理器內(nèi)核,還包含芯片級的低功耗處理器內(nèi)核,。其基本原則是:低功耗處理器在活躍狀態(tài)消耗很小的能量,,并且從睡眠狀態(tài)到活躍狀態(tài)的喚醒開銷幾乎可以忽略不計,因此可以有效率地執(zhí)行重復(fù)的感知任務(wù),。在感知任務(wù)中,,應(yīng)用處理器處于睡眠模式,低功耗處理器感知傳感器的數(shù)據(jù)并在進行計算密集型任務(wù)時喚醒應(yīng)用處理器,。
Reflex平臺[5]為用戶在多處理器移動平臺上提供了一種簡單的編程體驗,。該平臺通過共享內(nèi)存技術(shù)將復(fù)雜的底層開發(fā)問題集成到低功耗處理器中,程序員可以使用標準的程序開發(fā)技術(shù)來設(shè)計應(yīng)用,。X等人提出了一種概念驗證原型系統(tǒng)LittleRock[6],,該系統(tǒng)強調(diào)了低功耗處理器在任務(wù)劃分中的有效性。區(qū)別于上述兩種方法,,本文針對連續(xù)的感知應(yīng)用提出了一種任務(wù)劃分指導(dǎo)方法以及適當?shù)倪\行環(huán)境設(shè)計原則,。本文提出的方法可以在上述兩個平臺中實現(xiàn),是對這兩個平臺的補充。為了將工作負載劃分到異構(gòu)的平臺上,,CUERVO E等人[7]和GORACAKO M等人[8]提出了基于整數(shù)線性規(guī)劃的任務(wù)劃分方法,。前者研究任務(wù)在移動設(shè)備與云平臺之間的劃分,后者研究任務(wù)在兩個處理器之間的劃分,。區(qū)別于上述兩個工作,,本文采用基于模擬的方法以得到更接近真實值的準確結(jié)果。
本文從能量有效的角度研究如何在應(yīng)用處理器和低功耗處理器上進行任務(wù)的劃分,,對任務(wù)劃分期間跨不同處理器的能源消耗和傳輸開銷進行了量化,,提出了一種應(yīng)用組件分析方法,并基于該方法對組件進行最有效的劃分,。
1 能量消耗比例
在理想平臺中,,當應(yīng)用程序的執(zhí)行存在間隙時,系統(tǒng)進入休眠狀態(tài),。然而在真實平臺中,,系統(tǒng)是否進入休眠狀態(tài)取決于程序的運行間隙是否大于系統(tǒng)狀態(tài)轉(zhuǎn)換所需的時間[2,8],。給定P和A,,為了量化真實能耗與理想能耗之間的差異,本文定義能量比例因子為:
2 處理器的能量消耗優(yōu)化
2.1 假設(shè)前提
為了簡化問題的分析,,本文做如下假設(shè):(1)假設(shè)感知應(yīng)用通過傳感器對數(shù)據(jù)進行抽樣,,并周期性的運行。(2)假設(shè)那些對輸入數(shù)據(jù)進行計算的特殊任務(wù)片段的運行時間是常數(shù),,并不依賴于輸入數(shù)據(jù),。實際上,一些特殊的輸入數(shù)據(jù),,如全0輸入,,可能會簡化計算,從而加快任務(wù)片段的運行,,此處假設(shè)這種差別并不顯著,。(3)假設(shè)兩個處理器間的通信開銷相對于執(zhí)行時間和采樣周期可以忽略不計。在大多數(shù)處理器平臺中,,應(yīng)用處理器和低功耗處理器在同一芯片中,因此通信開銷很低,。此外,,即使應(yīng)用處理器和低功耗處理器在不同的芯片中,也可以通過高速總線互聯(lián),,從而大大降低它們之間的通信開銷,。(4)由于將感知負載轉(zhuǎn)移到低功耗處理器上,本文假設(shè)低功耗處理器的休眠與活躍狀態(tài)之間的狀態(tài)轉(zhuǎn)換開銷和休眠時的空閑能耗相對于其他能耗可以忽略不計。(5)假設(shè)所有的任務(wù)片段在這兩個處理器上都是可調(diào)度的,。這意味著通過將任務(wù)片段劃分在不同的處理器上,,可以降低應(yīng)用程序總的運行時間。
由于傳感器的數(shù)據(jù)是連續(xù)的,,而處理器處理的數(shù)據(jù)往往是離散的,,采樣方法作為基本的傳感器數(shù)據(jù)處理方法不僅能很好地描述傳感器數(shù)據(jù),還可以大大壓縮數(shù)據(jù)總量,,因此假設(shè)(1)是合理的,。假設(shè)(2)、(3)和(4)對問題的分析進行了簡化,,該假設(shè)會對分析結(jié)果產(chǎn)生微小的誤差,,在對系統(tǒng)的整體性能進行評估時,這些誤差可以忽略不計,。通過對應(yīng)用程序的任務(wù)進行分配,,可以使任務(wù)在不同的處理器間進行調(diào)度,因此假設(shè)(5)是合理的,。
2.2 總的能量消耗
本文采用的符號的含義如表1所示,。令應(yīng)用程序的調(diào)用包含N個任務(wù)片段,并且部分任務(wù)片段可能重復(fù)多次運行,,該應(yīng)用程序的每個周期的持續(xù)時間為d,。令M表示應(yīng)用處理器,那么應(yīng)用程序的理想能耗為:
事實上,,應(yīng)用處理器的狀態(tài)轉(zhuǎn)換能耗和休眠能耗并不能忽略不計,,于是真實能耗為:
其中Etrans·K表示處理器模式轉(zhuǎn)換的能耗。由于周期d遠遠大于應(yīng)用程序運行時總共的模式轉(zhuǎn)換時間,,因此本文忽略了處理器狀態(tài)的轉(zhuǎn)換時間,。
當平臺中含有M和L兩個處理器時,應(yīng)用程序可以按照比例被分割為若干個連續(xù)的活躍能耗和模式轉(zhuǎn)換能耗,,于是能耗為:
由于將部分任務(wù)轉(zhuǎn)移到L上運行,,因此M上的模式轉(zhuǎn)換次數(shù)K′與K不同。對比EMulti與EM,,由于EMulti將部分任務(wù)轉(zhuǎn)移到低功耗處理器L上運行,,M上的模式轉(zhuǎn)換次數(shù)K′減小了,因此式(1)定義的能量消耗比例減小了,。
2.3 任務(wù)片段劃分
為了確定最優(yōu)的能量比例因子,,本文應(yīng)用了移動連續(xù)感知應(yīng)用的一些典型的特征。在這些應(yīng)用中,,每個任務(wù)片段的輸出率會隨著計算管道明顯的降低,。例如,,采樣和緩沖任務(wù)片段在100 Hz頻率下采集和緩沖傳感器的采樣數(shù)據(jù),而對緩沖數(shù)據(jù)進行分類的操作會在更低的頻率(如1 Hz)下工作,。此外,,管道開始的任務(wù)片段是輕量級的,往往進行簡單的數(shù)據(jù)緩沖和過濾,,而管道的后續(xù)任務(wù)片段往往是計算密集的,。
在確定任務(wù)片段的處理器時,由于任務(wù)是可調(diào)度的,,其唯一決定因素為兩個處理器之間的相對能量消耗比例差異,。如果i被劃分到L上時,其能量消耗比例相對于M減少了,,那么將任務(wù)片段i劃分到L上,。相對能量消耗比例差異Δi依賴于任務(wù)片段i的劃分,其計算方法為:
應(yīng)用式(6)可以得到一條曲線,,曲線的橫坐標為縱坐標為si,。當坐標點落到曲線的右上方時,該任務(wù)在應(yīng)用處理器上運行,;當坐標點落到曲線的左下方時,,該任務(wù)在低功耗處理器上運行。
3 實驗設(shè)計與結(jié)果分析
3.1 模擬器設(shè)計
本文分析多個應(yīng)用程序下所有應(yīng)用的計算時間,、模式轉(zhuǎn)換次數(shù)以及程序的喚醒時間,。為了對程序的性能更好地進行描述,進行細粒度的時間分析,。圖1為實驗采用的模擬器的整體結(jié)構(gòu),。本文采用基于事件的模擬器設(shè)計方法,采用3個輸入文件,。第一個輸入文件包含系統(tǒng)的配置參數(shù),,如兩個處理器的在每種狀態(tài)下的能耗參數(shù)、CPU的運行頻率,、任務(wù)的調(diào)度策略以及狀態(tài)轉(zhuǎn)換能耗,;第二個輸入文件為應(yīng)用程序配置文件,該文件描述應(yīng)用程序的任務(wù)片段劃分和連接結(jié)構(gòu),;最后一個輸入文件為多個應(yīng)用程序的跟蹤數(shù)據(jù),。模擬器計算出應(yīng)用程序的整個執(zhí)行路徑,并將相關(guān)的統(tǒng)計信息輸出,,如處理器的能耗統(tǒng)計,、執(zhí)行時間和狀態(tài)轉(zhuǎn)換次數(shù)等。模擬器的應(yīng)用處理器采用QSD8250精簡指令集處理器,,低功耗處理器采用MSP430,。
3.2 性能評估
為了評價模擬器上任務(wù)劃分的性能優(yōu)化程度,實驗采用了活動識別和參考文獻[9]所提出的兩個具有代表性的方法進行試驗對比,?;顒幼R別包括兩個階段,第一階段為讀取加速計的采樣數(shù)據(jù)并將其存儲在緩沖中,,第二階段采用樸素貝葉斯方法對內(nèi)存中累積的數(shù)據(jù)進行分類,。SoundSense也是一種分類方法,其包括采樣,、FFT,、MFCC和貝葉斯分類4個階段。表2和3分別給出活動識別和SoundSense這兩種應(yīng)用的運行時間,。
運行時間分析:為了評價優(yōu)化算法的性能,,實驗分別在3種情況下實現(xiàn)了活動識別算法。第1種情況是兩個任務(wù)分別運行在應(yīng)用處理器上,,記為AP,;第2種情況是兩個任務(wù)分別運行在低功耗處理器上,記為LP,;第3種情況采用優(yōu)化算法將任務(wù)劃分在不同的處理器上,,記為LP-AP。圖2為活動識別算法在3種情況下的能量比例因子對比,。在活動識別應(yīng)用中,,隨著處理器頻率的增加,能量比例因子逐漸降低,,在4種處理器頻率下LP-AP的能量比例因子都是最小的并且與LP相接近,。此外,實驗測試了SoundSense算法下的能量比例因子效率,,結(jié)果如圖3所示,。在圖3中,橫軸表示SoundSense算法的不同階段運行在不同的處理器上,,縱軸為能量比例因子,,分別將前k(k=0,1,,2,,3,4)個節(jié)點遷移到LP上運行,。從圖中可以看出,,當k=2時,能量比例因子達到最小值,,此后能量比例因子的變化很小,。
4 結(jié)論
本文引入了低功耗處理器,,并提出了應(yīng)用程序在這兩個處理器上的任務(wù)劃分優(yōu)化方法。應(yīng)用處理器用于處理計算密集型任務(wù),,低功耗處理器用于周期性地感知外部環(huán)境的數(shù)據(jù),。模擬實驗表明,由于將感知任務(wù)遷移到低功耗處理器上運行,,本文提出的優(yōu)化方法能大大提高移動設(shè)備的能量利用效率,。
參考文獻
[1] 王玉祥,喬秀全,,李曉峰,,等.上下文感知的移動社交網(wǎng)絡(luò)服務(wù)選擇機制研究[J].計算機學(xué)報,2010,,33(11):2126-2135.
[2] LU H,,YANG J,LIU Z,,et al.The Jigsaw continuous sensing engine for mobile phone applications[C].Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems,,ACM,2010:71-84.
[3] BALAN R K,,GERGLE D,,SATYANARAYANAN M,et al.Simplifying cyber foraging for mobile devices[C].Proceedings of the 5th International Conference on Mobile systems,,Applications and Services,,ACM,2007:272-285.
[4] 安健,,桂小林,,張文東,等.物聯(lián)網(wǎng)移動感知中的社會關(guān)系認知模型[J].計算機學(xué)報,,2012,,35(6):1164-1174.
[5] RA M R,SHETH A,,MUMMERT L,,et al.Odessa:enabling interactive perception applications on mobile devices[C].Proceedings of the 9th International Conference on Mobile Systems,Applications and Services,,ACM,,2011:43-56.
[6] PRIYANTHA B,LYMBEROPOULOS D,,LIU J.Littlerock: Enabling energy-efficient continuous sensing on mobile phones[J].Pervasive Computing,,IEEE,2011,,10(2):12-15.
[7] CUERVO E,,BALASUBRAMANIAN A,,CHO D,et al.MAUI:making smartphones last longer with code offload[C].Proceedings of the 8th International Conference on Mobile Systems,,Applications and Services,,ACM,2010:49-62.
[8] GORACZKO M,,LIU J,LYMBEROPOULOS D,,et al.Energyoptimal software partitioning in heterogeneous multiprocessor embedded systems[C].Proceedings of the 45th Annual Design Automation Conference,,ACM,2008:191-196.
[9] NEWTON R,,TOLEDO S,,GIROD L,et al.Wishbone:Profile-based partitioning for sensornet applications[C].NSDI.2009,,9:395-408.