樊 新,高 曙
(武漢理工大學 計算機科學與技術學院,湖北 武漢430070)
隨著通信技術和信息技術的快速發(fā)展,移動設備得到迅猛發(fā)展,各種免費的、付費的、有創(chuàng)意的、實用的移動應用產(chǎn)品如雨后春筍般涌現(xiàn),如手機網(wǎng)絡游戲、多媒體、微信等手機應用產(chǎn)品。面對用戶無限增長的應用需求,移動設備有限的內(nèi)存和電池容量正成為移動設備發(fā)展的瓶頸。為解決其資源受限,延長其續(xù)航時間,滿足用戶的應用需求,研究人員通常利用云計算,將應用進行劃分并遷移到云端執(zhí)行,從而擴展設備資源,節(jié)省其能耗[1-2]。移動應用劃分模型如圖1 所示。
圖1 移動應用劃分模型
目前,國內(nèi)外對該問題的研究主要是利用云計算技術,其正成為解決移動設備資源受限最有效的途徑。國內(nèi)在移動設備資源受限領域的研究起步比較晚,主要是理論方面的研究,如伍宇[3]提出了一種自適應負載均衡模型。該模型根據(jù)移動設備應用程序上下文和遠程服務器負載等信息,通過決策引擎決定移動應用任務執(zhí)行的位置(本地或者遠程服務器),以擴展移動設備資源,降低其能量消耗。章鐵飛等[4]提出了一種節(jié)能算法,其核心思想是比較任務在不同執(zhí)行方式下的能耗期望,采用其中能耗期望最小的方式執(zhí)行任務。在應用方面,國內(nèi)云存儲發(fā)展迅速,百度、華為、騰訊等公司相繼推出云存儲,擴展了移動設備數(shù)據(jù)存儲。
國外在這方面的研究比較深入,取得了可喜的成果。微軟公司針對移動設備資源受限等問題,設計了MAUI 靜態(tài)劃分系統(tǒng)[5]。該系統(tǒng)實現(xiàn)了移動應用代碼級別劃分,較好地擴展了移動設備資源,節(jié)省了能耗,但是增加了開發(fā)人員的負擔。張新文等提出了一種彈性應用劃分模型Weblet[6]。該模型能夠?qū)脛澐殖啥鄠€Weblet的構件,并且在運行時能夠?qū)eblet 進行動態(tài)配置,不僅減輕了開發(fā)人員的負擔,而且擴展了設備資源。但是其實現(xiàn)過程復雜,模型本身能量消耗比較大。在應用方面,主要有Amazon 的AWS、EC2、SDB 和S3;Google 的Google Storage、App Engine 和微軟的Azure Plateform 等[7-8]。
綜合現(xiàn)有相關研究成果,筆者采用基于標記的移動應用劃分方法。該方法結合動態(tài)劃分和靜態(tài)劃分的優(yōu)點,充分考慮移動應用具體功能結構,事先對應用可遷移的模塊進行標記,引入遷移能耗模型,動態(tài)決定應用標記模塊執(zhí)行位置(移動設備端執(zhí)行或者云端執(zhí)行)。該方法不僅應用劃分簡單、合理,而且只需編程人員事先對可轉(zhuǎn)移模塊進行標記,減輕了編程人員的開發(fā)負擔,避免了劃分算法復雜而導致其自身能耗過大的問題。同時能夠根據(jù)網(wǎng)絡實際環(huán)境,動態(tài)改變執(zhí)行策略,最終達到擴展移動設備資源,節(jié)省其能耗的目的。
針對移動設備資源受限、能力有限,一些密集型應用程序僅依靠移動設備無法滿足用戶應用需求或者根本無法運行的情況,可以將一個應用程序看成是一個由多個功能模塊組成的有向圖(V,E),移動應用功能模塊有向圖如圖2 所示。圖2中每個頂點表示應用程序的一個功能模塊,頂點的權重表示每個模塊在移動設備端的執(zhí)行時間;每個邊表示各功能模塊之間的聯(lián)系,每條邊的權重表示兩個頂點間的信息交互量。應用程序劃分執(zhí)行能耗由本地執(zhí)行能耗和網(wǎng)絡數(shù)據(jù)傳輸能耗兩部分組成,如式(1)所示。
圖2 移動應用功能模塊有向圖
式中:Pc為移動設備CPU 運行單位時間內(nèi)消耗的能量;Tc(v)為移動應用模塊在移動端運行的時間。
由于手機信號網(wǎng)絡和WiFi 網(wǎng)絡幾乎時刻都在變化,為了便于研究,假設單位時間內(nèi)網(wǎng)絡狀態(tài)是穩(wěn)定的。如果數(shù)據(jù)傳輸時間很短,則假設顯然成立;長時間的數(shù)據(jù)傳輸過程也可以被劃分成多個短時間的數(shù)據(jù)傳輸過程,因此這樣的假設是合理的,在該前提下,無線數(shù)據(jù)傳輸能耗公式如下:
式中:M(vl,vs)為兩模塊之間網(wǎng)絡傳輸數(shù)據(jù)量;k為某時刻無線網(wǎng)絡的傳輸速率;Pwifi為無線網(wǎng)絡單位時間內(nèi)消耗的能量。
由式(1)~式(3)可知,移動應用中每個標記功能模塊執(zhí)行的位置與當前無線網(wǎng)絡傳輸質(zhì)量和云端執(zhí)行時間密切有關。當無線網(wǎng)絡傳輸質(zhì)量高、云端服務器應用響應時間快時,應將應用中標記模塊轉(zhuǎn)移到云端執(zhí)行;否則,移動應用標記模塊應保留在本地客戶端執(zhí)行。當應用模塊在移動設備端執(zhí)行時,移動設備所需消耗的能量等于其模塊處理消耗的能量;當應用模塊在云端執(zhí)行時,移動設備所需消耗的能量等于其模塊與客戶端數(shù)據(jù)傳輸消耗的能量。移動應用劃分節(jié)省能耗的計算公式如下:
式中:Eclient為移動應用中可轉(zhuǎn)移模塊在客戶端執(zhí)行移動設備所需消耗的能量;Eoffload為移動應用中可轉(zhuǎn)移模塊在云端執(zhí)行移動設備所需消耗的能量。如果Esave>0,則移動應用中該可轉(zhuǎn)移模塊應轉(zhuǎn)移到云端執(zhí)行,如果Esave<0,則移動應用中該可轉(zhuǎn)移模塊應保留在移動設備端執(zhí)行。
移動應用劃分系統(tǒng)利用云計算豐富的資源和強大的信息處理能力,通過無線網(wǎng)絡,將移動設備端高能耗或密集型計算任務轉(zhuǎn)移到云端執(zhí)行,從而達到擴展移動設備資源,節(jié)省其能耗的目的。為了更加具體地說明基于標記的移動應用劃分方法,筆者采用移動對象位置預測系統(tǒng)作為研究對象來具體說明其設計思路。移動對象位置預測主要通過客戶端收集用戶位置信息,通過對位置信息進行分析處理,預測用戶未來運動趨勢[9-10]。獲知用戶運動趨勢,可以根據(jù)用戶未來運動趨勢推薦用戶感興趣的相關服務。移動對象位置預測由收集用戶位置信息、用戶位置信息預處理、用戶位置信息處理預測和顯示用戶位置信息預測結果4 個功能模塊組成。移動對象位置預測系統(tǒng)功能流程如圖3 所示。
移動對象位置預測系統(tǒng)中的收集用戶位置信息和顯示用戶位置信息預測結果這兩個功能模塊與移動設備聯(lián)系緊密,必須在移動設備端執(zhí)行。而用戶位置信息預處理和用戶位置信息處理預測模塊同移動設備聯(lián)系不大,同時這兩個功能模塊信息分析處理工作量巨大,編程人員事先應該將這兩個可轉(zhuǎn)移的模塊進行標記。根據(jù)轉(zhuǎn)移能耗模型,結合用戶當前網(wǎng)絡質(zhì)量,決定標記模塊執(zhí)行的位置,從而達到擴展設備資源,節(jié)省其能耗的目的。劃分流程如下:
(1)詳細分析移動應用功能模塊并按照功能模塊對應用進行劃分,找出其中與本地客戶端聯(lián)系不大并且能耗高、計算密集型的功能模塊,將這些可轉(zhuǎn)移模塊進行標記。
(2)在移動應用使用過程中,收集用戶上下文信息,例如無線網(wǎng)絡網(wǎng)速、無線網(wǎng)絡信號強度和應用請求相應時間等信息。當應用請求到來時,根據(jù)客戶端上下文信息,結合轉(zhuǎn)移能耗模型,決定標記模塊執(zhí)行位置(本地客戶端執(zhí)行或云端服務器執(zhí)行)。
(3)云端服務器執(zhí)行完應用請求后,通過無線網(wǎng)絡,將處理的應用結果返回本地客戶端顯示。
圖3 移動對象位置預測系統(tǒng)功能流程圖
硬件環(huán)境:移動設備為華為525 Android 智能手機;硬件參數(shù)為四核CPU,頻率為1 228 MHz;電池容量為1 700 mAh,支持WCDMA、3G 和WiFi,內(nèi)存1 G;操作系統(tǒng)為Android OS4.1。服務器端硬件環(huán)境:Intel Core i3 CUP 2.53 GHz,內(nèi)存4 G;服務器為Think E40 筆記本電腦,內(nèi)存4 G,硬盤250 G,操作系統(tǒng)為ubuntu linux12.04。
軟件環(huán)境:Eclipse 集成開發(fā)環(huán)境,Android SDK,JDK1.7,HBase 數(shù)據(jù)庫,Hadoop 偽分布式處理環(huán)境。
能耗測試工具:為了測量智能手機能量消耗情況,使用智能手機電量測量軟件PowerTutor。PowerTutor 可以實時顯示智能手機各軟件和硬件電量消耗水平,包括LCD、CPU、3G、WiFi 的電量消耗,系統(tǒng)開發(fā)環(huán)境如表1 所示。
表1 系統(tǒng)開發(fā)環(huán)境
筆者設計對比實驗,其中一組是基于標記的移動應用劃分預測系統(tǒng),另一組是未進行劃分的預測系統(tǒng),分別部署到在校學生智能手機上。通過對此反復測驗,記錄兩組系統(tǒng)時間運行結果,包括系統(tǒng)執(zhí)行時間和系統(tǒng)能量消耗情況等信息。為了減少測量的誤差,采用多次測量實驗取平均值的辦法記錄實驗數(shù)據(jù),移動用戶位置預測系統(tǒng)測試記錄數(shù)據(jù)如表2 所示。
表2 移動用戶位置預測系統(tǒng)測試記錄數(shù)據(jù)
如表2 所示,設計4 組對比實驗,用戶軌跡量分別為1 000 條、2 500 條、4 000 條和5 500 條,記錄4 組部署了未劃分預測系統(tǒng)和應用劃分預測系統(tǒng)的實際運行情況。實驗發(fā)現(xiàn)未劃分預測系統(tǒng)隨著用戶軌跡信息量的增大,其運行的質(zhì)量急劇下降,能量消耗急劇上升;而應用劃分預測系統(tǒng)執(zhí)行效果良好、穩(wěn)定,其能量消耗少且穩(wěn)定。其中在系統(tǒng)運行性能方面,應用劃分預測系統(tǒng)比未劃分預測系統(tǒng)運行時間更短,執(zhí)行質(zhì)量更高;在系統(tǒng)能量消耗方面,應用劃分預測系統(tǒng)比未劃分預測系統(tǒng)分別節(jié)省能耗12%、25%、79%和89%。應用劃分與未劃分系統(tǒng)執(zhí)行時間和能耗對比如圖4 和圖5 所示。
由圖4 和圖5 可知,由于移動設備是資源受限的設備,需要處理的軌跡信息隨著用戶軌跡量的增長迅速膨脹,未劃分預測系統(tǒng)的運作質(zhì)量越來越差,能耗越來越高,甚至無法運行。而應用劃分預測系統(tǒng)利用云計算豐富的資源,將資源密集型和高能耗的標記模塊轉(zhuǎn)移到云端執(zhí)行,使系統(tǒng)運行狀態(tài)良好、穩(wěn)定,擴展了移動設備資源、節(jié)省了其能耗。通過對比實驗結果,充分驗證了基于標記的移動應用劃分方法的節(jié)能效果和實用性。
圖4 應用劃分與未劃分系統(tǒng)執(zhí)行時間對比圖
圖5 應用劃分與未劃分系統(tǒng)能耗對比圖
筆者提出了基于標記的移動應用劃分方法,根據(jù)移動應用功能結構,事先對其進行劃分,將可轉(zhuǎn)移的功能模塊進行標記。收集用戶當前上下文信息,結合轉(zhuǎn)移能耗模型,決定標記功能模塊執(zhí)行位置(云端執(zhí)行或本地移動設備端執(zhí)行)。云端任務執(zhí)行完成后,通過無線網(wǎng)絡將運行結果返回移動設備端,從而實現(xiàn)擴展移動設備資源,節(jié)省其能耗的目的。
[1]MIETTINEN A P,NURMINEN J K. Energy efficiency of mobile clients in cloud computing[C]∥Proceedings of the 2nd USENIX Conference on Hot Topics in Cloud Computing. [S.l.]:USENIX Association,2010:4-14.
[2]KOVACHEV D,YU T,KLAMMA R. Adaptive computation offloading from mobile devices into the cloud[C]∥2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications(ISPA).[S.l.]:IEEE,2012:784 -791.
[3]伍宇.移動計算中自適應負載轉(zhuǎn)移決策模型研究[D].上海:復旦大學圖書館,2012.
[4]章鐵飛,陳天洲.基于移動設備云遷移的節(jié)能決策算法[J].中國科學:信息科學,2012,42(3):333-342.
[5]CUERVO E,BALASUBRAMANIAN A,CHO D,et al.MAUI:making smartphones last longer with code offload[C]∥The 8th International Conference on Mobile Systems,Applications,and Services. [S.l.]:ACM,2010:49-62.
[6]ZHANG X W,KUNJITHAPATHAM A,JEONG S,et al.Towards an elastic application model for augmenting the computing capabilities of mobile devices with cloud computing[J]. Mobile Networks and Applications,2011,16(3):270 -284.
[7]CONDIE T,CONVAY N,ALVARO P,et al. MapReduce online[C]∥NSDI. [S.l.]:[s.n.],2010:20-35.
[8]DEAN J,GHEMAWAT S. MapReduce:a flexible data processing tool[J]. Communications of the ACM,2010,53(1):72 -77.
[9]GAO H,TANG J,LIU H. Mobile location prediction in spatio-temporal context[C]//Nokia Mobile Data Challenge Workshop. [S.l.]:[s.n.],2012:1543-1550.
[10]YAVAS G,KATSAROS D,ULUSOY ?,et al. A data mining approach for location prediction in mobile environments[J]. Data & Knowledge Engineering,2005,54(2):121 -146.