一种基于带宽自适应代码迁移的移动设备节能方法技术

技术编号:8412882 阅读:182 留言:0更新日期:2013-03-14 02:02
本发明专利技术提出一种基于带宽自适应代码迁移的移动设备节能方法,通过对移动应用程序进行静态和动态分析,构造出一种加权对象关系图,从而将程序分割问题转化为对象关系图分割问题;将移动环境中变化的带宽看作一个变量,提出基于运行时间和能量最优的目标模型;针对程序分割优化模型提出带宽自适应的分支定界程序分割法(BBAP)和基于最小割的贪心程序分割法(MCGAP);最后基于所得到的分割方案实现移动应用程序在移动设备和服务器间的代码迁移和分布式执行。本发明专利技术方法能够有效缩短移动应用程序的运行时间,降低移动设备的电能消耗,并对带宽变化具有良好的适应性。

【技术实现步骤摘要】

本专利技术属于移动计算领域,具体涉及。
技术介绍
移动设备因其轻巧便携、使用方便等优点,逐渐成为用户量最大的计算平台。随着移动用户的需求不断增长,移动设备的性能不断提升,电池容量已经成为移动设备进一步发展的瓶颈问题。近年来,基于程序分割的代码迁移技术逐渐应用于移动计算领域,成为缓解移动设备资源有限问题的一种有效方法。根据程序分割方案将应用程序的一部分代码迁移到服务器端运行,可以缩短应用程序的运行时间,降低移动设备的能量消耗。面向对象应用程序的复杂性和多样性为实现程序分割带来了挑战。国内外学者在这一领域进行了较为广泛的研究并提出了相应的方案。Eduardo等人提出的ΜΑΠ系统是基于微软通用语言运行库CLR的代码迁移系统,需要程序员事先对程序源代码中可在远端服务器执行的对象添加“Remotable”标识;Roelof等人提出的Cuckoo系统通过扩展Android编译系统,为程序员提供了一种便捷的编程模型,可以辅助程序员完成一部分工作(例如远程方法调用的实现),但仍需程序员手动实现;Shumao等人则是借助中间件实现移动设备上的程序分割和迁移。这些方案依赖于程序员或中间件工具,限制了其应用领域。于是Sinha等研究者进一步提出了自动程序分割方案,这种方法无需借助额外工具,不依赖于程序员,可以透明地实现程序自动分割,适用于移动平台。近年来,面向对象程序的自动分割方案大都通过对程序进行纯静态分析或纯动态分析构造程序对象关系图,并基于对象关系图(Object Relation Graph, 0RG)实现程序分割。Spiegel等人和Dahm提出的Doorastha系统均采用纯静态程序分析方法构造对象关系图,不能够准确反映程序的运行态信息,因而无法获取最优的程序分割结果。而Messer等人和Bialek等人则采用纯动态程序分析方法构造对象关系图,相比纯静态分析,纯动态程序分析能够获取更为精确的程序运行时信息,但得到的对象关系图庞大复杂,导致程序分割开销过大,不适用于资源有限的移动平台。Wang Lei等人通过构造两层对象关系图,提出了适用于不同目标模型的程序分割方案和基于Java的分布式系统框架,但并未对程序分割方法进行具体研究,没有考虑移动环境中带宽的变化。程序分割的关键是如何选择程序的最优分割方案,尽可能实现移动设备能耗最小和数据传输开销最小。由于数据传输开销与网络带宽直接相关,不同的带宽会对应不同的最优分割方案。以往的程序分割通常假设带宽固定不变,如Diaconescu等人即根据静态带宽计算网络传输开销以决策程序分割,并未考虑网络环境因素(如带宽)的变化。由于移动网络环境中带宽变化频繁,传统的静态程序分割技术通常会保守地根据较低带宽决策分割方案。然而这种分割方案在带宽较高情况下无法充分利用带宽资源,造成网络资源浪费。Byung-Gon等人通过分析移动设备和网络环境的异构和动态变化特性,提出了动态程序分害IJ,但频繁的程序分割任务势必为移动设备带来较大的额外开销负担。
技术实现思路
针对移动设备能量资源有限问题,为了有效节省移动设备的能量消耗,并克服静态程序分割不适用于带宽变化的移动环境和动态程序分割额外开销较大的问题,本专利技术提出。本专利技术的,具体过程如下步骤1,构造加权对象关系图,具体是首先,对应用程序进行静态程序分析,根据应用程序的方法调用关系,获取应用程序中的对象和对象间的调用关系,构造应用程序初始的对象关系图(Initial Object Relation Graph, IORG),对象关系图的节点和边分别对应应用程序对象和对象间的调用关系;然后,通过动态程序分析获得对象关系图中各节点对象的运行时间以及对象间的调用关系(每条边)的通信数据量,得到加权对象关系图。 步骤2,基于以上加权对象关系图,将带宽作为一个变量,建立基于运行时间和耗电量的程序分割优化模型。令Xi标识节点i的运行位置,Xi=I和Xi=O分别表示节点i在移动设备和服务器端运行,则程序分割方案可表示为X = Ix1, X2,…,χη},η为节点个数,令b表示当前带宽。程序分割优化模型的目标在于求得最优分割方案X,满足,Xp为模型求解空间,W(x,b)表示当前带宽为b时程序分割方案X的优化模型,具体定义如下W(X,b) =WtXT(X,b)/TLocal+weXE(X,b)/ELocal其中,TLocal和Ekxal分别表示程序全部运行在移动设备时的运行时间和耗电量;wt和We分别表示运行时间和耗电量的权重,且满足wt+we = I ;T (X, b)和E(X,b)分别表示当前带宽为b时采用程序分割方案X的程序运行时间和耗电量;模型求解空间Xp表示为Xp ={ζ ^(Γ,6()< ^(Α^Λ)χ(1 + )}其中,带宽阈值Id1为满足条件P(b ^ bx) ^ P。的最大带宽值,P。为所设定的概率阈值了为带宽I3l下最优分割方案对应的模型值;a > O为经验常数,用以设定W(X, bx)的上限值为『(%為)x(l + )。步骤3,进行带宽自适应程序分割,在节点个数η不超过200时,采用基于深度优先搜索策略的分支定界程序分割方法寻找最优分割方案,在节点个数η大于200时,采用基于最小割的贪心方法(MCGAP)来寻找最优分割方案。所述的分支定界程序分割方法基于分支定界深度优先搜索法,深度搜索的约束条件包括I)程序分割方案在当前带宽b下对应的优化模型值小于当前保存的优化模型的最小值;2)程序分割方案在带宽阈值Id1下的模型目标值不高于所设定模型上限值咖;' ;)χ(1 + Ι)0所述的基于最小割的贪心方法,利用Stoer-Wagner最小割算法求得带宽为b和bx时对应的运行在移动设备的节点集合Cb和运行在服务器端的节点集合^,令待分割节点W-Cb -Sbi,对V’中节点进行分割,采用Stoer-Wagner最小割算法中的最大邻接值排序算法对节点进行排序,然后基于贪心策略,同时根据与分支定界程序分割方法中相同的深度搜索的约束条件选取最优分割方案。步骤4,根据步骤3求得的最优分割方案,实现程序在移动设备和服务器间的代码迁移和分布式执行,有效降低应用程序的执行时间和移动设备的耗电量,延长移动设备的电池使用寿命。本专利技术的优点与积极效果在于(I)采用静态与动态程序分析相结合的方法构造程序的加权对象关系图,所构建的对象关系图复杂度低,并能够准确地反映程序结构,有利于程序分割,适用于资源有限的移动平台;(2)将移动环境中带宽作为一个变量,建立基于运行时间和耗电量的程序分割优化模型,适用于带宽变化的移动环境;(3)基于加权对象关系图和程序分割优化模型,提出了两种带宽自适应的程序分割方法分支定界程序分割法和基于最小割的贪心方法,前者能够求出小规模程序分割的最优解,后者可快速求得大 规模程序分割的近似最优解;两种方法能够适应带宽变化,有效缩短程序运行时间,降低移动设备的能量消耗。附图说明图I为本专利技术的带宽自适应程序分割流程图;图2为本专利技术的示例程序图;图3为本专利技术的示例程序初始对象关系图;图4为本专利技术的示例程序加权对象关系图;图5为本专利技术的BBAP方法伪代码示意图;图6为本专利技术的MCGAP方法伪代码示意图;图7为采用三种方法构造加权对象关系本文档来自技高网
...

