张艳飘,张璐
(河北经贸大学信息技术学院,河北 石家庄 050061)
移动云计算环境下终端任务卸载研究
张艳飘,张璐
(河北经贸大学信息技术学院,河北 石家庄 050061)
随着移动计算技术的发展,移动终端在计算、存储和网络等方面的资源受限问题突出,现有移动终端往往不能够很好地支持复杂高端应用的运行。目前克服资源受限问题的解决方法之一就是将终端计算任务卸载迁移到云上,通过将计算任务转移到云端,能够提高任务处理效率并显著降低能源消耗和设备时延等带来的一系列问题,由此需要对移动云计算任务卸载问题进入深入的研究。本文主要内容是介绍任务卸载迁移过程中的卸载策略,以及任务卸载的系统框架及相关技术。通过对任务卸载进行系统分析之后,探讨了卸载技术未来的发展方向与面临的挑战。
移动云计算;任务卸载;卸载策略;卸载框架
随着移动设备越来越普及,同时其用户对于移动终端的要求也越来越高。然而这些设备存在一些共同的问题,比如,处理器的运算能力,内存大小以及能源消耗方面都制约着用户使用移动设备时的良好体验。随着移动互联网和云计算技术的快速发展,移动云计算技术的出现使得对传统数据的计算和存储模式进行重大改进成为可能,移动云计算通过将大量计算和存储任务转移到云端,进而大量降低了终端的能耗问题和计算能力受限问题。
云卸载技术是一种能源优化技术,主要是通过一个基于云计算的服务器将能源密集型的移动应用迁移到云端[1]。由于计算任务的多样性以及云平台的自身特性,在对终端任务进行卸载之前,先要确定一种卸载策略,即任务怎么切割分配以及将切割的任务分配到云平台的哪个资源节点上。任务的卸载效率直接影响移动终端运行的性能与用户的良好体验。本文主要对任务卸载策略和移动迁移系统的架构进行研究,探讨了卸载技术未来的发展方向与面临的挑战。
在进行任务卸载时,都要遵从一个统一的软件架构进行计算的迁移,如图1所示,一般将卸载系统架构大致分为5个模块[2]。
图1 任务卸载架构
图2 任务卸载执行过程示意图
图2是任务卸载过程中各个模块执行顺序图,其过程:
(1)资源监测与剖析模块主要对可用资源的数量进行备案,当任务执行过程中可用资源发生动态变化时能够及时有效的通知应用划分模块重新调整划分策略。
(2)资源需求预测模块负责预测计算任务对于资源的使用需求,进一步生成相对应的本地执行成本和远程执行成本,最后根据成本的预测信息进行划分决策。
(3)在应用划分阶段,根据资源需求模块的预测情况以及与资源监测模块实时进行通信,生成候选方案,进一步根据用户偏好产生一种最优方案。
(4)迁移执行模块根据相应的机制对应用划分模块生成的最优方案采取执行动作。
任务卸载的主要的目的就是降低终端能耗,如果在任务卸载的过程中导致更多的的资源浪费,则进行任务迁移就没必要发生,故而在进行任务卸载之前,需要先判断任务是否需要进行卸载,判断的依据根据以下计算:
在系统上执行所需要的时间:
(1)
将任务迁移到云端所需要的时间:
(2)
(3)
由于移动云计算的移动性、可用资源代理的能力、资源数量随时发生变化。根据将任务卸载的决策时间的不同,可以将卸载分为静态卸载(static offloading)和动态卸载(dynamic offloading)[3]。静态卸载是指在任务进行迁移之前,卸载策略已经固定。动态卸载是指在任务进行迁移的过程中,卸载策略根据任务执行的的情况进行实时的调整。
3.1 静态卸载
Messer[4]提出了一个能够利用其它计算资源动态透明地建立一个分布式平台的方法,这个方法降低了移动设备的运行时间。文献[5]提出自适应的K+1分割算法,该分区策略是将特定的应用分为一个本地执行分区和K个代理执行分区,分区步骤分为三步:合并不可卸载的顶点,粗糙分区和细致分区。另外这些分区满足设备用户和移动终端设备资源方面的约束。
i),ii)被限制在了iii)条件下。
文献[6]提出了一个支持细粒度的系统-MAUI,考虑用户当前的连接条件并采用整数规划来设计迁移算法,支持细粒度的卸载策略能够最大程度的节省能源。
静态卸载策略可以使用户采用更加有效的算法对任务进行划分以及能够得到更好的迁移策略。然而在实际的操作中,移动终端的移动性限制了静态卸载策略的执行效率,从整体上影响着任务卸载的性能。
3.2 动态卸载
文献[7]利用模糊控制模型研发出一种推理机制,在任务卸载时自适应地解决了两个关键的决策问题:及时触发的自适应卸载机制和进行应用程序分区策略的智能选择。文献[8]指出任务卸载过程中的消耗的时间依赖于数据的大小以及可用的无线宽带,该文献动态地计算通信时所消耗的时间,自适应地选择执行计算的处理器或者服务器,以尽量减少执行时间。W Fan[9]提出了一种自适应的应用程序组件映射算法,旨在最大限度地减少计算成本和资源间的通信成本。它可以为终端提供一个合适的任务卸载解决方案,为当前环境降低了算法增量成本。文献中将应用程序组件的多分配问题转化为一个图的映射模型,最后将其演变为一个寻路问题,该算法能够动态地调整解的精度,提高传输速度、处理速度以及搜索速度。
文献[10]提出了一种基于Lyapunov优化动态卸载算法,该算法能够解决较低复杂度的卸载问题,根据无线网络的连接和应用的延时要求来优化移动终端的能耗。柳兴提出了一种任务联合执行的节能算法,该算法利用一次迁移最优特性在遗传算法的基础上进行算法优化。经验证表明该算法能够有效提高算法的收敛速度,显著地减少了移动终端的能耗[11]。Wu[12]等人提出基于层次分析法的多目标决策分析法(AHP)和逼近理想解的排序方法(TOPSIS),能够在模糊环境下建议并决定选择哪个卸载云是最适合的。B Gao[13]在文献中首先提出一个能在移动设备之间协调的一个网络,建立一个包括各种特性的工作流的软件和网络硬件设备的模型,利用这个模型构建目标函数并指导卸载决策。最后根据这些目标函数和它们动态的变化,提出了一个启发式算法以产生相应的动态卸载计划。
釆用动态卸载策略能够使任务在执行的过程中适应资源的变化,提高了算法的执行效率。但是在实际运行过程中,资源的实时监测以及频繁动态的调整而产生的切换对于任务计算和通信而言都会产生很大一部分的额外开销。
CloneCloud是最早出现的基于云计算迁移系统,它采用动态分析与静态分析结合的方式,在细粒度级别实现应用程序的自动划分。该系统将应用程序中的一部分线程卸载到云平台执行,同时相应的任务迁移机制是以最优化执行时间或者降低手机能耗为目标来确定应用程序的分割点[14]。如图3所示为CloneCloud框架架构。
图3 CloneCloud卸载框架
Kosta[15]等人提出的Think Air框架能够将手机应用迁移到云平台上,这个系统架构利用云计算中智能手机虚拟化的概念提出任务卸载的方法,它可以完成方法级别的卸载。该计算架构包括四个设计目标:动态适应环境、开发人员易使用、通过云计算的性能改进、计算能力的动态扩展。杨彬[16]等人提出一种轻量级分布式计算卸载框架(DCOF),该框架将移动应用程序以分布式的形式在终端和云端进行配置。这种方法很大程度的降低了任务迁移过程中带来的开销,同时有效降低资源的消耗。
文献[17]提出的COMET架构允许线程根据工作负载在机器之间自由迁移。为了便于卸载,使用DSM技术来保持堆、栈和锁定状态一致性。这些技术构成了分布式虚拟机的基础,允许迁移线程数量的一致性。该架构只需要程序二进制文件就能够确保多线程程序正确执行,并不需要进行手动操作,同时能够有效提高计算速度以及抵抗网络和服务器产生的故障。B Zhou[18]提出的mcloud卸载架构包括移动设备,附近的云团以及公共云服务,旨在提高移动服务的性能和可用性。移动设备网络性能的影响是通过基于上下文的卸载算法在选择无线介质和云资源时产生的,该框架同时也支持系统的故障检测和恢复策略。Karim[19]提出的研究重点是如何将移动设备利用不同的框架转移到云计算。文中提出了一个数学模型来解决这个问题,该模型设计了三种实现方法:1)利用模糊逻辑解决计算卸载问题,2)利用模糊神经网络分析解决计算卸载问题,3)利用机器学习来解决计算卸载问题。这三种方法的共同点就在于它们环境和设备的参数是动态变化的,在运行时能够有效判断是否对任务进行迁移,有效降低了的设备能源的消耗以及减少了时间上的延迟。
Gao[20]开发了一套节能负荷卸载框架-WGAO,该框架能够实现移动工作流在移动云平台上的高效执行。设计中首先制定两个移动云平台的能源目标,第一个目标是最大限度地减少整体能源成本的平台,第二个目标的长寿命的平台。考虑到每个设备的剩余电池功率,作者构建两个目标的优化模型,并开发两个有效的算法近似最优解。根据模拟结果,利用贪婪自主卸载(GAO)算法来产生最优分配方案。文献[21]为计算迁移到云平台提出了主动服务迁移框架-ASM,它采用轻量级的分布式部署,通过在真实移动环境下的进行测试,实验结果显示该框架能够有效提升任务执行的效率。
将各种卸载框架进行比较分析,如表1所示。
表1 任务卸载架构比较
移动云计算的任务卸载问题是解决移动终端设备资源受限的关键措施,作者主要从卸载策略以及卸载框架两大方面进行了梳理分析,未来移动云计算任务卸载未来还需要在以下几个方面进行深入研究:
(1)设计更加完善的卸载策略和框架。移动卸载过程涉及到计算、网络、能源以及节能等方面的内容,以往卸载策略或框架上的研究往往只是针对某一方面进行优化和加强,并不能统筹考虑各个制约因素。所以在以后的研究当中,应该综合考虑各方面的受限因素,设计提出更加完善的卸载策略。为了资源进行高效利用,整合现在已有的卸载方法,形成统一的框架,使得计算迁移具有普适性。
(2)及时进行垃圾处理。在程序运行中会产生很多垃圾,然而这些垃圾有一部分是执行失败的应用程序,未来研究当中要设计一个合适的决策来决定这些碎片垃圾是要重启执行还是要丢弃,以避免不必要的资源浪费。
(3)设计有效的监控策略。移动用户最大特点是时常处于移动当中,所以有必要当移动用户在服务区之间移动时,设计有效的监控策略,根据上下文定时检查应用程序的卸载情况。
(4)云端能够进行最优匹配。加强与多个不同云资源供应商之间协调,获取多个云计算实例以及资源管理策略,方便以后在进行计算卸载时与云端能够进行最优匹配。
(5)综合考虑策略。大部分的执行卸载策略都是基于移动终端(比如降低终端能耗,资源等问题)。在移动云计算中也该设计一种综合考虑云端的资源问题的迁移策略(比如负载均衡,计算就近原则等等)。
[1] TILEVICH E,KWON Y W.Cloud-based execution to improve mobileapplication energy efficiency[J].Computer,2014,47(1):75-77.
[2] 张文丽,郭兵.智能移动终端计算迁移研究[J].计算机学报,2016.
[3] 杨从有.移动云计算基于多属性决策的计算卸载任务切换管理[D].云南大学,2013.
[4] Messer A,Greenberg I,Bernadat P,et al.Towards a distributed platform for resource-constraine-d devices[C].Distributed Computing Systems,2002.Proceedings.22nd International Conference on.IEEE,2002:43-51.
[5] Ou S,Yang K,Liotta A.An adaptive multi-constraint partitioning algorithm for offloading inpervasive systems[C].Pervasive Computing and Communications,2006:116-125.
[6] CUERVO E,BAIAsuBRAMANIAN A.CHO D K,et al.MAUl: making smartphones last longer with code oftoad[c].ACMMobisys.San Francisco:ACM.2010:49-62.
[7] Gu X,Nahrstedt K,Messer A,et al.Adaptive offloading inference for delivering applications in'pervasive computing environments[C].Pervasive Computing and Communications,2003.(PerCom 2003).Proceedings of the First IEEE International Conference on.IEEE,2003:107-114.
[8] Nimmagadda Y.Kumar K,Lu Y H,et al.Real-time moving object recognition and trackingusing computation offloading[C].Intelligent Robots and Systems (IROS),2010 IEEE/RSJ International Conference on.IEEE,2010:2449-2455.
[9] W Fan,Y Liu,B Tang .Adaptive Application Component Mapping for Parallel Computation Offloading in Variable Environments[J].Ksii Transactions on Internet & Information Systems,2015,9(11):4347-4366.
[10] Huang D,Wang P,Niyato D.A dynamicoffloading algorithm for mobile computing[J].IEEE Trans.on Wireless Communications,2012,11(6):1991-1995.
[11] 柳兴,李建彬等.移动云计算中一种任务联合执行的节能算法[J].计算机学报,2017.
[12] H Wu,Q Wang,K Wolter.Methods of cloud-path selection for offloading in mobile cloud computing systems[J] IEEE 5th International Conference on Cloud Computing Technology and Science,2012:443-448.
[13] B Gao,L He,L Liu,K Li.SA Jarvis.From Mobiles to Clouds: Developing Energy-aware Offloading Strategies for Workflows.Acm[C].IEEE International Conference on Grid Computing,2012,45(1):139-146
[14] Byung-Gon Chun,Sunghwan Ihm ,et al.CloneCloud:Elasticexecution between mobile device and cloud[C].ACM EuroSys.New York:ACM.2011:301-314.
[15] KOSTA S,AUCINAS A,HUI P,et al.ThinkAir:Dynamic resourceallocation and parallel execution in the cloud for mobile code offloading[C].IEEE INFOCOM.Orlando:1EEE,2012:945-953.
[16] 杨彬,移动云计算中分布式计算卸载框架的研究[J].软件,2015.
[17] Mark S.Gordon,D.Anoushe Jamshidi,et al.COMET: Code Offload by Migrating Execution Transparently[C].Usenix Conference on Operating Systems Design & Implementation,2012:93-106.
[18] B Zhou,,R Calheiros,S Srirama,R Buyya.mCloud: A Context-aware Offloading Framework for Heterogeneous Mobile Cloud[J].IEEE Transactions on Services Computing,1939,PP(99):1-1.
[19] Karim,S.M.Azharul,M.S.A study of computation offloading frameworks for mobile cloud computing[D].THE UNIVERSITY OF TEXAS AT SAN ANTONIO ,2016.
[20] Gao,Bo.Developing Energy-Aware Workload Offloading Frameworks in Mobile Cloud Computing[D].University of Warwick,2015.
[21] M Shiraz,A Gani.A lightweight active service migration framework for computational offloading in mobile cloud computing[J].The Journal of Supercomputing,2014,68(2):978-995.
Theresearchoftaskoffloadinginmobilecloudcomputing
ZHANGYan-piao,ZHANGLu
(Information&TechnologyCollege,HebeiUniversityofEconomics&Business,ShijiazhuangHebei050061,China)
With the development of mobile technology,the problem of limited resources for mobile terminals in computing,storage and network is outstanding,modern mobile terminals are often not able to support high-end applications run well.Today,one of the solutions to overcome the problem of limited resources is discharging the task to the cloud computing,through shifting to the cloud computing,we can improve the processing efficiency and significantly reduce energy consumption and the delay of equipment,etc.So there is a need to carry out in-depth research on mobile cloud computing task unloading problem.The main content of this article is to introduce the task offloading strategy in the process of migration,unloading system framework and task.Through analysising the task after offloading system,we will discusses the development direction of the future and the challenge for unloading technology.
Mobile Cloud Computing;Task offload;Offloading strategy;Offloading framework
2017-08-14
张艳飘(1991-),女,河北邢台人,硕士研究生,研究方向:移动云计算与大数据.
1001-9383(2017)03-0011-07
TP393
A