论文部分内容阅读
随着智能手机逐渐替代传统的手机,移动设备的计算性能也变得越来越强大了,同样越来越多的传感器也安装在这些设备上来满足用户需求,增强用户体验,但是随之而来的能量紧缺问题也逐渐受到人们重视,对于移动设备而言,电池难以为继使得用户不愿意使用其强大的功能,即使功能强大也无异于形同虚设。与此同时云计算作为一种可购买的计算力资源也逐渐的商用化,公有云和私有云不断的发展壮大,随着各地数据中心的建立,云计算的普及,使用云计算的方式解决移动设备的能量消耗问题,增强移动设备的运算速度的想法也逐一得到落实,由于使用云服务计算因此可以为移动设备节省大量的存储资源和计算资源,更重要的是可以节约能量来做更多的事情,例如传感器数据的采集等功能。目前国内外的相关工作主要集中于建立系统,通过离线的应用程序分析测量的方法进行调度计算,进而在移动设备上对相应的应用程序进行分割迁移,但是这种预处理工作难以对所有程序处理,并且对于能量测量而言开发者难以处理。本文首先提出了一种在线的程序分析方法,在移动设备上运行该程序的同时即可获得一颗反映当前应用程序结构的函数调用树,并且在生成过程中对调用的各项参数进行统计。之后再函数调用树之上提出以最大化节约运行时间的问题,并且分析该问题不是一个NP完全问题,之后给出一种在函数调用树上的动态规划算法,用来求解该问题,并且证明该算法的正确性。接着针对于目前国内外系统中默认程序代码预同步到云服务器端的想法进行分析,提出了一种将程序进行分割,仅将需要迁移到服务器端执行的代码和数据发送到服务器端的,按需求的程序迁移的想法,进而节约网络占用和服务器磁盘空间。最后基于Android系统之上实现了在线函数调用树的生成,在线的迁移函数集合的计算以及按需求的程序迁移功能。首先设计了一组实验对移动设备和服务器的CPU速度进行测量,之后对于三种不同的应用环境下设计了三组不同的实验,包括矩阵乘法,筛法求素数,文件处理来测试在线函数调用树的生成和迁移函数集合的计算功能。通过迁移执行得到其执行速度分别提高7.11倍,23.23倍,8.24倍。最后对按需求的代码迁移进行实验,实验结果显示按需求的迁移节约网络流量77.1%,73.5%,76.2%,节约磁盘空间81.9%,77.8%,80.1%。