云环境下基于标记的移动应用划分方法

2015-05-27 13:17新,高
关键词:功能模块云端能耗

樊 新,高 曙

(武汉理工大学 计算机科学与技术学院,湖北 武汉430070)

随着通信技术和信息技术的快速发展,移动设备得到迅猛发展,各种免费的、付费的、有创意的、实用的移动应用产品如雨后春笋般涌现,如手机网络游戏、多媒体、微信等手机应用产品。面对用户无限增长的应用需求,移动设备有限的内存和电池容量正成为移动设备发展的瓶颈。为解决其资源受限,延长其续航时间,满足用户的应用需求,研究人员通常利用云计算,将应用进行划分并迁移到云端执行,从而扩展设备资源,节省其能耗[1-2]。移动应用划分模型如图1 所示。

图1 移动应用划分模型

目前,国内外对该问题的研究主要是利用云计算技术,其正成为解决移动设备资源受限最有效的途径。国内在移动设备资源受限领域的研究起步比较晚,主要是理论方面的研究,如伍宇[3]提出了一种自适应负载均衡模型。该模型根据移动设备应用程序上下文和远程服务器负载等信息,通过决策引擎决定移动应用任务执行的位置(本地或者远程服务器),以扩展移动设备资源,降低其能量消耗。章铁飞等[4]提出了一种节能算法,其核心思想是比较任务在不同执行方式下的能耗期望,采用其中能耗期望最小的方式执行任务。在应用方面,国内云存储发展迅速,百度、华为、腾讯等公司相继推出云存储,扩展了移动设备数据存储。

国外在这方面的研究比较深入,取得了可喜的成果。微软公司针对移动设备资源受限等问题,设计了MAUI 静态划分系统[5]。该系统实现了移动应用代码级别划分,较好地扩展了移动设备资源,节省了能耗,但是增加了开发人员的负担。张新文等提出了一种弹性应用划分模型Weblet[6]。该模型能够将应用划分成多个Weblet的构件,并且在运行时能够对Weblet 进行动态配置,不仅减轻了开发人员的负担,而且扩展了设备资源。但是其实现过程复杂,模型本身能量消耗比较大。在应用方面,主要有Amazon 的AWS、EC2、SDB 和S3;Google 的Google Storage、App Engine 和微软的Azure Plateform 等[7-8]。

综合现有相关研究成果,笔者采用基于标记的移动应用划分方法。该方法结合动态划分和静态划分的优点,充分考虑移动应用具体功能结构,事先对应用可迁移的模块进行标记,引入迁移能耗模型,动态决定应用标记模块执行位置(移动设备端执行或者云端执行)。该方法不仅应用划分简单、合理,而且只需编程人员事先对可转移模块进行标记,减轻了编程人员的开发负担,避免了划分算法复杂而导致其自身能耗过大的问题。同时能够根据网络实际环境,动态改变执行策略,最终达到扩展移动设备资源,节省其能耗的目的。

1 移动应用划分方法

1.1 转移能耗模型

针对移动设备资源受限、能力有限,一些密集型应用程序仅依靠移动设备无法满足用户应用需求或者根本无法运行的情况,可以将一个应用程序看成是一个由多个功能模块组成的有向图(V,E),移动应用功能模块有向图如图2 所示。图2中每个顶点表示应用程序的一个功能模块,顶点的权重表示每个模块在移动设备端的执行时间;每个边表示各功能模块之间的联系,每条边的权重表示两个顶点间的信息交互量。应用程序划分执行能耗由本地执行能耗和网络数据传输能耗两部分组成,如式(1)所示。

图2 移动应用功能模块有向图

式中:Pc为移动设备CPU 运行单位时间内消耗的能量;Tc(v)为移动应用模块在移动端运行的时间。

由于手机信号网络和WiFi 网络几乎时刻都在变化,为了便于研究,假设单位时间内网络状态是稳定的。如果数据传输时间很短,则假设显然成立;长时间的数据传输过程也可以被划分成多个短时间的数据传输过程,因此这样的假设是合理的,在该前提下,无线数据传输能耗公式如下:

式中:M(vl,vs)为两模块之间网络传输数据量;k为某时刻无线网络的传输速率;Pwifi为无线网络单位时间内消耗的能量。

由式(1)~式(3)可知,移动应用中每个标记功能模块执行的位置与当前无线网络传输质量和云端执行时间密切有关。当无线网络传输质量高、云端服务器应用响应时间快时,应将应用中标记模块转移到云端执行;否则,移动应用标记模块应保留在本地客户端执行。当应用模块在移动设备端执行时,移动设备所需消耗的能量等于其模块处理消耗的能量;当应用模块在云端执行时,移动设备所需消耗的能量等于其模块与客户端数据传输消耗的能量。移动应用划分节省能耗的计算公式如下:

式中:Eclient为移动应用中可转移模块在客户端执行移动设备所需消耗的能量;Eoffload为移动应用中可转移模块在云端执行移动设备所需消耗的能量。如果Esave>0,则移动应用中该可转移模块应转移到云端执行,如果Esave<0,则移动应用中该可转移模块应保留在移动设备端执行。

1.2 基于标记的移动应用划分方法

