本文是一篇计算机软件论文,本文结合任务之间的依赖关系及微云的特点,基于遗传算法思想提出了一种计算迁移方法。根据移动应用中不同任务之间时序与数据的双重依赖关系,结合能耗和响应时间的考量,基于不同微云处理各类型任务时的不同计算能力,设计了一个计算迁移算法,以获取具有较优效用值的迁移方案。此外,针对多移动终端多微云的应用场景下,大量计算任务向同一个微云进行迁移时总体响应时间可能增加的现象,设计了一个负载均衡算法,以使得多终端上所有计算任务的总体响应时间更优。最后通过仿真验证了单个终端应用向多个微云和多个终端任务向多个微云这两个迁移方法的可行性和有效性。
第一章 绪论
1.1 研究背景和意义
在十几年之前,几乎没有人知道什么是智能手机(Smart Phone)。而自从智能手机诞生开始,其发展呈现出一种爆炸性上升的趋势,其销量早就已经超过了各种各样的电脑的销量。智能手机与个人电脑一样,具有独立的操作系统(如 Android、IOS 等),用户可以通过安装各种各样的软件来对手机的功能进行不断扩充,并可以通过无线网络来实现互联网的接入。而智能手机不过是众多智能移动终端( Smart Device)中最具有代表性的一种,其它一些智能移动终端,例如车载智能终端、可穿戴设备等,在近几年来同样得到了巨大的发展。世界变的越来越移动,世界也渴望着移动,对于智能移动终端来说,更小巧、更轻便、电池续航时间更长,成为重中之重的需求。
随着人们对于移动终端的依赖性的增加,对于移动终端的要求也越来越高,比如人和移动终端之间需要交互性,人无法做到时时刻刻都盯着移动终端,所以语音识别、手势识别等一些新型的人机交互模式变得越来越重要。这些模式在计算上面会对移动终端提出更高、更苛刻的要求,而且也会需要更高的能量消耗。与之相似的,还有为了满足移动用户对于移动终端的各种需求而产生的各种复杂的应用软件,同样需要更多的计算资源,带来更大的能量消耗。这和移动终端的发展是冲突的,移动终端满足了人们对于自由的需求,然而它只能拥有有限的计算资源和能量。当移动终端的有限资源和人们对于移动终端的无限需求发生碰撞时,就急需有一些方法能够突破这个瓶颈。为了扩展移动终端的资源[1],发展硬件是一个很好的解决途径,但是就目前来说,硬件的发展速度却是远远低于移动终端中各种应用的发展。在这种情况下,移动云计算应运而生。
...........................
1.2 国内外研究现状
目前,针对移动云计算环境下计算迁移问题的研究有很多:在文献[4]中将移动应用分为两类:通信密集型和计算密集型,通信密集型应用适合于终端处理,计算密集型应用适合于远程云端处理,而介于两者之间的应用则需要根据局域网中的带宽条件来确定处理位置。文献[5]在博弈论的基础上提出了一种算法,该算法对于移动终端和远程云端的最优能耗问题,可获得纳什均衡解。文献[6]同样是在博弈论的基础上提出了一种分布式的计算迁移方法,该方法可以根据计算任务的规模来有效地进行任务迁移。文献[7]提出了一种自动贪婪迁移算法,可以更好的解决任务迁移过程中的能效问题。文献[8]提出了一种禁忌搜索算法,可以为应用任务的迁移获得更好的解决方案。文献[9-10]根据逆推动态规划的解法提出了一种迁移算法,该算法对于一组串行任务,可在满足响应时间的前提下,将移动终端的能耗最小化。文献[11]提出了一组并行任务的联合迁移算法,可以更快地获得终端能耗的最优解。文献[12]考虑了由远程云端、微云和移动终端组成的三层移动云计算架构,根据局域网的条件提出了一种迁移算法,该算法可以在满足响应时间的同时降低移动终端的能量消耗。
若从计算任务的处理位置来讲,这些研究可大致分为两类:第 1 类只考虑移动终端和远程云端两个处理位置[4-11],第 2 类则考虑移动终端、微云和远程云端三个处理位置[12]。远程云端存储资源丰富,处理计算任务的速度也非常快,其任务处理时间相对移动终端而言几乎可以忽略不计。然而,远程云端往往距离用户较远,传输延迟较大,很多具有较高实时性要求的计算任务,并不适合迁移到远程云端进行处理。与之相反,微云尽管存储资源有限,处理计算任务的速度也相对远程云端而言有所欠缺,但是它们距离用户往往较近,传输延迟能得以大幅减少。
...................
第二章 相关背景知识介绍
2.1 移动云计算概述
2.1.1 移动云计算相关概念
云计算(Cloud Computing)这个概念,最早是在 2006 年由 Google 公司的首席执行官 EricSchmidt 提出来的,自此之后,许多的专家、学者又从不同的视角与领域去定义云计算,到目前为止,对于到底什么是云计算这个问题,至少可以有上百种不同的解答。目前比较被大众所认可的定义是:某个公司建立超大规模的服务器集群,形成“云”,通过互联网向用户提供计算或存储服务,用户不需要知道数据在云内部的处理方式与处理位置,也不需要知道云的组成结构,只要按需付费即可。现在,已经成功建立了大规模云的公司有很多,国外有微软、Google、Amazon、IBM、Yahoo 等,国内有网易、腾讯、阿里巴巴等。
移动云计算(Mobile Cloud Computing,MCC)是移动互联网的发展与传统云计算技术相结合的产物。自 1993 年世界上第一台智能手机 IBM Simon 诞生以来,以手机为主的移动终端便步入了智能化时代。智能移动终端的发展及其迅速,尤其是近 10 年以来,无论是智能移动终端的性能,还是移动用户的数量,都呈现出了爆炸式的提升。移动用户数量增长之后,所带来的是用户对于智能移动终端的各种各样的需求,为了满足移动用户的各种需求,智能移动终端供应商开发出来了更加复杂的、以前未出现过的移动应用,例如自然语言处理(Natural Language Processing,简称 NLP)、增强现实技术(Augmented Reality,简称 AR)、虚拟现实技术(Virtual Reality,简称 VR)等。然而,令人感到可惜的是,即便是智能移动终端发展到了如今这个程度,面对上述的极其复杂的移动应用,却仍然是难以完全实现的,因为智能移动终端有一个难以克服的困难,那就是其体积的限制。智能移动终端的移动性,决定了其尺寸不宜过大,因此,智能移动终端无论是计算能力、存储能力,还是电池的容量,都存在着难以突破的限制。为了解决此类问题,移动云计算便诞生了。
.............................
2.2 计算迁移概述
2.2.1 计算迁移基本概念
计算迁移(Computing Migration)是实现移动终端资源扩展的一个关键技术,通过计算迁移技术,移动终端所产生的计算任务,就可以发送到云端进行处理,这样就实现了移动终端的资源扩展,如图 2.2 所示。
计算迁移技术的提出,给移动用户和移动设备的生产商带来了不同的好处。站在移动用户的角度来说,一些本来不可以在移动终端上运行的应用,通过计算迁移技术,这些应用变成了可以运行,这大大提升了用户的体验。而站在移动设备生产商的角度,首先对于移动应用的开发者来说,在开发某些应用时,因为有了计算迁移技术,那么像移动终端资源限制这样的问题,就不用花费太多的时间去考虑,就能够有更多的时间去思考应用本身所带来的效果。对于移动设备生产商来说,计算迁移技术也能够带来新的增值空间。
关于计算迁移的研究,早在十几年前就已经开始,到目前为止已经有了大量的相关工作。而关于这些研究,根据研究背景的不同,可以分为三个阶段:分布式计算(DistributedComputing)阶段、普适计算(Pervasive Computing 或 Ubiquitous Computing)阶段和云计算阶段[1]。
............................
第三章 基于任务依赖的计算迁移方法..................................... 12
3.1 引言.....................................12
3.2 系统模型及问题描述........................ 12
第四章 多终端计算任务迁移的负载均衡方法.....................................22
4.1 引言...........................................22
4.2 系统模型及问题描述.............................. 23
第五章 仿真实验与分析.................................. 30
5.1 单终端计算任务迁移问题的实验及分析...................................30
5.1.1 实验设置................................... 30
5.1.2 实验过程.......................................... 31
第五章 仿真实验与分析
5.1 单终端计算任务迁移问题的实验及分析
在这一节中,将会对本文第三章所提出的假设及其实现算法进行仿真实验验证。为了验证方法的有效性,我们求取了另外三种迁移方案与本方法所求迁移方案进行对比,分别是将计算任务全部放在终端进行处理的无迁移方案、将计算任务在微云和终端随机分配处理的迁移方案和将计算任务在微云平均分配处理的迁移方案。
将本文第三章提到的效用值 U 作为性能指标,最后将实验结果进行分析总结。
5.1.1 实验设置
本实验采用 MATLAB 进行编程仿真。本文主要考虑在商场等固定公众场所下的