【技术保护点】
一种基于带宽自适应代码迁移的移动设备节能方法,在移动环境带宽不断变化的情况下,其特征在于,该移动设备节能方法通过下面步骤实现:步骤1:构造加权对象关系图,具体是:首先,进行静态程序分析,根据程序的方法调用关系,构造程序初始的对象关系图,对象关系图中的各节点和边分别对应程序中的对象和对象间的调用关系;然后,通过动态程序分析获得对象关系图中各节点对象的运行时间以及每条边的通信数据量,得到加权对象关系图;步骤2:基于加权对象关系图,将带宽作为一个变量,建立基于运行时间和耗电量的程序分割优化模型,具体是:令xi标识节点i的运行位置,xi=1和xi=0分别表示节点i在移动设备和服务器端运行,程序分割方案表示为X={x1,x2,…,xn},n为加权对象关系图中的节点个数,则程序分割优化模型的目标在于求得最优分割方案满足XP为模型求解空间,b表示当前带宽,W(X,b)表示当前带宽为b时程序分割方案X的优化模型,具体定义如下:W(X,b)=wt×T(X,b)/TLocal+we×E(X,b)/ELocal其中,TLocal和ELocal分别表示程序全部运行在移动设备的运行时间和耗电量;wt和we分别表示运行时间和耗电量的权重,且满足wt+we=1;T(X,b)和E(X,b)分别表示当前带宽为b时采用程序分割方案X的程序运行时间和耗电量;所述的模型求解空间XP定义为:其中,带宽阈值bl为满足概率P(b≥bl)≥Pc的最大带宽值,Pc为所设定的概率阈值;为带宽bl下最优程序分割方案对应的优化模型值;经验常数a>0;步骤3:进行带宽自适应程序分割,在节点个数n不超过200时,采用分支定界程序分割方法寻找最优分割方案,在节点个数n大于200时,采用基于最小割的贪心方法来寻找最优分割方案;所述的分支定界程序分割方法基于分支定界深度优先搜索法,深度搜索的约束条件包括:1)程序分割方案在当前带宽b下对应的优化模型值小于当前保存的优化模型的最小值;2)程序分割方案在带宽阈值bl下的模型目标值不高于所设定模型上限值所述的基于最小割的贪心方法,利用Stoer?Wagner最小割算法求得带宽为b和bl时对应的运行在移动设备的节点集合Cb和运行在服务器端的节点集合令待分割节点对V“中节点进行分割,采用Stoer?Wagner最小割算法中的最大邻接值排序算法对节点进行排序,然后基于贪心策略,同时根据与分支定界程序分割方法中相同的深度搜索的约束条件选取最优分割方案;步骤4:根据得到的最优分割方案,实现程序在移动设备和服务器间的代码迁移和分布式执行。FDA00002326518600011.jpg,FDA00002326518600012.jpg,FDA00002326518600013.jpg,FDA00002326518600014.jpg,FDA00002326518600015.jpg,FDA00002326518600016.jpg,FDA00002326518600017.jpg,FDA00002326518600018.jpg...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:牛建伟宋文芳
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1