移动应用划分系统利用云计算丰富的资源和强大的信息处理能力,通过无线网络,将移动设备端高能耗或密集型计算任务转移到云端执行,从而达到扩展移动设备资源,节省其能耗的目的。为了更加具体地说明基于标记的移动应用划分方法,笔者采用移动对象位置预测系统作为研究对象来具体说明其设计思路。移动对象位置预测主要通过客户端收集用户位置信息,通过对位置信息进行分析处理,预测用户未来运动趋势[9-10]。获知用户运动趋势,可以根据用户未来运动趋势推荐用户感兴趣的相关服务。移动对象位置预测由收集用户位置信息、用户位置信息预处理、用户位置信息处理预测和显示用户位置信息预测结果4 个功能模块组成。移动对象位置预测系统功能流程如图3 所示。

移动对象位置预测系统中的收集用户位置信息和显示用户位置信息预测结果这两个功能模块与移动设备联系紧密,必须在移动设备端执行。而用户位置信息预处理和用户位置信息处理预测模块同移动设备联系不大,同时这两个功能模块信息分析处理工作量巨大,编程人员事先应该将这两个可转移的模块进行标记。根据转移能耗模型,结合用户当前网络质量,决定标记模块执行的位置,从而达到扩展设备资源,节省其能耗的目的。划分流程如下:

(1)详细分析移动应用功能模块并按照功能模块对应用进行划分,找出其中与本地客户端联系不大并且能耗高、计算密集型的功能模块,将这些可转移模块进行标记。

(2)在移动应用使用过程中,收集用户上下文信息,例如无线网络网速、无线网络信号强度和应用请求相应时间等信息。当应用请求到来时,根据客户端上下文信息,结合转移能耗模型,决定标记模块执行位置(本地客户端执行或云端服务器执行)。

(3)云端服务器执行完应用请求后,通过无线网络,将处理的应用结果返回本地客户端显示。

图3 移动对象位置预测系统功能流程图

2 实验验证与结果分析

2.1 实验环境

硬件环境:移动设备为华为525 Android 智能手机;硬件参数为四核CPU,频率为1 228 MHz;电池容量为1 700 mAh,支持WCDMA、3G 和WiFi,内存1 G;操作系统为Android OS4.1。服务器端硬件环境:Intel Core i3 CUP 2.53 GHz,内存4 G;服务器为Think E40 笔记本电脑,内存4 G,硬盘250 G,操作系统为ubuntu linux12.04。

软件环境:Eclipse 集成开发环境,Android SDK,JDK1.7,HBase 数据库,Hadoop 伪分布式处理环境。

能耗测试工具:为了测量智能手机能量消耗情况,使用智能手机电量测量软件PowerTutor。PowerTutor 可以实时显示智能手机各软件和硬件电量消耗水平,包括LCD、CPU、3G、WiFi 的电量消耗,系统开发环境如表1 所示。

表1 系统开发环境

2.2 实验结果分析

笔者设计对比实验,其中一组是基于标记的移动应用划分预测系统,另一组是未进行划分的预测系统,分别部署到在校学生智能手机上。通过对此反复测验,记录两组系统时间运行结果,包括系统执行时间和系统能量消耗情况等信息。为了减少测量的误差,采用多次测量实验取平均值的办法记录实验数据,移动用户位置预测系统测试记录数据如表2 所示。

表2 移动用户位置预测系统测试记录数据

如表2 所示,设计4 组对比实验,用户轨迹量分别为1 000 条、2 500 条、4 000 条和5 500 条,记录4 组部署了未划分预测系统和应用划分预测系统的实际运行情况。实验发现未划分预测系统随着用户轨迹信息量的增大,其运行的质量急剧下降,能量消耗急剧上升;而应用划分预测系统执行效果良好、稳定,其能量消耗少且稳定。其中在系统运行性能方面,应用划分预测系统比未划分预测系统运行时间更短,执行质量更高;在系统能量消耗方面,应用划分预测系统比未划分预测系统分别节省能耗12%、25%、79%和89%。应用划分与未划分系统执行时间和能耗对比如图4 和图5 所示。

由图4 和图5 可知,由于移动设备是资源受限的设备,需要处理的轨迹信息随着用户轨迹量的增长迅速膨胀,未划分预测系统的运作质量越来越差,能耗越来越高,甚至无法运行。而应用划分预测系统利用云计算丰富的资源,将资源密集型和高能耗的标记模块转移到云端执行,使系统运行状态良好、稳定,扩展了移动设备资源、节省了其能耗。通过对比实验结果,充分验证了基于标记的移动应用划分方法的节能效果和实用性。

图4 应用划分与未划分系统执行时间对比图

图5 应用划分与未划分系统能耗对比图

3 结论

笔者提出了基于标记的移动应用划分方法,根据移动应用功能结构,事先对其进行划分,将可转移的功能模块进行标记。收集用户当前上下文信息,结合转移能耗模型,决定标记功能模块执行位置(云端执行或本地移动设备端执行)。云端任务执行完成后,通过无线网络将运行结果返回移动设备端,从而实现扩展移动设备资源,节省其能耗的目的。

[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]伍宇.移动计算中自适应负载转移决策模型研究[D].上海:复旦大学图书馆,2012.

[4]章铁飞,陈天洲.基于移动设备云迁移的节能决策算法[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.

猜你喜欢
功能模块云端能耗
120t转炉降低工序能耗生产实践
四海心连·云端汇聚
能耗双控下,涨价潮再度来袭!
探讨如何设计零能耗住宅
云端之城
日本先进的“零能耗住宅”
云端创意
基于ASP.NET标准的采购管理系统研究
输电线路附着物测算系统测算功能模块的研究
在云端