文獻標識碼: A
文章編號: 0258-7998(2014)10-0138-04
0 引言
移動電話的普適性、便攜性以及連通性使得它們成為連續感知應用的理想平臺。移動電話含有多種傳感器,可以在連續感知任務中感知用戶不同類型的上下文[1]。移動電話采用電池供電,電池的容量決定著移動電話的使用時間。在連續移動感知應用中,如何節約電量的消耗從而提高連續感知應用的時間是最具研究挑戰的內容之一[2-3]。
為了解決上述問題,研究人員提出在平臺中加入低功耗處理器,用于控制移動設備的傳感器。TI OMAP[4]平臺中除了含有應用處理器內核,還包含芯片級的低功耗處理器內核。其基本原則是:低功耗處理器在活躍狀態消耗很小的能量,并且從睡眠狀態到活躍狀態的喚醒開銷幾乎可以忽略不計,因此可以有效率地執行重復的感知任務。在感知任務中,應用處理器處于睡眠模式,低功耗處理器感知傳感器的數據并在進行計算密集型任務時喚醒應用處理器。
Reflex平臺[5]為用戶在多處理器移動平臺上提供了一種簡單的編程體驗。該平臺通過共享內存技術將復雜的底層開發問題集成到低功耗處理器中,程序員可以使用標準的程序開發技術來設計應用。X等人提出了一種概念驗證原型系統LittleRock[6],該系統強調了低功耗處理器在任務劃分中的有效性。區別于上述兩種方法,本文針對連續的感知應用提出了一種任務劃分指導方法以及適當的運行環境設計原則。本文提出的方法可以在上述兩個平臺中實現,是對這兩個平臺的補充。為了將工作負載劃分到異構的平臺上,CUERVO E等人[7]和GORACAKO M等人[8]提出了基于整數線性規劃的任務劃分方法。前者研究任務在移動設備與云平臺之間的劃分,后者研究任務在兩個處理器之間的劃分。區別于上述兩個工作,本文采用基于模擬的方法以得到更接近真實值的準確結果。
本文從能量有效的角度研究如何在應用處理器和低功耗處理器上進行任務的劃分,對任務劃分期間跨不同處理器的能源消耗和傳輸開銷進行了量化,提出了一種應用組件分析方法,并基于該方法對組件進行最有效的劃分。
1 能量消耗比例
在理想平臺中,當應用程序的執行存在間隙時,系統進入休眠狀態。然而在真實平臺中,系統是否進入休眠狀態取決于程序的運行間隙是否大于系統狀態轉換所需的時間[2,8]。給定P和A,為了量化真實能耗與理想能耗之間的差異,本文定義能量比例因子為:
2 處理器的能量消耗優化
2.1 假設前提
為了簡化問題的分析,本文做如下假設:(1)假設感知應用通過傳感器對數據進行抽樣,并周期性的運行。(2)假設那些對輸入數據進行計算的特殊任務片段的運行時間是常數,并不依賴于輸入數據。實際上,一些特殊的輸入數據,如全0輸入,可能會簡化計算,從而加快任務片段的運行,此處假設這種差別并不顯著。(3)假設兩個處理器間的通信開銷相對于執行時間和采樣周期可以忽略不計。在大多數處理器平臺中,應用處理器和低功耗處理器在同一芯片中,因此通信開銷很低。此外,即使應用處理器和低功耗處理器在不同的芯片中,也可以通過高速總線互聯,從而大大降低它們之間的通信開銷。(4)由于將感知負載轉移到低功耗處理器上,本文假設低功耗處理器的休眠與活躍狀態之間的狀態轉換開銷和休眠時的空閑能耗相對于其他能耗可以忽略不計。(5)假設所有的任務片段在這兩個處理器上都是可調度的。這意味著通過將任務片段劃分在不同的處理器上,可以降低應用程序總的運行時間。
由于傳感器的數據是連續的,而處理器處理的數據往往是離散的,采樣方法作為基本的傳感器數據處理方法不僅能很好地描述傳感器數據,還可以大大壓縮數據總量,因此假設(1)是合理的。假設(2)、(3)和(4)對問題的分析進行了簡化,該假設會對分析結果產生微小的誤差,在對系統的整體性能進行評估時,這些誤差可以忽略不計。通過對應用程序的任務進行分配,可以使任務在不同的處理器間進行調度,因此假設(5)是合理的。
2.2 總的能量消耗
本文采用的符號的含義如表1所示。令應用程序的調用包含N個任務片段,并且部分任務片段可能重復多次運行,該應用程序的每個周期的持續時間為d。令M表示應用處理器,那么應用程序的理想能耗為:
事實上,應用處理器的狀態轉換能耗和休眠能耗并不能忽略不計,于是真實能耗為:
其中Etrans·K表示處理器模式轉換的能耗。由于周期d遠遠大于應用程序運行時總共的模式轉換時間,因此本文忽略了處理器狀態的轉換時間。
當平臺中含有M和L兩個處理器時,應用程序可以按照比例被分割為若干個連續的活躍能耗和模式轉換能耗,于是能耗為:
由于將部分任務轉移到L上運行,因此M上的模式轉換次數K′與K不同。對比EMulti與EM,由于EMulti將部分任務轉移到低功耗處理器L上運行,M上的模式轉換次數K′減小了,因此式(1)定義的能量消耗比例減小了。
2.3 任務片段劃分
為了確定最優的能量比例因子,本文應用了移動連續感知應用的一些典型的特征。在這些應用中,每個任務片段的輸出率會隨著計算管道明顯的降低。例如,采樣和緩沖任務片段在100 Hz頻率下采集和緩沖傳感器的采樣數據,而對緩沖數據進行分類的操作會在更低的頻率(如1 Hz)下工作。此外,管道開始的任務片段是輕量級的,往往進行簡單的數據緩沖和過濾,而管道的后續任務片段往往是計算密集的。
在確定任務片段的處理器時,由于任務是可調度的,其唯一決定因素為兩個處理器之間的相對能量消耗比例差異。如果i被劃分到L上時,其能量消耗比例相對于M減少了,那么將任務片段i劃分到L上。相對能量消耗比例差異Δi依賴于任務片段i的劃分,其計算方法為:
應用式(6)可以得到一條曲線,曲線的橫坐標為縱坐標為si。當坐標點落到曲線的右上方時,該任務在應用處理器上運行;當坐標點落到曲線的左下方時,該任務在低功耗處理器上運行。
3 實驗設計與結果分析
3.1 模擬器設計
本文分析多個應用程序下所有應用的計算時間、模式轉換次數以及程序的喚醒時間。為了對程序的性能更好地進行描述,進行細粒度的時間分析。圖1為實驗采用的模擬器的整體結構。本文采用基于事件的模擬器設計方法,采用3個輸入文件。第一個輸入文件包含系統的配置參數,如兩個處理器的在每種狀態下的能耗參數、CPU的運行頻率、任務的調度策略以及狀態轉換能耗;第二個輸入文件為應用程序配置文件,該文件描述應用程序的任務片段劃分和連接結構;最后一個輸入文件為多個應用程序的跟蹤數據。模擬器計算出應用程序的整個執行路徑,并將相關的統計信息輸出,如處理器的能耗統計、執行時間和狀態轉換次數等。模擬器的應用處理器采用QSD8250精簡指令集處理器,低功耗處理器采用MSP430。
3.2 性能評估
為了評價模擬器上任務劃分的性能優化程度,實驗采用了活動識別和參考文獻[9]所提出的兩個具有代表性的方法進行試驗對比。活動識別包括兩個階段,第一階段為讀取加速計的采樣數據并將其存儲在緩沖中,第二階段采用樸素貝葉斯方法對內存中累積的數據進行分類。SoundSense也是一種分類方法,其包括采樣、FFT、MFCC和貝葉斯分類4個階段。表2和3分別給出活動識別和SoundSense這兩種應用的運行時間。
運行時間分析:為了評價優化算法的性能,實驗分別在3種情況下實現了活動識別算法。第1種情況是兩個任務分別運行在應用處理器上,記為AP;第2種情況是兩個任務分別運行在低功耗處理器上,記為LP;第3種情況采用優化算法將任務劃分在不同的處理器上,記為LP-AP。圖2為活動識別算法在3種情況下的能量比例因子對比。在活動識別應用中,隨著處理器頻率的增加,能量比例因子逐漸降低,在4種處理器頻率下LP-AP的能量比例因子都是最小的并且與LP相接近。此外,實驗測試了SoundSense算法下的能量比例因子效率,結果如圖3所示。在圖3中,橫軸表示SoundSense算法的不同階段運行在不同的處理器上,縱軸為能量比例因子,分別將前k(k=0,1,2,3,4)個節點遷移到LP上運行。從圖中可以看出,當k=2時,能量比例因子達到最小值,此后能量比例因子的變化很小。
4 結論
本文引入了低功耗處理器,并提出了應用程序在這兩個處理器上的任務劃分優化方法。應用處理器用于處理計算密集型任務,低功耗處理器用于周期性地感知外部環境的數據。模擬實驗表明,由于將感知任務遷移到低功耗處理器上運行,本文提出的優化方法能大大提高移動設備的能量利用效率。
參考文獻
[1] 王玉祥,喬秀全,李曉峰,等.上下文感知的移動社交網絡服務選擇機制研究[J].計算機學報,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] 安健,桂小林,張文東,等.物聯網移動感知中的社會關系認知模型[J].計算機學報,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.