移动云计算中分布式计算卸载框架的研究
2015-12-26杨彬
摘要:随着移动应用的爆炸式增长和云计算概念的兴起,移动云计算已经被认为是移动服务的潜在重要技术。移动云计算中的计算卸载可以提高程序性能和减少移动终端能耗。本文对现有的计算卸载框架进行分析,提出了一种基于移动云计算的轻量级分布式计算卸载框架(DCOF),实验结果表明:DCOF消除了在运行时应用拆分和组件迁移的开销,降低了数据传输的数量,减少了能源消耗成本和缩短了周转时间。
关键词:移动云计算(MCC);计算卸载;分布式计算卸载框架(DCOF)
中图分类号:TP393.0
文献标识码:A
DOI:10.3969/j.issn.1003-6970.2015.06.024
本文著录格式:杨彬,移动云计算中分布式计算卸载框架的研究叩,软件,2015,36(6):129-133
AStudyoftheDistributedComputingOffloadingFrameworkBasedontheMobileCloudComputing
YANGBin
[Abstract]:WiththeemergingofthecloudcomputingconceptandtheexplosivegrowthofmobileApps,mobilecloudcomputinghasbeenregardedasapotentiallyimportanttechnologyformobileservices.Thecomputationaloffloadingisatechnologythatcanimprovetheperformanceandreducetheenergyconsumptionofthemobileterminals.Thispaperanalyzestheexistingcomputationaloffloadingframeworksandproposesalightweightdistributedcomputationalof-floadingframeworkinmobilecloudcomputing.TheexperimentalresultsshowthatDCOFeliminatestheoverheadatruntimeapplicationpartitioningandcomponentmigrationreducesthesizeofdatatransmissionandtheenergycon-sumptioncostandshortenstheturnaroundtime.
[Keywords]:Mobilecloudcomputing;Computationaloffloading;Distributedframeworkforcomputationaloffloading
0引言
云计算技术是围绕数据处理能力展开的一种计算模式,里面含有多种ICT技术,可以说是由传统的计算机技术顺应演变而成的[1]。云计算提供用户对云数据中心服务和资源的按需访问,提高资源受限的客户端设备的计算能力,为不同的计算服务要求提供不同的服务模型。随着智能移动设备(SMD)的日益普及和无线宽带的快速发展,这促使移动云计算(MCC)向形式更加丰富、应用更加广泛、功能更加强大的方向演进,给移动互联网带来了巨大的发展空间[3]。因此,最近对SMD的移动应用程序,提出了许多计算卸载框架。
传统的计算卸载框架采用应用程序拆分和组件迁移到云计算的方法。这样的框架,在移动应用程序访问云计算的应用程序处理服务时,导致较高的数据传输成本,高能源消耗和更长的周转时间。本文提出了一种基于移动云计算的轻量级分布式计算卸载框架(DCOF)。DCOF采用分布式方法配置移动设备和云服务器节点之间的移动应用程序。它消除了在运行时应用拆分和组件迁移的开销,降低了数据传输的数量,减少了能源消耗成本和缩短了周转时间。
1移动云计算中的计算卸载
将大规模数据处理任务分成很多细粒度的子任务,分布式地在多个计算节点上进行处理和计算,从而在云计算环境下获得对大规模数据的处理能力[3]。计算卸载一般是指将计算量大的任务合理分配给计算资源充足的代理服务器进行处理,再把运算完成的计算结果从代理服务器取回[4]。近几年来,基于应用程序卸载框架的云服务器被引入,将移动应用程序的计算组件转到云数据中心[5]。MCC的卸载框架采用静态或动态应用程序拆分机制。静态应用程序拆区机制涉及在SMD和云服务器节点之间单次应用程序拆分分配工作量。静态应用程序划分是计算负载分布的最简单机制;然而,它缺乏应对SMD的动态处理负载能力。动态应用程序拆分机制包含运行时分析机制确定应用程序的组件需要卸载到哪个云服务器节点。动态应用程序拆分是SMD动态处理负载的技术,当前动态拆分方法分析SMD的资源消耗,移动应用程序的计算需求和运行时寻找SMD资源限制的解决方案。
虚拟化技术的使用,使得云计算系统出现大量的虚拟资源池和拥有超强的计算能力[6],许多计算卸载框架采用虚拟机(VM)迁移的方法,移动应用程序的运行实例被封闭在虚拟机的映像中。它包括VM实例的创建,VM实例中运行的移动应用程序的封装和VM映像在无线介质上到远程服务器节点的传输。然而,基于计算卸载的VM迁移需要额外的计算资源,为虚拟机部署和管理,以及虚拟机实例迁移到远程服务器节点。因此,应用程序的执行成本和周转时间增加。此外,运行的应用程序及其数据容易出现安全漏洞,以致受到攻击。
计算卸载将分为三个阶段:初始化,计算卸载和远程应用程序执行。
(1)在初始化阶段,传感器模块收集相关的信息报告,寻找云服务器节点上的可用服务。此外,应用程序安全级别和QoS需求等特点也收集。在此阶段收集到的信息用于卸载机制。
(2)计算卸载过程涉及确定应用程序拆分和卸载的应用程序,用户身份验证和授权,在移动设备和云服务器上VM实例的创建,VM实例的迁移,QoS参数协商和资源预订。
(3)一旦授权应用程序配置完成,远程虚拟设备实例的应用程序恢复运行状态,并且在远程服务器节点上执行应用程序。
现有框架[7-9]使用应用程序拆分和组件迁移计算卸载到云服务器节点。移动应用程序以不同的粒度级别进行拆分,并且密集型的应用程序分区在运行时计算卸载迁移。运行时应用程序拆分和组件迁移机制导敢应用程序周转时间长和数据传输规模大。计算卸载运行时间开销包括参数收集时间(Tps),应用程序的二进制代码卸载时间(Tcm),移动应用程序上传数据到远程服务器节点的时间(Tpu),应用程序下载云服务器节点上远程虚拟设备实例的时间(Tdv),应用程序在远程服务器节点上重新配置和恢复时间(Trr),远程应用程序执行时间(Tre)和返回结果数据文件到当地移动设备的时间(Tpr)。因此,移动应用程序单个组件运行时的周转时间卸载方程(1)。
TT=Tps+Tcm+Tpu+Tdv+Trr+Tre+Tpr
(1)
执行计算卸载时传输数据的大小(DS)包括迁移的应用程序二进制文件的大小(Dm),上传到云服务器节点的参数文件大小(Dpu)和下载到本地设备的文件大小(Dpd)。移动应用程序单个组件运行时数据传输的总大小卸载方程(2)。
Ds=Dm+Dpu+Dpd
(2)
因此,当前框架包括应用程序拆分的开销,应用程序二进制代码和运行实例的相应数据文件迁移到远程服务器节点的额外成本。为了移动应用程序的分布式处理,建立了一个消耗大量资源和时间的分布式平台。
2分布式计算卸载框架(DCOF)
2.1DCOF的体系结构设计
针对MCC对移动应用程序的处理,提m了一个轻量级的分布式计算卸载框架(DCOF)。DCOF使在SMD上的移动应用程序到云服务器节点计算卸载的额外开销减少。DCOF旨在利用云数据中心的应用程序处理服务,最小程度地使用SMD资源。DCOF采用云计算的SaaS模式按需基础上访问云服务器节点。它侧重于动态计算卸载到云服务器节点,而不是动态地应用程序分区迁移。在云服务器节点上移动应用程序资源组件的配置,根除在运行时传输应用程序的二进制文件和数据文件到云服务器节点的开销。移动应用程序是分布式的计算负载,在运行时消除迁移应用程序二进制文件和活动状态的开销。
然而,依靠云服务器节点的预配置服务,导致依赖集中服务和减少脱机可用性的问题。同样,它会导致瘦客户端应用程序工作,如传统的Web和电子邮件应用程序,该应用程序处理逻辑驻留在远程服务器节点,而客户端应用程序提供用户界面。为了解决这样的问题,提出框架在移动设备和云服务器节点上复制移动应用程序组件。DCOF执行移动应用程序采用了两种截然不同的操作模式(离线模式和在线模式)。在理想情况下,离线模式执行应用程序,本地移动设备要有足够的可用计算资源执行移动应用程序。因此,在离线模式移动应用程序的所有组件执行被安排在本地移动设备上。分析器动态评估在SMD上的可用资源(内存、CPU和电池)和移动应用程序执行的未来需求。在危急中,移动应用程序切换到在线模式,启动云计算服务处理移动应用程序密集型组件。所需的输人数据传输到云服务器节点,在云服务器节点上成功执行任务,将结果数据返回给移动设备。
DCOF实现方法关注计算任务卸载的粒度。传统的计算卸载框架,编译器在编译时(远程)给移动应用程序的组件加标签,并添加到库中。这类框架以源文件作为输入,并生成必要的远程方法和效用函数,代码生成器模块执行修改后的代码产生开销。然而,DCOF不需要声明移动应用程序的方法是本地还是远程的。因此,DCOF减少了移动设备和云服务器节点之间执行负载分配工作。此外,DCOF消除了云数据中心部署应用程序处理服务分布式应用程序调度的额外开销。图1显示了该框架的体系结构。
移动应用程序的计算组件在云服务器节点上不需要用户交互配置,而是提供应用程序在线模式执行的按需访问。基于移动应用程序的DCOF是基于传统的移动设备应用程序框架。然而,移动应用程序允许动态地在在线和离线模式之间切换。双操作模式的移动应用程序支持动态在线和离线模式之间切换。对于远程服务器的访问问题,应用程序能够在本地移动设备上完成全部操作。应用程序在离线模式作为一个独立的应用程序操作,并且在在线模式访问分布式的云服务器。
2.2DCOF组件交互的流程
图2显示了DCOF组件交互的流程图。移动设备上的应用程序能够访问云服务器节点进行计算任务卸载。应用程序分析器评估移动设备上的资源利用率。在临界条件下(例如电池低电量),应用程序任务管理器切换应用程序到在线模式。任务管理器考虑移动应用程序组件运行实例进行计算卸载的历史记录。参数管理器保存移动应用程序的运行状态。移动应用程序访问云服务器节点的服务,并传输所需的输入参数给远程应用程序执行。仅应用程序的资源密集型任务卸载到云服务器节点,而其余的应用程序在移动设备上继续执行。DCOF的同步器组件负责同步本地移动设备上的应用程序运行和云服务器节点上的应用程序运行。一旦计算任务在云服务器节点上执行成功,最终结果返回给在移动设备上运行的应用程序。云服务器的服务节点总是保持活跃模式。与此同时,当网络连接中断远程服务无法访问时,任务管理器能够切换到离线模式,并恢复本地移动设备上应用程序的运行状态。然而,恢复到离线模式是以当地移动设备上应用程序执行的可行性为基础的。任务管理器恢复中断组件的运行状态是以应用程序分析器的输入为基础的。
为了减少对远程服务器节点的依赖,DCOF涉及在移动设备和云服务器节点上应用程序的计算组件的复制。应用程序复制涉及移动设备和远程云服务器节点之间复杂的一致性和应用程序分布式处理的同步。然而,移动应用程序组件的复制有助于利用最少的资源实现计算卸载。在运行时,消除了应用程序分区和分区迁移的时间开销。同样,通过动态切换在线和离线模式之间的移动应用程序确保丰富的用户体验和离线可用性。因此,在云服务器节点上远程服务不可用的情况下,在移动设备上的应用程序可以恢复应用程序组件的中断运行状态。
3评价与结果
3.1实验设置
DCOF框架是由移动云计算环境的Android设备应用测试评估。服务器配置为移动设备提供在线模式服务。云计算的SaaS模式是用于向移动设备提供服务。移动设备访问无线网络通过Wi-Fi连接802.11g,可用物理层的数据率为54Mbps。基于Android的Java软件开发T具包(SDK)部署应用开发。PowerTutorT具用于分布式应用处理消耗电池电量的测量。
3.2结果与讨论
在方程(1)所示的周转时间(TT),TT是传统计算卸载应用程序每个组件所用时间。然而,DCOF采用计算任务迁移,而不是应用程序分区和组件在运行时迁移。因此,基于DCOF计算卸载的应用程序每个组件的TT,包括任务卸载时间(Tcm),远程应用程序的处理时间(Tre)和参数下载时间(Tpx)。基于DCOF的移动应用程序单个组件运行时的周转时间卸载方程(3)。
TT=T㈨+Tre+Tpr
(3)
DCOF的使用导致SMD使用最少的资源进行MCC的计算卸载。采用基于移动应用程序云计算的DCOF,减少了应用程序二进制代码迁移和活动数据状态迁移到云服务器节点上的额外成本。因此,在云服务器节点上处理移动应用程序,缩短了周转时间,减少了数据传输的大小,降低了能源消耗成本。例如,与传统的计算卸载技术相比较,采用DCOF使传输数据的大小减少74.8%,转向轻量级的分布式架构计算卸载时间减少91.3%,能源消耗成本降低了87.5%。4总结
在运行时,应用程序的拆分机制,组件迁移增加了数据流量、能源消耗成本和应用程序的周转时间。因此,为了在MCC中进行计算卸载,建立了资源密集和费时的分布式应用程序执行环境。提出的DCOF使移动设备和云服务器节点之间的负载分配开销降到最低。DCOF使用轻量级操作程序用于计算卸载,利用SaaS模型部署在MCC计算的移动应用程序。实验结果表明了DCOF轻量级的本质,这减少了能源消耗成本,减小了数据传输的尺寸和云中应用程序的周转时间。未来的研究包括本研究范围扩展到解决在本地移动设备和远程云服务器节点之间同步应用程序执行的一致性问题,并使应用程序的执行与云计算的处理服务无缝结合。
参考文献
[1]李华清.云计算技术及应用服务模式探讨[J].软件,2014,35(2):127-128.
[2]刘越.云计算综述与移动云计算的应用研宄[J].信息通信技术,2010,4(2):14-20
[3]白亚鲁.云计算环境下大规模数据处理的研究[J].软件,2013,34(5):128-129.
[4]王国栋.基于效用函数的移动云计算卸载切换研究[D].昆明:云南大学,2014.
[5]ShirazM,GaniA,KhokharRH,BuyyaR.Areviewondistributedapplicationprocessingframeworksinsmartmobiledevicesformobilecloudcomputing[J].CommunicationsSurveys&Tutorials,2013,IEEE15:1294-1313.
[6]张栋梁,谭永杰.云计算中负载均衡优化模型及算法研究[J].软件,2013,34(8):52-55.
[7]ShirazM,AbolfazliS,SanaeiZ,GaniA.Astudyonvirtualmachinedeploymentforapplicationoutsourcinginmobilecloudcomputing[J].TheJournalofSupercomputing.2013,63:946-964.
[8]HungSH,ShihCS,ShiehJP,LeeCP,HuangYH.ExecutingMobileApplicationsontheCloud:FrameworkandIssues[J].ComputMathAppl,2012,63:573-587.
[9]KostaS,AucinasA,HuiP,MortierR,ZhangX.Thinkair:Dynamlcresourceallocationandparallelexecutioninthecloudformobilecodeoffloading[C].In:INFOCOM,2012ProceedingIEEE:945-953.