New! View global litigation for patent families

CN102968173A - Bandwidth self-adaption code migration-based energy saving method for mobile equipment - Google Patents

Bandwidth self-adaption code migration-based energy saving method for mobile equipment Download PDF

Info

Publication number
CN102968173A
CN102968173A CN 201210421845 CN201210421845A CN102968173A CN 102968173 A CN102968173 A CN 102968173A CN 201210421845 CN201210421845 CN 201210421845 CN 201210421845 A CN201210421845 A CN 201210421845A CN 102968173 A CN102968173 A CN 102968173A
Authority
CN
Grant status
Application
Patent type
Prior art keywords
mobile
method
application
partitioning
bandwidth
Prior art date
Application number
CN 201210421845
Other languages
Chinese (zh)
Other versions
CN102968173B (en )
Inventor
牛建伟
宋文芳
Original Assignee
北京航空航天大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Abstract

The invention discloses a bandwidth self-adaption code migration-based energy saving method for mobile equipment. The energy saving method comprises the following steps of: constructing a weighting object relation graph through performing static and dynamic analysis on a mobile application, therefore, transforming an application partitioning problem into an object relation graph partitioning problem; proposing a running time and energetic optimum-based target model by taking varied bandwidth in a mobile environment to serve as a variable; proposing a bandwidth self-adaption branch and bound application partitioning method (BBAP) and a minimum cut-based greedy application partitioning method (MCGAP) by aiming at an application partitioning optimization model; and finally, realizing code migration and distributed execution on the mobile application between the mobile equipment and a server based on the obtained partitioning scheme. According to the method disclosed by the invention, the running time of the mobile application can be effectively shortened, and the power consumption of the mobile equipment is reduced. Moreover, the method disclosed by the invention is good in adaptability to bandwidth variations.

Description

一种基于带宽自适应代码迁移的移动设备节能方法 The mobile device based on power saving method of bandwidth adaptive code migration

技术领域 FIELD

[0001] 本发明属于移动计算领域,具体涉及一种基于带宽自适应代码迁移的移动设备节能方法。 [0001] The present invention belongs to the field of mobile computing, particularly relates to a method for saving mobile device based on the bandwidth of the adaptive code migration.

背景技术 Background technique

[0002] 移动设备因其轻巧便携、使用方便等优点,逐渐成为用户量最大的计算平台。 [0002] The mobile device because of its lightweight and portable, and easy to use, the user becoming the largest computing platforms. 随着移动用户的需求不断增长,移动设备的性能不断提升,电池容量已经成为移动设备进一步发展的瓶颈问题。 With the growing demand of mobile users, mobile devices and improve the performance of the battery capacity has become a bottleneck for further development of mobile devices. 近年来,基于程序分割的代码迁移技术逐渐应用于移动计算领域,成为缓解移动设备资源有限问题的一种有效方法。 In recent years, techniques based on code migration program is gradually applied to the divided field of mobile computing has become an effective way to mitigate the problem of limited resources of the mobile device. 根据程序分割方案将应用程序的一部分代码迁移到服务器端运行,可以缩短应用程序的运行时间,降低移动设备的能量消耗。 The procedure to migrate the divided portion of the program codes to the application program running on the server, can shorten the run time of the application, to reduce the energy consumption of the mobile device.

[0003] 面向对象应用程序的复杂性和多样性为实现程序分割带来了挑战。 [0003] To achieve the program into an object-oriented complexity and diversity of application challenges. 国内外学者在这一领域进行了较为广泛的研究并提出了相应的方案。 Domestic and foreign scholars have conducted a more extensive research and the corresponding program in this area. Eduardo等人提出的ΜΑΠ系统是基于微软通用语言运行库CLR的代码迁移系统,需要程序员事先对程序源代码中可在远端服务器执行的对象添加“Remotable”标识;Roelof等人提出的Cuckoo系统通过扩展Android编译系统,为程序员提供了一种便捷的编程模型,可以辅助程序员完成一部分工作(例如远程方法调用的实现),但仍需程序员手动实现;Shumao等人则是借助中间件实现移动设备上的程序分割和迁移。 Eduardo, who made ΜΑΠ system is a code migration system Microsoft common language runtime CLR-based, requires the programmer to add in advance "Remotable" identification of the target program source code can be executed in a remote server; Roelof, who proposed Cuckoo system by extending Android build system, the programmer provides a convenient programming model, can assist programmers to complete part of the work (such as remote method invocation), but programmers still need to be implemented manually; Shumao and others by means of middleware implement programs on the mobile devices division and migration. 这些方案依赖于程序员或中间件工具,限制了其应用领域。 These approaches rely on middleware programmer or tool, which limits its field of application.

[0004] 于是Sinha等研究者进一步提出了自动程序分割方案,这种方法无需借助额外工具,不依赖于程序员,可以透明地实现程序自动分割,适用于移动平台。 [0004] Sinha et al. Researchers then automatic program is further proposed fragmentation scheme, this method without an additional tool, not dependent on the programmer, transparently implement automatic segmentation procedures, for mobile internet. 近年来,面向对象程序的自动分割方案大都通过对程序进行纯静态分析或纯动态分析构造程序对象关系图,并基于对象关系图(Object Relation Graph, 0RG)实现程序分割。 In recent years, automatic segmentation scheme most object-oriented program by static analysis of pure or pure dynamic analysis program object configuration diagram of a program, and procedures for segmentation based on object relational graph (Object Relation Graph, 0RG). Spiegel等人和Dahm提出的Doorastha系统均采用纯静态程序分析方法构造对象关系图,不能够准确反映程序的运行态信息,因而无法获取最优的程序分割结果。 Spiegel et al. And Dahm proposed Doorastha systems are used purely static program analysis method to construct the object graph does not accurately reflect the state run program information, and therefore can not obtain the optimal segmentation result of the program. 而Messer等人和Bialek等人则采用纯动态程序分析方法构造对象关系图,相比纯静态分析,纯动态程序分析能够获取更为精确的程序运行时信息,但得到的对象关系图庞大复杂,导致程序分割开销过大,不适用于资源有限的移动平台。 The Messer et al. And Bialek, who are pure dynamic program analysis method to construct the object graph, pure static analysis compared to pure dynamic program analysis can obtain a more accurate runtime information, but the object graph to get the huge complex, causes the program to split costs too much, does not apply to mobile platforms with limited resources. Wang Lei等人通过构造两层对象关系图,提出了适用于不同目标模型的程序分割方案和基于Java的分布式系统框架,但并未对程序分割方法进行具体研究,没有考虑移动环境中带宽的变化。 Wang Lei, who object graph by constructing two proposed procedures segmentation schemes for different object model and Java-based distributed systems framework, but not for the specific program segmentation study did not consider the bandwidth of the mobile environment Variety.

[0005] 程序分割的关键是如何选择程序的最优分割方案,尽可能实现移动设备能耗最小和数据传输开销最小。 [0005] program key segmentation scheme is how to choose the optimal division of the program, a mobile device to achieve the smallest possible energy consumption and minimum data transfer overhead. 由于数据传输开销与网络带宽直接相关,不同的带宽会对应不同的最优分割方案。 Since the data transfer overhead is directly related to the network bandwidth, the bandwidth is different corresponding to different optimal partitioning schemes. 以往的程序分割通常假设带宽固定不变,如Diaconescu等人即根据静态带宽计算网络传输开销以决策程序分割,并未考虑网络环境因素(如带宽)的变化。 Previous program split the bandwidth is usually assumed constant, as Diaconescu, who split with decision-making process that is based on static bandwidth computing network transmission overhead, the network did not consider environmental factors (such as bandwidth) changes. 由于移动网络环境中带宽变化频繁,传统的静态程序分割技术通常会保守地根据较低带宽决策分割方案。 Due to the frequent change of bandwidth mobile network environment, the traditional static program segmentation techniques usually conservatively lower bandwidth partitioning scheme according to the decision. 然而这种分割方案在带宽较高情况下无法充分利用带宽资源,造成网络资源浪费。 However, this segmentation scheme in the case of high-bandwidth can not make full use of bandwidth resources, resulting in waste of network resources. Byung-Gon等人通过分析移动设备和网络环境的异构和动态变化特性,提出了动态程序分害IJ,但频繁的程序分割任务势必为移动设备带来较大的额外开销负担。 Byung-Gon, who through analysis of heterogeneous and dynamic nature of mobile devices and network environment, a dynamic program points harm IJ, but frequently the program into tasks is bound to bring a large overhead burden for mobile devices. 发明内容 SUMMARY

[0006] 针对移动设备能量资源有限问题,为了有效节省移动设备的能量消耗,并克服静态程序分割不适用于带宽变化的移动环境和动态程序分割额外开销较大的问题,本发明提出一种基于带宽自适应代码迁移的移动设备节能方法。 [0006] For the problem of limited energy resources, the mobile device, a mobile device for saving energy consumption, and to overcome the static and mobile environment discomfort program into a program for dynamic change in bandwidth segmentation overhead major problem, the present invention is proposed based on code migration bandwidth adaptive power saving method of a mobile apparatus.

[0007] 本发明的一种基于带宽自适应代码迁移的移动设备节能方法,具体过程如下: [0007] A power saving method of the present invention, a mobile device based on the code migration bandwidth adaptation procedure is as follows:

[0008] 步骤1,构造加权对象关系图,具体是:首先,对应用程序进行静态程序分析,根据应用程序的方法调用关系,获取应用程序中的对象和对象间的调用关系,构造应用程序初始的对象关系图(Initial Object Relation Graph, IORG),对象关系图的节点和边分别对应应用程序对象和对象间的调用关系;然后,通过动态程序分析获得对象关系图中各节点对象的运行时间以及对象间的调用关系(每条边)的通信数据量,得到加权对象关系图。 [0008] Step 1, configured weighted object graph, in particular: First, the application static program analysis, call relation according to the method of application, acquires call relationships between application objects and object, configuration initial application the object graph (Initial object relation graph, IORG), the object graph of nodes and edges corresponding call relationships between application objects and object; then analyzed to obtain the running time of each node target object diagram dynamic program, and calling relationships between objects (each side) of the traffic data, to obtain a weighted object relational graph. [0009] 步骤2,基于以上加权对象关系图,将带宽作为一个变量,建立基于运行时间和耗电量的程序分割优化模型。 [0009] Step 2, the above object graph weighted based on a bandwidth as variables, optimization model based segmentation operation time and power consumption program. 令Xi标识节点i的运行位置,Xi=I和Xi=O分别表示节点i在移动设备和服务器端运行,则程序分割方案可表示为X = Ix1, X2,…,χη},η为节点个数,令b表示当前带宽。 So Xi identified node i operating position, Xi = I and Xi = O represent node i in the mobile device and the server running the program partitioning scheme may be expressed as X = Ix1, X2, ..., χη}, η node a number, let b represents the current bandwidth. 程序分割优化模型的目标在于求得最优分割方案X,满足,Xp为模型求解空间,W(x,b)表示当前带宽为b时程序分割方案X的优化模型,具体定义如下: Optimization of the target program into the optimal model is obtained by dividing Scheme X, meet, Xp solution space for the model, W is (X, b) represents the current bandwidth divided optimization model Scheme X b is a program, defined as follows:

[0010] W(X,b) =WtXT(X,b)/TLocal+weXE(X,b)/ELocal [0010] W (X, b) = WtXT (X, b) / TLocal + weXE (X, b) / ELocal

[0011] 其中,TLocal和Ekxal分别表示程序全部运行在移动设备时的运行时间和耗电量;wt和We分别表示运行时间和耗电量的权重,且满足wt+we = I ;T (X, b)和E(X,b)分别表示当前带宽为b时采用程序分割方案X的程序运行时间和耗电量;模型求解空间Xp表示为: [0011] wherein, TLocal and run entirely Ekxal represent operating time and power consumption when the mobile device; wt and We represent the power consumption and operation time of the right weight and satisfy wt + we = I; T (X , b) and E (X, b) represent the current bandwidth is divided using the procedure of scheme X program run time and the power consumption is B; Xp solution space model expressed as:

[0012] Xp ={ζΐ^(Γ,6()<ί^(Α^Λ)χ(1 + «)} [0012] Xp = {ζΐ ^ (Γ, 6 () <ί ^ (Α ^ Λ) χ (1 + «)}

[0013] 其中,带宽阈值Id1为满足条件P(b ^ bx) ^ P。 [0013] wherein the bandwidth threshold Id1 to satisfy the condition P (b ^ bx) ^ P. 的最大带宽值,P。 The maximum bandwidth value, P. 为所设定的概率阈值了为带宽I3l下最优分割方案对应的模型值;a > O为经验常数,用以设定W(X, bx)的上限值为『(%為)x(l + «)。 Probability threshold value set to the optimum value at a bandwidth I3l model corresponding partitioning scheme; a> O is an empirical constant to set W (X, bx) of the upper limit value "(as%) x ( l + «).

[0014] 步骤3,进行带宽自适应程序分割,在节点个数η不超过200时,采用基于深度优先搜索策略的分支定界程序分割方法寻找最优分割方案,在节点个数η大于200时,采用基于最小割的贪心方法(MCGAP)来寻找最优分割方案。 [0014] Step 3, the bandwidth adaptive segmentation procedure, when the number of nodes does not exceed 200 [eta], using the division method to find the optimal partitioning scheme program based on branch and bound depth-first search strategy, when the number of nodes is greater than 200 η , minimal cuts greedy method (MCGAP) based segmentation to find the optimal solution.

[0015] 所述的分支定界程序分割方法基于分支定界深度优先搜索法,深度搜索的约束条件包括: [0015] The branch and bound constraint-based segmentation procedures branch and bound depth-first search, depth first search comprises:

[0016] I)程序分割方案在当前带宽b下对应的优化模型值小于当前保存的优化模型的最小值;2)程序分割方案在带宽阈值Id1下的模型目标值不高于所设定模型上限值 [0016] I) program into the program at the current bandwidth corresponding to b less than the minimum value of the optimization model to optimize the model currently stored; 2) the target program into the program model in a bandwidth not higher than the threshold value Id1 is set on the model limit

咖;'έ;)χ(1 + ίΙ)0 Coffee; 'έ;) χ (1 + ίΙ) 0

[0017] 所述的基于最小割的贪心方法,利用Stoer-Wagner最小割算法求得带宽为b和bx时对应的运行在移动设备的节点集合Cb和运行在服务器端的节点集合^,令待分割节点W-Cb -Sbi,对V'中节点进行分割,采用Stoer-Wagner最小割算法中的最大邻接值排序算法对节点进行排序,然后基于贪心策略,同时根据与分支定界程序分割方法中相同的深度搜索的约束条件选取最优分割方案。 [0017] The greedy method based on the minimum cut, using a minimum cut algorithm Stoer-Wagner determined bandwidth bx and b when the corresponding node in the mobile device to run a set of Cb and running on the server node set ^, so that to be segmented, node W-Cb -Sbi, to V 'node is divided, using the maximum value adjacent Stoer-Wagner minimum cut algorithm sorting algorithm to sort the nodes, and based on greedy strategy, while dividing the same as the branch and bound method, program the depth of the search constraints select the best partitioning scheme.

[0018] 步骤4,根据步骤3求得的最优分割方案,实现程序在移动设备和服务器间的代码迁移和分布式执行,有效降低应用程序的执行时间和移动设备的耗电量,延长移动设备的电池使用寿命。 [0018] Step 4. The optimal segmentation scheme obtained in step 3, the program code to achieve the migration between the mobile device and the server and the distributed execution, execution time and reduce power consumption of mobile applications, to extend the movement device's battery life.

[0019] 本发明的优点与积极效果在于:(I)采用静态与动态程序分析相结合的方法构造程序的加权对象关系图,所构建的对象关系图复杂度低,并能够准确地反映程序结构,有利于程序分割,适用于资源有限的移动平台;(2)将移动环境中带宽作为一个变量,建立基于运行时间和耗电量的程序分割优化模型,适用于带宽变化的移动环境;(3)基于加权对象关系图和程序分割优化模型,提出了两种带宽自适应的程序分割方法:分支定界程序分割法和基于最小割的贪心方法,前者能够求出小规模程序分割的最优解,后者可快速求得大规模程序分割的近似最优解;两种方法能够适应带宽变化,有效缩短程序运行时间,降低移动设备的能量消耗。 [0019] The advantages of the present invention and the positive effect that: (I) a weighted object relational graph method for constructing a program static and dynamic program analysis combining low constructed FIG complexity of object relationships, and to reflect the program structure accurately conducive to split the program for resource-constrained mobile platforms; (2) a variable bandwidth as the mobile environment, the establishment of mobile environments segmentation model based on run time and power consumption of the procedures for change in bandwidth; (3 ) segmentation model based on the weighted object graph and procedures, presents two adaptive bandwidth segmentation procedure: branch and bound method and program into greedy method based on minimum cut, the former can be a small program into the optimal solution was determined , which may be near-optimal solution quickly obtained a large-scale program division; two ways to adapt to bandwidth changes, effectively shortening the program running time, reduce the energy consumption of mobile devices.

附图说明 BRIEF DESCRIPTION

[0020] 图I为本发明的带宽自适应程序分割流程图; [0020] FIG bandwidth adaptation procedure I divided flowchart present invention;

[0021] 图2为本发明的示例程序图; [0021] FIG. 2 example program of the present invention;

[0022] 图3为本发明的示例程序初始对象关系图; [0022] Example 3 of the present invention, the program of FIG initial object graph;

[0023] 图4为本发明的示例程序加权对象关系图; Weighted sample program object relational graph [0023] FIG. 4 of the present invention;

[0024] 图5为本发明的BBAP方法伪代码示意图; The method of pseudo code BBAP [0024] FIG. 5 is a schematic view of the present disclosure;

[0025] 图6为本发明的MCGAP方法伪代码示意图; The method of pseudo code MCGAP [0025] FIG. 6 is a schematic view of the present disclosure;

[0026] 图7为采用三种方法构造加权对象关系图的大小比较示意图; [0026] FIG. 7 is a schematic diagram comparing the size of the three methods use weighted object relational graph structure;

[0027] 图8为本发明实施例中程序实际运行时间与三种方法的预测运行时间的对比示意图; [0027] Figure 8 a schematic view of Comparative Examples actually running time and running time of three methods predicted embodiment of the invention;

[0028] 图9为本发明的仿真实验参数示意图; Simulation parameters [0028] FIG. 9 is a schematic view of the present disclosure;

[0029] 图10为本发明的仿真实验加权对象关系图信息; [0029] Figure 10 simulation weighted object relational graph information of the present invention;

[0030] 图11为本发明的BBAP方法对目标模型三种特殊情况的求解分割时间对比图; BBAP Method [0030] FIG. 11 of the present invention to solve the case of three special target model split time comparison chart;

[0031] 图12为本发明的BBAP方法的分割结果在不同带宽下对应的运行时间对比示意图; [0031] segmentation results BBAP method of the present invention of FIG. 12 corresponding to the running time at different bandwidths schematic comparison;

[0032] 图13为本发明的BBAP方法的分割结果在不同带宽下对应的耗电量对比示意图; Segmentation result BBAP Method [0032] FIG. 13 of the present invention corresponds to the power consumption at different bandwidths schematic comparison;

[0033] 图14为本发明的BBAP方法的分割结果在不同带宽下对应的加权模型值对比示意图; BBAP segmentation result of the method of the present invention, [0033] FIG. 14 at different bandwidths corresponding weighting value comparison model schematic;

[0034] 图15为本发明的MCGAP方法对目标模型三种特殊情况的求解分割时间对比图; MCGAP Method [0034] FIG. 15 of the present invention to solve the case of three special target model split time comparison chart;

[0035] 图16为本发明的BBAP与MGCAP运行时间最优模型求解结果对比图; BBAP MGCAP runtime and optimal model [0035] Figure 16 comparison of the results of the present invention to solve FIG;

[0036] 图17为本发明的MCGAP方法的分割结果在不同带宽下对应的运行时间对比示意图; Segmentation result MCGAP Method [0036] FIG. 17 of the present invention corresponds to the running time at different bandwidths schematic comparison;

[0037] 图18为本发明的MCGAP方法的分割结果在不同带宽下对应的耗电量对比示意图; Segmentation result MCGAP Method [0037] FIG. 18 of the present invention corresponds to the power consumption at different bandwidths schematic comparison;

[0038] 图19为本发明的MCGAP方法的分割结果在不同带宽下对应的加权模型值对比示意图;[0039] 图20为本发明的BBAP与MGCAP的平均性能对比图。 Segmentation result MCGAP Method [0038] FIG. 19 of the present invention at different bandwidths corresponding weighting value comparison model schematic; [0039] BBAP MGCAP average performance comparison with FIG. 20 of the present invention.

具体实施方式 detailed description

[0040] 下面将结合附图和实例对本发明作进一步的详细说明。 [0040] The accompanying drawings and the following examples of the present invention will be further described in detail.

[0041] 本发明提出的一种基于带宽自适应代码迁移的移动设备节能方法,首先,采用静态与动态分析相结合的方法分析移动应用程序,并构造其对应的加权对象关系图;其次,将移动环境中变化的带宽作为一个变量,建立基于运行时间和耗电量的程序分割优化模型;然后,基于对象关系图和程序分割模型实现带宽自适应的程序分割方法;最后,根据分割结果实现程序在移动设备和服务器间的代码迁移和分布式执行,从而降低应用程序的执行时间和移动设备的耗电量,延长移动设备电池的使用寿命,而且应用程序的运行时间和耗电量随带宽变化波动较小,对带宽变化具有一定的适应性。 [0041] One proposed method of the present invention is based on the movement energy bandwidth adaptive code migration apparatus, first, the method of combining the static and dynamic analysis Analysis of mobile applications, and the weighted structure corresponding object graph; Secondly, mobile environment changes as a variable bandwidth, establish segmentation model based on the operating time and the power consumption of the program; then, based on the object model diagram and segmentation procedures implemented bandwidth adaptation procedures segmentation method; Finally, according to the procedures for the segmentation result and distributed execution code migration between the mobile device and a server, thereby reducing the power consumption and execution time of the mobile application, the mobile device to extend the life of the battery, the power consumption and operation time and with the application of the bandwidth variation less volatile, has a certain adaptability to bandwidth changes. 如图I所示,本发明的移动设备节能方法,具体过程如下: [0042] 步骤I,构造加权对象关系图。 FIG I, the mobile device power saving method of the present invention, the procedure is as follows: [0042] Step I, a weighted object relational graph structure.

[0043] 本发明实施例以一个Java程序为例来阐述加权对象关系图的构造过程,示例程序如图2所不,程序包含四个类:FacePreview、ImageCapture> FaceDetection和FaceDetectionLib,其中FacePreview 类的main 方法中创建了一个ImageCapture 对象和两个FaceDetection对象,而两个FaceDetection对象均在执行自身DetectFace方法时调用了FaceDetectionLib类的ProcessBlock方法。 [0043] Example embodiments of the present invention, a Java program to an example to illustrate the construction process of the weighted object graph, FIG. 2 does not sample program, the program comprising four classes: FacePreview, ImageCapture> FaceDetection and FaceDetectionLib, wherein the main class FacePreview the method creates a ImageCapture two FaceDetection objects and objects, and two FaceDetection objects are called ProcessBlock method FaceDetectionLib class in the implementation of its own DetectFace method. 首先,进行静态程序分析,利用指向分析(Points-to)技术分析Java程序的字节码文件,得到其方法调用关系图,并通过遍历调用关系图获取程序的所有对象及对象间的调用关系,从而构造出程序的初始对象关系图(I0RG),其节点和边分别对应应用程序的对象和对象间的调用关系。 First, static program analysis, pointing to the use of analysis (Points-to) Technical Analysis Java byte code file program, get its method call graph and call to get all the objects and relationships between objects by traversing program call graph, the initial object relational graph thus constructed program (I0RG), which edges correspond to the nodes and the call relationships between objects and object applications. 图3表示为示例程序对应的初始对象关系图,S_FacePreview创建对象D_ImageCapture、D_FaceDetectionl 和D_FaceDetection2,对象D_FaceDetectionl 和D_FaceDetection2 都调用S_FaceDetectionLib的方法,其中S和D前缀分别表示静态对象和动态对象。 3 shows a graph corresponding to the original object is a sample program, S_FacePreview create objects D_ImageCapture, D_FaceDetectionl and D_FaceDetection2, and D_FaceDetection2 D_FaceDetectionl objects are S_FaceDetectionLib method call, where S and D respectively represent the prefix static and dynamic objects. 由于节点间的交互主要以方法调用的方式体现,其通信数据主要表现为方法调用的参数及返回值,在动态程序分析阶段,利用Java字节码重写技术,可以获得程序IORG中每个节点对象的CPU运行时间以及每条边(对象间的调用关系)的通信数据量,即加权对象关系图中各节点与边的权值。 Due to the interaction between nodes mainly embodied in the manner of method calls, which mainly data communication method call parameters and return values, dynamic program in the analysis stage, using a Java byte code rewriting, the program can be obtained in each node IORG CPU time object and each side (relationships between objects call) a communication data amount, i.e., weight of each weighting nodes and edges of the object in relation to FIG. 图4表示为示例程序对应的加权对象关系图,例如节点S-FacePreview所代表的对象的CPU运行时间为50ms,节点S_FacePreview与节点D_ImageCaptur之间的通信数据量为9066bytes。 Figure 4 shows a sample program for weighting the corresponding object graph, for example, CPU time object represented by node S-FacePreview is 50ms, the amount of communication data between the nodes and the node D_ImageCaptur S_FacePreview is 9066bytes.

[0044] 步骤2,建立程序分割优化模型。 [0044] Step 2, to establish optimal model segmentation procedures.

[0045] 考虑到移动环境中带宽的变化,本发明将带宽作为一个变量,提出基于运行时间和耗电量的程序分割优化模型,令Xi标识节点i的运行位置,Xi=I和Xi=O分别表示节点i在移动设备和服务器端运行,则程序分割方案可表示为X= Ix1, X2,…,xj,b表示当前带宽,J表示最优程序分割方案。 [0045] Taking into account the bandwidth of the mobile environment changes, the present invention is used as a variable bandwidth, proposed segmentation model based on the operating time and the power consumption of the program, so that the operating position Xi identified node i, Xi = I and Xi = O i represent nodes in the mobile device and the server running the program partitioning scheme may be expressed as X = Ix1, X2, ..., xj, b represents current bandwidth, J represents the optimal program into the program. 程序分割优化模型的目标在于求得最优分割方案I,满足i = argSS『u'6),XP表示模型求解空间,W(X,b)表示当前带宽为b时分割方案X的优化模型,具体定义如下: Program segmentation optimization model's goal is to get the optimal partitioning scheme I, meet i = argSS "u'6), XP represents a model solution space, W (X, b) indicates the segment optimization model program X when the current bandwidth is b, defined as follows:

[0046] W(X,b) =WtXT(X,b)/TLocal+weXE(X,b)/ELocal [0046] W (X, b) = WtXT (X, b) / TLocal + weXE (X, b) / ELocal

[0047] 其中,TLocal和Ekxal分别表示程序全部运行在移动设备时的运行时间和耗电量;wt和We分别表示运行时间和耗电量的权重,且满足wt+we = I ;Τ (X, b)和E(X,b)分别表示当前带宽为b时采用程序分割方案X的程序运行时间和耗电量;模型求解空间Xp表示为: [0047] wherein, TLocal and run entirely Ekxal represent operating time and power consumption when the mobile device; wt and We represent the power consumption and operation time of the right weight and satisfy wt + we = I; Τ (X , b) and E (X, b) represent the current bandwidth is divided using the procedure of scheme X program run time and the power consumption is B; Xp solution space model expressed as:

[0048] [0048]

Figure CN102968173AD00081

[0049] 其中,带宽阈值Id1为满足概率P(b彡Id1)彡P。 [0049] wherein the bandwidth threshold Id1 to satisfy the probability P (b San Id1) San P. 的最大带宽值,P。 The maximum bandwidth value, P. 为概率阈值,主要根据无线移动环境中的带宽变化情况具体设定,本发明的实施实验中设定P。 Is the probability threshold, bandwidth change based primarily on the specific wireless mobile environment setting, embodiments of the present invention, the experimental set P. 为O. 85。 It is O. 85.

为带宽卜下最优分割方案L对应的优化模型值;a为经验常数,用以设定W (Ib1) Setting W (Ib1) a is an empirical constant for; L is a value corresponding to the bandwidth optimization model optimal partitioning scheme Bu

的上限值为》+ ,其中a的优选值与具体应用程序及其移动环境有关,本发明设 The upper limit value is "+, wherein preferably the value of a particular application and its relevant mobile environment, the present invention is provided

定的优选范围为O < a < 1,本发明中根据对具体应用程序的实验测试,该参数的优选值为a = O. 4。 Preferably in the range given O <a <1, in accordance with the present invention, experimental tests on the specific application, the preferred value of the parameter a = O. 4.

[0050] 带宽为b时采用程序分割方案X的程序运行时间T(X,b)表示如下: [0050] b is the bandwidth using Scheme X program into program running time T (X, b) as follows:

[0051 ] [0051]

Figure CN102968173AD00082

[0052] 其中,tnli与tnsi分别表示节点i在移动设备与服务器端的运行时间,节点i在移动设备的运行时间tnli在动态分析阶段可以得到,即节点i的权重,设服务器计算速度是移动设备的k倍,则: [0052] wherein, tnli with tnsi represent node i at run time of the mobile device and the server, node i at run time of the mobile device tnli can be obtained in the dynamic analysis stage, i.e., the right node i weight, provided the server computing speed of a mobile device k times, then:

[0053] [0053]

Figure CN102968173AD00083

[0054] Wij表示在不同位置(移动设备或服务器)执行的节点i与节点j的通信数据量,则带宽为b时节点i,j间数据传输时间为: [0054] Wij expressed in different locations (mobile device or a server) traffic node i and node j is performed on the data, the bandwidth of the node b i, j between the data transmission time is:

[0055] [0055]

Figure CN102968173AD00084

[0056] 带宽为b时米用程序分割方案X的程序耗电量E (X,b)表不为: Programs [0056] X is the bandwidth partitioning scheme when b consumption meter program E (X, b) table is not:

[0057] [0057]

Figure CN102968173AD00085

[0058] 其中,Ei表示节点i在移动设备上执行的耗电量,Eij表示节点i, j之间数据通信的耗电量;令Pepu表示移动设备的CPU功率。 [0058] where, Ei denotes the power consumption in node i is performed on the mobile device, Eij represents the power consumption data communication between nodes i, j; so Pepu denotes a CPU power of the mobile device. 一般情况下,移动设备WiFi接口的接收功率与发送功率差别较小,均表示为数据通信功率Pw,则有: In general, the smaller the reception power difference between the transmission power of the mobile device WiFi interface, and said data communication power Pw, there are:

[0059] [0059]

Figure CN102968173AD00086

[0060] [0060]

[0061]由 于 贝IJ ψ(χ^)<ψ{Χζ\δ,)χ(ΐ+α)ο 若b > bp 贝Ijw(x,b)<w(l:h)mx^ D1 ^ +)又由于P(I3Sb1)彡Pc,因此在目标模型中最优分割方案歹满足: [0061] Since the shell IJ ψ (χ ^) <ψ {Χζ \ δ,) χ (ΐ + α) ο If b> bp shell Ijw (x, b) <w (l: h) mx ^ D1 ^ +) Also, because P (I3Sb1) San Pc, and therefore the optimal segmentation scheme in the target model bad satisfied:

[0062] [0062]

[0063] 这说明所求最优分割方案在带宽变化情况下能够以概率P。 [0063] This shows that the optimal partitioning schemes can be in the bandwidth change request probability P. 使所对应优化模型的值满足求解空间Xp的阈值限制条件。 So that the value corresponding to the optimization model satisfies Xp solving threshold spatial constraints.

[0064] 该模型中运行时间和耗电量的权重可以由用户根据移动设备剩余电量和对程序响应时间的需求灵活设定。 [0064] Right runtime model and the power consumption can be flexibly re-set by the user according to the needs of the mobile device and the remaining power of the response times. 特别地,当Wt = I和W6 = O时,即对应运行时间最优模型;当Wt=O和We = I时,即为耗电量最优模型。 In particular, when Wt = I and W6 = O, i.e. corresponding to the optimal model running time; Wt = O and when We = I, the best model is the power consumption.

[0065] 步骤3,进行带宽自适应程序分割。 [0065] Step 3, dividing the bandwidth adaptation procedure.

[0066] 在上述加权对象关系图和程序分割优化模型的基础上,首先,基于深度优先搜索策略,提出分支定界程序分割方法(BBAP),深度搜索的约束条件不仅满足分割方案在当前带宽下对应的优化模型值小于当前保存的最小优化模型值,同时还需保证此分割在带宽阈值h下的模型值不高于所设定的优化模型的上限值,从而避免所选分割方案在带宽较低时开销过大,实现对带宽变化的适应性。 [0066] In the weighting object relational graph and program into optimized based model, firstly, based on depth-first search strategy, proposed branch and bound program division method (BBAP), constraints depth first search not only meet the partitioning scheme of bandwidth at the current optimization model for less than a minimum value corresponding to the current value stored in the optimization model, this is also required to ensure that the bandwidth is divided at the threshold h model than the upper limit value is not set optimization model, selected to avoid bandwidth fragmentation scheme too much overhead is low, to achieve adaptability to change in bandwidth. 但由于在最坏情况下方法时间复杂度为0(2η) (η为节点个数),该方法不适用于对象(节点数)较多规模较大的应用程序,在本发明的实验平台下当移动应用程序对应的对象节点数大于200时,该方法计算程序分割的求解时间会明显增加。 However, since the method of the worst case time complexity of 0 (2η) (η is the number of nodes), this method does not apply to objects (nodes) more larger applications, under the experimental platform of the invention when the mobile application corresponding to the object is greater than 200 nodes, the method of calculating program into solution time will be significantly increased. 为此,本发明针对大规模应用程序,从贪心策略考虑提出启发式的基于最小割的贪心方法(MCGAP)。 To this end, the invention is directed to large-scale applications, made from greedy greedy policy considerations based on heuristic method minimum cut of (MCGAP). MCGAP方法采用最小割Stoer-Wagner方法中用到的最大邻接值排序方法对对象节点进行排序,以BBAP方法中的约束条件为限制,基于贪心策略快速解得程序分割方案。 The method of using the maximum value adjacent MCGAP sorted minimum cut Stoer-Wagner used in the method of sorting objects node to BBAP process constraints to limit, the program quickly solve for segmentation scheme based on greedy strategy.

[0067] 本发明从搜索策略和贪心策略考虑,提出分别适用于小规模和大规模应用程序分割的分支定界程序分割法(BBAP)和基于最小割的贪心方法(MCGAP),其伪代码分别如图5,图6所示,其中输入主要包括当前带宽b、带宽阈值b1;以及程序对应的加权对象关系图WORG= (V, E,Wv,We),V、E、Wv和We分别表示节点集合、边集合、节点权重集合和边权重集合;输出为程序的最优分割方案和优化模型对应的值。 [0067] The present invention from a greedy search strategy and policy considerations are made for small scale applications and large-scale segmentation program into the branch and bound method (BBAP) and a minimum cut greedy method (MCGAP) on which are pseudocode 5, FIG. 6, wherein the input comprises a main current bandwidth B, B1 bandwidth threshold; and a weighting corresponding to the target program diagram WORG = (V, E, Wv, We), V, E, Wv and We represent node set, set of edges, the set of node weight and set edge weight; the output is the optimal partitioning scheme and optimization program corresponding to the model values.

[0068] 如图5所示,BBAP方法的第I和2行伪代码首先采用Stoer-Wagner静态方法求解带宽为h时的最优分割方案对应的优化模型的值minV_SW,并设定Id1带宽下优化模型值的上限值minV。 [0068] As shown in FIG. 5, lines I and 2 pseudocode BBAP method using Stoer-Wagner first method for solving a static value minV_SW bandwidth optimization model of optimal segmentation scheme corresponding to h, and sets the bandwidth of Id1 minV model to optimize the upper limit value. 第3行初始化所要求解的优化模型最优值minValue为一个所能表示的最大整数。 Optimization Model 3 Solution required initialized minValue optimal value is a largest integer that can be represented. 队表示必须在本地移动设备上执行的节点集合,如与用户交互的接口对象等节点,第4-8行BBAP方法将必须运行在本地移动设备的节点标记为“Xi=l”,V中不属于队的节点都属于待分割节点,待分割节点标记为“Xi=_l”。 Represents team node must be performed on a collection of local mobile device, object, etc. The interface interaction with a user node line 4-8 BBAP method must run labeled "Xi = l" mobile device in a local node, V is not It belongs to nodes belonging to the team to be split node to be split node labeled "Xi = _l". 第9行BBSearch函数基于基本的分支定界法,采用深度优先搜索法求得模型的最优解,每次迭代中均将当前的解空间分成两个子空间Ui=O表示该节点在服务器执行;Xi=l表示该节点在本地移动设备上执行),并采用剪枝策略进行方法优化;BBSearCh中的约束条件不仅满足分割方案在当前带宽下对应的优化模型的值小于当前保存的模型最小值(minValue),同时还需保证此分割在带宽阈值卜下的优化模型的值不高于所设定的模型阈值(minV),从而避免分割方案在带宽较低时开销过大,保证对带宽变化的适应性。 Line 9 BBSearch function based on the underlying branch and bound method, optimal solutions are obtained using a depth-first search models, each iteration in both the current solution space into two subspaces Ui = O indicates that the node implemented on the server; Xi = l indicates that the node is executed on the local mobile device), and a pruning strategy optimization method; BBSearCh constraints of partitioning scheme not only meet the current bandwidth value in the corresponding optimization was smaller than that of the currently stored minimum value ( the minValue), while the need to guarantee that this divided value of the optimization model Bu bandwidth threshold is not higher than the threshold model (MINV) set, so as to avoid excessive segmentation scheme overhead at low bandwidth, guaranteed bandwidth change adaptability. 最后BBAP方法的第10行返回程序的最优分割方案Xmin和优化模型对应的最优值minValue。 MinValue optimum value of line 10 returns to the routine method BBAP final optimal segmentation scheme Xmin corresponding to the model and optimization. 最坏情况下BBAP方法时间复杂度为0(2n),当应用程序对象节点数较多时,计算复杂度较高,因此该方法不适用于规模较大应用程序的分割。 Method BBAP worst case time complexity of 0 (2n), the application object when a large number of nodes of high computational complexity, and therefore the method is not suitable for large-scale application is divided.

[0069] 由于带宽越高,数据传输开销越低,因此,带宽较高情况下运行于移动设备的节点在带宽降低时将仍运行于移动设备,而带宽较低情况下运行于服务器的节点在带宽升高时将仍运行于服务器。 [0069] Since the higher the bandwidth, the lower the data transmission overhead, thus, the node running on the mobile device in case a higher bandwidth of the reduced bandwidth is still running on the mobile device, while the bandwidth of the server running on the node where the low increased bandwidth will still run on the server. 记Xb = (Cb, Sb)表示带宽b下对应的程序最优分割方案,Cb和Sb分别表示带宽为b时运行在移动设备和服务器端的节点集合,对于某个带宽B下对应的程序最优分割方案Xb = (CB,SB),有:,(2)5>6 = S4 eLMCGAP 方法中,考虑在b与Id1间变化的带宽,设S = (H,)为模型最优解,则有Qe Note Xb = (Cb, Sb) b represents the bandwidth of the program corresponding to the optimal partitioning scheme, Cb and Sb respectively represent bandwidth is b and mobile devices running on the server node set, the program for a certain bandwidth corresponding to the optimal B partitioning schemes Xb = (CB, SB), there are:, (2) 5> 6 = S4 eLMCGAP method in consideration of the bandwidth between b and changing Id1, set S = (H,) for the optimal solution, there are Qe

[0070] 如图6所示,MCGAP方法首先在第I行代码中将所要求解的优化模型最优值minValue初始化为一个所能表示的最大整数。 As shown in [0070] FIG 6, MCGAP method first optimization model solution for the first row in the code I claim minValue optimum value is initialized to a maximum integer that can be represented. 第2-4行根据Stoer-Wagner方法分别求得静态带宽b和Id1下的最优程序分割方案(Cb,Sb)和,并根据对应的优化模型最优值设定带宽K下优化模型值的上限值Wbl。 The line 2-4 Stoer-Wagner, respectively to get the optimal method of application and under static bandwidth b Id1 partitioning schemes (Cb, Sb) and, according to a corresponding optimization model and optimal value under the set bandwidth optimization model value of K the upper limit Wbl. MCGAP方法中第5-6行的Adjust函数根据Stoer-Wagner方法所求得的Cb和\调整程序的加权对象关系图,并确定待分割节点V',F' = F-C6-&,即当带宽在bjPb间变化时只需决策V'中节点的分割,以减小计算量。 Adjust function MCGAP method according to lines 5-6 and Cb \ weighted object graph adjustment process Stoer-Wagner determined method, and the split node is determined to be V ', F' = F-C6- &, i.e. when simply dividing the bandwidth decision V 'nodes when change between bjPb, to reduce the amount of calculation. 第7-18行即基于最小割求解程序的最优分割方案,其中第8行MA_0rder函数采用最小割Stoer-Wagner方法中的最大邻接值排序方法对节点进行排序;第9_11行基于贪心策略确定当前选择的分割方案(C,S),C和S分别表示当前分割中运行在本地移动设备和服务器的节点集合,并计算此方案在带宽!^和、下对应的优化模型值Wb (C,S)和Wbl (C,S);第12-15行根据与BBAP中相同的两个约束条件:Wbl(C,S) <ffbl和Wb(C,S)〈minValue,其中Wbl表示带宽卜下程序分割优化模型的上限值,更新当前最优分割方案(Cmin,Smin);第16-17行Contract函数是将Vnrl和Vm两个节点合并,并从节点集合V'中删除节点Vm,其中A3=Contract (A1, A2)具体表示删除两个节点A1和A2,生成一个新节点A3,并对于图中其他任意节点V,建立新边e= (A3, V),更新其权重:w (A3, V) = w (A1, v) +w (A2, v)。 7-18 minimum cut line which is based on the optimal solver partitioning scheme, wherein the first row 8 MA_0rder function minimal cuts adjacent to the maximum value Stoer-Wagner method sorted sorting nodes; 9_11 first line current is determined based on greedy strategy selected partitioning scheme (C, S), C and S represent current partition run in the node local mobile device and a server set, and calculates this solution bandwidth! ^ and optimize the model values ​​corresponding Wb (C, S ) and Wbl (C, S); 12-15 BBAP line according to the same two constraints: Wbl (C, S) <ffbl and Wb (C, S) <minValue, wherein Bu represents bandwidth used under program WBL dividing the upper limit value of the optimization model, updating the current optimal segmentation scheme (Cmin, Smin); Contract line 16-17 Vnrl functions are combined and Vm two nodes, and the node from the set V 'of the deletion node Vm, wherein A3 = Contract (A1, A2) specifically means to delete two nodes A1 and A2, to generate a new node A3, and the drawings, any other nodes V, to create a new edge e = (A3, V), the update of the weights: w (A3 , V) = w (A1, v) + w (A2, v). 最后MCGAP方法的第19行返回程序的最终最优分割方案(Cmin,Smin)和优化模型对应的最优值minValue。 Finally, line 19 returns to the routine method MCGAP final optimal segmentation scheme (Cmin, Smin), and optimal value corresponding to the optimum minValue.

[0071] 步骤4,分布式执行程序。 [0071] Step 4, the distributed execution.

[0072] 最后根据程序分割方法解得的最优分割方案,实现程序在移动设备和服务器间的代码迁移和分布式执行,可以有效降低应用程序的执行时间和移动设备的耗电量,延长移动设备的电池使用寿命。 [0072] Finally, according to the optimum segmentation scheme solution obtained segmentation program implementation code migration process between the mobile device and the server and the distributed execution, can effectively reduce the execution time and power consumption of the mobile application, the mobile extension device's battery life.

[0073] 下面将结合附图说明本发明提出的基于带宽自适应程序分割的移动设备节能方法相比其他方法的改进效果。 [0073] will be described in conjunction with the accompanying drawings improving effect as compared with other methods of energy-saving method of a mobile device based on the bandwidth adaptation procedure divided by the present invention. 首先为了分析本发明的加权对象关系图构造方法性能,实施平台采用内存为3. 0GB, CPU频率为2. 53GHz,运行Ubuntu 10. 10操作系统的ThinkPadX201i笔记本。 First, in order to analyze the performance of the method of FIG weighted object relational structure of the present invention, the memory is implemented using platform 3. 0GB, CPU frequency of 2. 53GHz, running Ubuntu 10. 10 OS ThinkPadX201i notebook. 利用Java字节码分析与优化框架Soot工具和字节码重写技术,针对DacapoBenchmarks程序,将本发明的加权对象关系图构造方法(CSDPAC)与纯静态分析方法(PSPAC)、纯动态分析方法(PDPAC)进行对比。 Using Java bytecode analysis and optimization framework Soot and bytecode rewriting tool, for DacapoBenchmarks program, the weighted object relational graph constructor (CSDPAC) of the present invention and pure static analysis (Pspac), pure dynamic analysis methods ( PDPAC) were compared. 图7和图8都是执行8个示例程序(Programs )来进ίΐ对t匕,分别是:avrora, h2, luindex, lusearch, pmd, sunf low, tomcat 和xalan。 Figures 7 and 8 are performed eight sample program (Programs) for the intake of t ίΐ dagger, namely: avrora, h2, luindex, lusearch, pmd, sunf low, tomcat and xalan.

[0074] 图7表示三种方法所获取对象关系图的大小比较。 [0074] FIG. 7 shows a graph comparing the size of the object acquired three methods. 从图7可以看出,与I3DPAC相t匕,CSDPAC与PSPAC所构造的加权对象关系图规模较小。 As it can be seen from FIG. 7, the phase t I3DPAC dagger, smaller weighting CSDPAC objects constructed with PSPAC scale diagram. 这是由于CSDPAC与PSPAC均利用程序的静态信息删除系统库对象,对初始程序对象关系图进行裁剪,而roPAc记录了包括系统库对象及其关系等所有运行时信息,对象关系图规模较大。 This is due to CSDPAC and PSPAC utilize static information deleted system library program objects, object graph of the initial program to crop, and roPAc record includes all runtime information, a large object graph scale system library objects and their relationships.

[0075] 图8表示程序实际运行时间与三种方法下预测运行时间的对比。 [0075] Comparative predicted actual running time and running time of the program represented in FIG. 8 three methods. 实验根据程序总字节码数(Bytecode Instruction Count,简称BIC)来预测程序的运行时间。 Experimental procedure The total number of bytes (Bytecode Instruction Count, referred to as BIC) for predicting the code run time of the program. 预测运行时间(Predicted Execution Time,简称PET)与实际运行时间(Actual Execution Time,简称AET)越接近,表明所构造对象关系图越准确。 Predict running time (Predicted Execution Time, referred to as PET) and the actual running time (Actual Execution Time, referred to as AET) closer, more accurately indicate the constructed object graph. 从图8可以看出,CSDPAC和TOPAC的预测运行时间都比较接近于程序实际运行时间,表明动态分析能够获得较为准确的程序运行时信息。 As can be seen in FIG. 8, CSDPAC of TOPAC and predicted operating time is relatively close to the actual running time of the program, indicating that dynamic analysis can be obtained more accurate information on the program is running. 而PSPAC只采用静态程序分析,无法精确获取程序运行时信息,因此预测运行时间偏小,表明PSPAC所获取对象关系图不够准确。 The PSPAC using only static program analysis, can not get accurate information about the program is running, so predicting the running time is small, indicating PSPAC acquired the object graph is not accurate enough. 由图7和图8可以看出,CSDPAC结合了TOPAC和PSPAC的优点,既能获得较准确的程序信息,又能避免对象关系图规模较大,减轻移动应用程序分割的计算负担。 As can be seen from FIG. 7 and FIG. 8, CSDPAC and combines the advantages of TOPAC PSPAC, both the program information to obtain more accurate, but also to avoid large scale object graph to reduce the computational burden of the mobile application is divided.

[0076] 为评价本发明的BBAP与MCGAP方法的性能,实施平台采用内存为3. 0GB, CPU频率为2. 53GHz,运行Windows 7操作系统的ThinkPad Χ201Ϊ笔记本。 [0076] In order to evaluate the performance BBAP MCGAP method of the invention, the memory for the embodiment of platform 3. 0GB, CPU frequency of 2. 53GHz, the operating system running Windows 7 ThinkPad Χ201Ϊ notebook. 具体实施参数设置如图9所示,图10为应用程序实例对应的对象关系图中节点个数和边个数。 DETAILED DESCRIPTION parameter settings shown in FIG. 9, FIG. 10 is an object diagram corresponding to the number of nodes and the number of instances of the application side. 仿真实验针对程序分割模型的三种特殊情况:(l)wt = I, we = O (运行时间最优);(2) Wt = O, We = I (能量最优);(3) Wt = O. 5, We = O. 5,分别实施如下步骤: The simulation model for the program into three special cases: (l) wt = I, we = O (optimal running time); (2) Wt = O, We = I (optimal energy); (3) Wt = O. 5, We = O. 5, respectively, performing the following steps:

[0077] (I)用Stoer-Wagner方法和BBAP/MCGAP方法分别求解带宽IOOkb/s下的最优分割Cut (W,SJi, 100)和Cut (W,BBAP, 100)(或Cut (W,MCGAP, 100));其中S_W 是Stoer-Wagner方法的简称,W表示优化模型; [0077] (I) by methods and Stoer-Wagner BBAP / MCGAP method for solving the optimal partition, respectively Cut (W, SJi, 100), and Cut (W, BBAP, 100) (or Cut (W / lower bandwidth IOOkb s, MCGAP, 100)); wherein S_W is referred Stoer-Wagner method, W represents the optimization model;

[0078] (2)分别计算以上两个分割Cut(W,S_W,100)与Cut (W,BBAP,100)(或Cut (ff, MCGAP, 100))在不同带宽b 下对应的模型值W{Cut (W,S_W,100),b}、W {Cut (ff, BBAP, 100),b}(或W {Cut (ff, MCGAP, 100), b}); [0078] (2) two or more divided calculate Cut (W, S_W, 100) and Cut (W, BBAP, 100) (or Cut (ff, MCGAP, 100)) corresponding to the model at different bandwidths b value W {Cut (W, S_W, 100), b}, W {Cut (ff, BBAP, 100), b} (or W {Cut (ff, MCGAP, 100), b});

[0079] (3)用Stoer-Wagner方法依次计算不同带宽b下对应的模型最优值Wmin (b); [0079] (3) The method with Stoer-Wagner model sequentially calculated at different bandwidths corresponding to Wmin optimum value b (b);

[0080] (4)计算程序全部在移动设备上执行对应的模型值WLocal。 [0080] (4) calculation program performs all WLocal corresponding model values ​​on the mobile device.

[0081] 特殊地,为了更加直观,对于(I) wt = I, We = O (运行时间最优)和(2) Wt = O,We= I (能量最优)两种情况,实验结果将模型值等价转化为程序运行时间和耗电量,图中符号表示分别用'T'(Time)和'E'(Energy)代替相应的'W,(Weight),即W{Cut (W,S_ff, 100),b}、W{Cut(W, BBAP, 100),b}(或W {Cut (W,MCGAP, 100),b} )、Wmin (b)和WLocal 在(I)wt = 1,we = O 情况下分别对应表示为T{Cut (T,S ff, 100),b}、T {Cut (T,BBAP, 100), b}(或T {Cut (T, MCGAP, 100),b} )、Tmin (b)和TLocal,在(2) wt = 0,We= I 情况下分别对应表示为E {Cut (E, S_ff, 100),b}、E {Cut (E, BBAP, 100),b}(或E {Cut (E, MCGAP, 100),b} )、Emin (b)和ELocalo [0081] particularly, to a more intuitive, for (I) wt = I, We = O (optimal running time) and (2) Wt = O, We = either case, the results I (optimal energy) will model values ​​into equivalent program run time and power consumption, the figures showing respectively instead of the corresponding symbol 'W, (Weight) with' T '(time), and' E '(Energy), i.e. W {Cut (W, S_ff, 100), b}, W {Cut (W, BBAP, 100), b} (or W {Cut (W, MCGAP, 100), b}), Wmin (b) and WLocal in (I) wt = 1, the lower we = O where respectively denoted as T {Cut (T, S ff, 100), b}, T {Cut (T, BBAP, 100), b} (or T {Cut (T, MCGAP, 100 ), b}), Tmin (b) and TLocal, in (2) wt = 0, We = correspond to the I where denoted as E {Cut (E, S_ff, 100), b}, E {Cut (E, BBAP, 100), b} (or E {Cut (E, MCGAP, 100), b}), Emin (b) and ELocalo

[0082] 图11表示BBAP方法对目标模型三种特殊情况下的求解时间。 [0082] FIG. 11 shows a method for solving BBAP time at three special cases of the target model. 图中Model_T、Model_E 和Model_ff 分别对应(I) Wt = I 和We = O ; (2) Wt = O 和We = I ; (3) Wt = O. 5 和we = O. 5三种情况。 FIG Model_T, Model_E and Model_ff correspond (I) Wt = I and We = O; (2) Wt = O and We = I; (3) Wt = O. 5 and three cases we = O. 5. 可以看出,对于节点个数较少的图,BBAP能够在较短时间内求出最优解;对于节点个数较多的图,其求解时间较长。 As can be seen, for a small number of nodes in the graph, BBAP can be the optimal solution in a short time; the number of nodes to FIG more, which a long time to solve. 这说明BBAP适用于规模较小的图,而对于节点数较多的图,如对于lusearch程序,BBAP的计算开销明显增大。 This shows BBAP for smaller-scale map, and for drawing more nodes, such as for lusearch program, computational overhead BBAP significantly increased.

[0083] 图12、图13和图14分别表示为BBAP与其他方法在带宽变化情况下对应的程序运行时间(wt = I, We = O)、耗电量(Wt = O, We = I)和最优模型值(Wt = O. 5, We = O. 5)的性能对比图。 [0083] FIG. 12, FIG. 13 and FIG. 14 are expressed as BBAP other methods corresponding to changes in the running time of the bandwidth (wt = I, We = O), power consumption (Wt = O, We = I) and the optimum model values ​​(Wt = O. 5, We = O. 5) performance comparison chart. 图12〜14中分别给出了在四个程序的运行对比,四个程序分别是:(A)RandomGraphl 程序,(B) RandomGraph2 程序,(C) lusearch 程序,(D)avrora 程序。 In FIG. 12~14 were given four programs running contrast, four procedures are: (A) RandomGraphl program, (B) RandomGraph2 program, (C) lusearch program, (D) avrora program. 在图12中,T {Cut (T, BBAP, 100), b}和T {Cut (T, S_W, 100), b}分别表示带宽为100kb/s 时用BBAP和Stoer-Wagner方法得到的最优分割方案Cut (T, BBAP, 100)和Cut (T, SW,100)在不同带宽b下对应的程序运行时间。 In Figure 12, T {Cut (T, BBAP, 100), b} and T {Cut (T, S_W, 100), b} are represented by BBAP and Stoer-Wagner method obtained when the bandwidth of 100kb / s most preferred partitioning schemes Cut (T, BBAP, 100), and Cut (T, SW, 100) at different bandwidths corresponding to the program run time b. Tmin (b)表示在每个带宽b下多次用Stoer-Wagner方法求得的最优分割方案对应的最短程序运行时间。 Tmin (b) a plurality of times represented by Stoer-Wagner method determined at the optimum bandwidth of each divided program b corresponding to the shortest run time. TLocal表示不采用程序分割,即程序全部在移动设备本地执行的时间。 TLocal means that no program division, i.e. the time all the procedures performed locally at the mobile device. 可以看出,T{Cut(T,BBAP,100),b}与Tmin(b)在多数情况下均小于TLocal,而TlCut (T,S_ff, 100), b}在带宽较大情况下也小于TLocal,这说明利用程序分割实现代码迁移,能够有效降低应用程序的运行时间。 As can be seen, T {Cut (T, BBAP, 100), b} and Tmin (b) in most cases less than TLocal, and TlCut (T, S_ff, 100), b} in the case of large bandwidth is less than TLocal, indicating that the use of the program implementation code division migration, can effectively reduce the run time of the application. 当带宽大幅度下降时,静态程序最优分割Cut (T, S_ff, 100)对应的运行时间T {Cut (T, S_ff, 100),b}急剧增长,随带宽变化波动较大。 When the bandwidth is significantly reduced static program optimal segmentation Cut (T, S_ff, 100) corresponding to the running time T {Cut (T, S_ff, 100), b} rapid growth, bandwidth changes with volatile. 而T{Cut(T,BBAP,100),b}较接近于不同带宽下的程序最短运行时间Tmin (b),且波动较为平缓。 And T {Cut (T, BBAP, 100), b} is closer to the minimum run time program at different bandwidths Tmin (b), and the volatility is more gentle. 图13和图14对应的程序耗电量和最优模型值具有类似结论。 13 and 14 corresponding to FIGS procedures consumption and optimum model values ​​with similar conclusions. 这说明相比静态Stoer-Wagner方法,BBAP能够较好地适应带宽变化,减少应用程序运行时间和耗电量;而与每个不同带宽下均需重新计算分割的动态方法相比,BBAP仅需分割一次,降低了分割开销。 This shows that compared to static methods Stoer-Wagner, BBAP can better adapt to bandwidth changes, reduce power consumption and operation time applications; dynamic method compared with the required bandwidth is recalculated for each different division, BBAP only split time, reducing the segmentation overhead.

[0084] 图15为MCGAP方法对目标模型三种特殊情况下的求解时间。 [0084] FIG. 15 is a method for solving MCGAP time at target model three special cases. Model_T、Model_E和Model_W分别对应(I) Wt = I和We = O (运行时间最优);(2) Wt = O和We = I (能量最优);(3)wt = 05和~ = 0.5。 Model_T, Model_E and Model_W respectively (I) Wt = I and We = O (optimal running time); (2) Wt = O and We = I (optimal energy); (3) wt = 05 and a = 0.5 ~ . 与图11比较,可以看出,图节点个数较少时MCGAP方法的求解时间与BBAP方法相差不大;而节点个数较多时MCGAP方法的求解时间明显减少。 Compared with FIG. 11, it can be seen, when the number of nodes in FIG less time MCGAP solving methods and methods BBAP or less; and a method for solving the time when MCGAP large number of nodes decreased significantly.

[0085] 图16为MCGAP方法与BBAP方法在不同带宽下求解的程序最短运行时间对比图。 [0085] FIG. 16 is a method for solving MCGAP method BBAP different bandwidths in comparison minimum run time program of FIG. 其中b表示带宽,B、M和P分别表示BBAP、MCGAP方法和MCGAP近似解的精确度。 Where b represents the bandwidth, B, M and P represent the accuracy of the approximate solution BBAP, MCGAP methods and MCGAP. 设X为BBAP解得的模型最优解,X为采用MCGAP方法求得的近似最优解,则W(X,b)/ iv(xh)为MCGAP方法近似解的精确度。 Let X model BBAP solution obtained optimal solution, X is a near-optimal solution obtained using MCGAP method, the accuracy of W (X, b) / iv (xh) is the approximate solution MCGAP method. 从图16可以看出,MCGAP求解的最短程序运行时间较接近于BBAP对应的最优解,精确度较高,可用于较快地求得规模较大对象关系图的近似最优解。 As can be seen from FIG. 16, MCGAP shortest solving time run closer to the optimal solution corresponding BBAP, high accuracy, can be used to approximate the optimal solution quickly obtained a larger scale of the object graph.

[0086] 图17、图18和图19分别为MCGAP与其他方法在带宽变化情况下对应的程序运行时间(wt = l,we = O)、耗电量(wt = 0,we = I)和最优模型值(wt = O. 5, We = O. 5)的性能对比图。 [0086] FIGS. 17, 18 and 19 are other methods MCGAP corresponding bandwidth change at program runtime (wt = l, we = O), power consumption (wt = 0, we = I) and optimal model value (wt = O. 5, We = O. 5) performance comparison chart. 图17〜19中分别给出了在四个程序的运行对比,四个程序分别是:(a) avrora程序,(b) lusearch程序,(c) Iuindex程序,(d)h2程序。 FIG. 17~19 were given four programs running contrast, four procedures are: (a) avrora program, (b) lusearch program, (c) Iuindex program, (d) h2 program. 由图17,图18和图19可以看出,与程序全部运行在移动设备相比,利用程序分割和代码迁移可以降低移动设备的耗电量,缩短应用程序的运行时间;而与静态程序分割Stoer-Wagner方法相比,MCGAP对应的模型目标值较接近于不同带宽下的最小值,随带宽波动较为平缓。 FIG 17, 18 and 19 can be seen, compared with run entirely at the mobile device, using program division and code migration can reduce the power consumption of the mobile device, shortening the running time of the application; static program is divided and compared Stoer-Wagner, MCGAP closer to a target value corresponding to the minimum model at different bandwidths, the bandwidth with relatively flat fluctuation. 可见,随着环境中带宽的变化,MCGAP能够避免模型目标值因带宽降低而急剧增加,有效缩短程序运行时间,降低移动设备的耗电量。 Visible, as the environment changes in bandwidth, MCGAP target model can be avoided due to reduced bandwidth and increased dramatically shorten the running time, reduce the power consumption of mobile devices. 虽然图中动态方法的性能较好,但BBAP和MCGAP均避免了动态方法在不同带宽下多次计算分割的较大开销。 Although the preferred method of dynamic performance figures, but are MCGAP BBAP and dynamic method to avoid the large overhead calculating dividing times at different bandwidths. 如果考虑动态方法多次分割的计算开销,其性能将明显下降。 Considering the computational overhead of dynamic segmentation method multiple times, the performance will be significantly decreased.

[0087] 图20为BBAP与MCGAP方法的平均性能对比图。 [0087] FIG. 20 is the average performance BBAP MCGAP comparison method FIG. TRl和ERl分别表示与采用Stoer-Wagner方法相比,采用BBAP/MCGAP方法时程序平均运行时间和耗电量降低的百分比;TR2和ER2分别表示与程序全部运行在移动设备相比,采用BBAP或MCGAP方法时程序平均运行时间和耗电量降低的百分比。 TRl and ERl respectively compared with the method using Stoer-Wagner, using the percentage BBAP / MCGAP average running time and method of application of reduced power consumption; ER2 and TR2 respectively represent run entirely as compared to the mobile device, or use BBAP the average percentage of uptime and reduced power consumption MCGAP method program. 可以看出,与程序全部运行在移动设备相比,采用BBAP方法对应的程序平均运行时间和耗电量分别降低了44. 17%和34. 47%,采用MCGAP方法的程序平均运行时间和耗电量分别降低了37. 44%和46. 09% ;而与静态程序分割Stoer-Wagner方法相比,BBAP对应的平均运行时间和耗电量分别降低了26. 38%和25. 88%,MCGAP对应的程序平均运行时间和耗电量分别降低了26. 99%和30. 58%。 As can be seen, compared with run entirely on a mobile device, the corresponding program using the method BBAP average operation time and power consumption decreased by 44.17% and 34.47%, using the method described in Procedure MCGAP average run time consuming and power decreased by 37.44% and 46.09%; compared with static program Stoer-Wagner segmentation method, BBAP corresponding average operation time and power consumption decreased by 26.38% and 25.88%, program operation time and the average power consumption MCGAP corresponding decreased by 26.99% and 30.58%.

[0088] 通过以上具体实施实验验证,可以得出,在带宽不断变化的情况下,本发明的基于带宽自适应程序分割和代码迁移的移动设备节能方法,可以有效降低应用程序的执行时间和移动设备的耗电量,从而延长移动设备的电池使用寿命。 [0088] DETAILED experiments above embodiments, can be drawn, in the case of changing the bandwidth, a mobile device method of saving bandwidth adaptation procedures based segmentation and code migration, can effectively reduce the execution time of the application of the present invention and a mobile consumption of the devices, thereby extending battery life of mobile devices.

Claims (5)

1. 一种基于带宽自适应代码迁移的移动设备节能方法,在移动环境带宽不断变化的情况下,其特征在于,该移动设备节能方法通过下面步骤实现: 步骤I:构造加权对象关系图,具体是:首先,进行静态程序分析,根据程序的方法调用关系,构造程序初始的对象关系图,对象关系图中的各节点和边分别对应程序中的对象和对象间的调用关系;然后,通过动态程序分析获得对象关系图中各节点对象的运行时间以及每条边的通信数据量,得到加权对象关系图; 步骤2 :基于加权对象关系图,将带宽作为一个变量,建立基于运行时间和耗电量的程序分割优化模型,具体是:令Xi标识节点i的运行位置,Xi=I和Xi=O分别表示节点i在移动设备和服务器端运行,程序分割方案表示为X = Ix1, X2,…,χη},η为加权对象关系图中的节点个数,则程序分割优化模型的目标在于 A bandwidth adaptive code migration of the mobile device based on power saving method, in a case where the bandwidth of the changing mobile environment, wherein the mobile device is achieved by the following energy saving method steps: Step I: weighted object graph structure, particularly They are: first, static program analysis, calling relationships method according to a program, constructor initial object graph, each node object relation graph and edges are calling relationships between objects in the program corresponding to the object; then, the dynamic Analytical results of each run-time program of the node object and a communication data amount in each edge object graph to obtain a weighted object graph; step 2: based on the weighted object graph, as a variable bandwidth, and establishing the power consumption based on the operating time amount of a program into the optimization model, in particular: Let Xi identified node i operating position, Xi = i and Xi = O represent node i running on the mobile device and the server side, program segmentation scheme is represented as X = Ix1, X2, ... target, χη}, η is the number of nodes in the weighted graph objects, the process optimization model is divided 得最优分割方案J ^^ = argminr(X,6),Xp为模型求解空间,b表示当前带宽,ff(X, b)表示当前带宽为b时程序分割方案X的优化模型,具体定义如下: W(X,b) =WtXT(X,b)/TLocal+weXE(X,b)/Eloc31 其中,TLocal和Ekjcal分别表示程序全部运行在移动设备的运行时间和耗电量;wt和We分别表示运行时间和耗电量的权重,且满足wt+we= I ;T(X, b)和E(X,b)分别表示当前带宽为b时采用程序分割方案X的程序运行时间和耗电量; 所述的模型求解空间Xp定义为={x IW{X,b,)< w{x^,b,y(\ + a)^,其中,带宽阈值Id1为满足概率P (b彡bx)彡P。 Have optimal segmentation scheme J ^^ = argminr (X, 6), Xp solution space for the model, b represents current bandwidth, ff (X, b) indicates that the current bandwidth optimization model segmentation procedures of Scheme X b, the defined as follows : W (X, b) = WtXT (X, b) / TLocal + weXE (X, b) / Eloc31 wherein, TLocal and Ekjcal represent run entirely run time and power consumption of the mobile device; and We respectively wt represents the power consumption and operation time of the right weight and satisfy wt + we = I; T (X, b) and E (X, b) respectively using the procedure partitioning scheme X program run time and the current consumption b bandwidth amount; the model solution space Xp is defined as a = {x IW {X, b,) <w {x ^, b, y (\ + a) ^, wherein the bandwidth threshold Id1 to satisfy the probability P (b San bx ) San P. 的最大带宽值,P。 The maximum bandwidth value, P. 为所设定的概率阈值为带宽h下最优程序分割方案对应的优化模型值;经验常数a > O ; 步骤3 :进行带宽自适应程序分割,在节点个数η不超过200时,采用分支定界程序分割方法寻找最优分割方案,在节点个数η大于200时,采用基于最小割的贪心方法来寻找最优分割方案; 所述的分支定界程序分割方法基于分支定界深度优先搜索法,深度搜索的约束条件包括: O程序分割方案在当前带宽b下对应的优化模型值小于当前保存的优化模型的最小值;2)程序分割方案在带宽阈值Id1下的模型目标值不高于所设定模型上限值π(χζ,ύ)χ(\+α); 所述的基于最小割的贪心方法,利用Stoer-Wagner最小割算法求得带宽为b和Id1时对应的运行在移动设备的节点集合Cb和运行在服务器端的节点集合&,令待分割节点V, 二V-Cb-Sbt,对V'中节点进行分割,采用Stoer-Wagner最小割算法中的最大邻接 Probability threshold is set optimal bandwidth optimization model values ​​corresponding to the program into the program H; empirical constant a> O; Step 3: dividing the bandwidth adaptive procedure, when the number of nodes in the [eta] does not exceed 200, the branch when bounding segmentation procedure to find the optimal partitioning scheme, at 200 [eta] is greater than the number of nodes, the method using the minimum cut based greedy to find the optimal partitioning scheme; the branch and bound method is based on segmentation program branch and bound depth-first search method, the depth of search constraints include: O program into the program corresponding to less than the minimum value of the optimization model to optimize the model currently stored in the current bandwidth b; 2) the target program into the program model in a bandwidth not higher than the threshold value Id1 value π (χζ, ύ) χ (\ + α) set on the model; greedy the minimum cut method based on the use of the minimum cut algorithm Stoer-Wagner determined bandwidth is b and the corresponding operation in the mobile Id1 node device in the node set of Cb and running server & collection, so the node to be split V, two V-Cb-Sbt, to V 'node is divided, using the maximum adjacent Stoer-Wagner minimum cut algorithm 排序算法对节点进行排序,然后基于贪心策略,同时根据与分支定界程序分割方法中相同的深度搜索的约束条件选取最优分割方案; 步骤4 :根据得到的最优分割方案,实现程序在移动设备和服务器间的代码迁移和分布式执行。 Sorting algorithm to sort the nodes, and based on greedy strategy, and select the best partitioning scheme to the constraints segmentation and branch and bound method, a program of the same depth of the search; Step 4: The obtained optimal partitioning scheme, the program implemented in the mobile the code between devices and server migration and distributed execution.
2.根据权利要求I所述的一种基于带宽自适应代码迁移的移动设备节能方法,其特征在于,所述的概率阈值P。 An I according to claim power saving method based on the mobile device's bandwidth adaptive code migration, wherein said probability threshold P. 设定为O. 85。 It is set to O. 85.
3.根据权利要求I所述的一种基于带宽自适应代码迁移的移动设备节能方法,其特征在于,所述的经验常数a设定为O. 4。 An I according to claim code migration based on the bandwidth adaptation method for saving mobile device, wherein, the empirical constant a is set to O. 4.
4.根据权利要求I所述的一种基于带宽自适应代码迁移的移动设备节能方法,其特征在于,步骤2中所述的带宽为b时采用程序分割方案X的程序运行时间T(X,b)为: An I according to the method for saving mobile device based on the bandwidth of the adaptive code migration, wherein, using the program into program X's program run time T (X when the bandwidth in step b as claimed in claim 2, b) as follows:
Figure CN102968173AC00031
其中,tnli与tnsi分别表示节点i在移动设备与服务器端的运行时间;tnli为加权对象关系图中对应节点i的权重,设服务器计算速度是移动设备的k倍,则:tnsi=tnli/k ;令1」表示移动设备与服务器端的通信数据量,则带宽为b时节点i,j间数据传输时间为:tu =WijA。 Wherein, tnli with tnsi represent node i running time of the mobile device and the server; tnli a weighted object graph weights corresponding node i of the weight, is provided a server computing speed is k times a mobile device, then: tnsi = tnli / k; order 1 "represents the amount of data the mobile device and a communication server, when the bandwidth of node i b, j between the data transmission time is: tu = WijA.
5.根据权利要求I所述的一种基于带宽自适应代码迁移的移动设备节能方法,其特征在于,步骤2中所述的带宽为b时采用程序分割方案X的程序耗电量E (X,b)为: An I according to claim power saving method based on the mobile device bandwidth adaptive code migration, which is characterized in that a program into program X's program consumption E (X b When in step 2 of the bandwidth , b) as follows:
Figure CN102968173AC00032
其中,Ei表示节点i在移动设备上运行的耗电量,Ei = tniiXPcpu ;Eij表示节点i,j之间数据传输的耗电量,Eij = tuXPw丨_表示移动设备的CPU功率,Pw表示移动设备WiFi接口的数据通信功率。 Wherein, Ei denotes the power consumption of the node i to run on mobile devices, Ei = tniiXPcpu; Eij represents a node i, j data transmission between the power consumption, Eij = tuXPw Shu _ indicates that the CPU power of the mobile device, Pw represents the movement WiFi interface power data communication device.
CN 201210421845 2012-09-28 2012-10-30 The mobile device based on power saving method of bandwidth adaptive code migration CN102968173B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210367870.3 2012-09-28
CN201210367870 2012-09-28
CN 201210421845 CN102968173B (en) 2012-09-28 2012-10-30 The mobile device based on power saving method of bandwidth adaptive code migration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201210421845 CN102968173B (en) 2012-09-28 2012-10-30 The mobile device based on power saving method of bandwidth adaptive code migration

Publications (2)

Publication Number Publication Date
CN102968173A true true CN102968173A (en) 2013-03-13
CN102968173B CN102968173B (en) 2015-08-26

Family

ID=47798354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201210421845 CN102968173B (en) 2012-09-28 2012-10-30 The mobile device based on power saving method of bandwidth adaptive code migration

Country Status (1)

Country Link
CN (1) CN102968173B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579518A (en) * 1993-03-19 1996-11-26 Fuji Xerox Co., Ltd. Message compiler for object-oriented language that statically produces object code by provisionally identifying a set of candidate types
JPH09179738A (en) * 1995-12-26 1997-07-11 Hitachi Ltd Object-oriented language processing method and processor
CN101473301A (en) * 2006-06-13 2009-07-01 微软公司 Iterative static and dynamic software analysis
US20100131721A1 (en) * 2008-11-21 2010-05-27 Richard Title Managing memory to support large-scale interprocedural static analysis for security problems
US20120060142A1 (en) * 2010-09-02 2012-03-08 Code Value Ltd. System and method of cost oriented software profiling

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579518A (en) * 1993-03-19 1996-11-26 Fuji Xerox Co., Ltd. Message compiler for object-oriented language that statically produces object code by provisionally identifying a set of candidate types
JPH09179738A (en) * 1995-12-26 1997-07-11 Hitachi Ltd Object-oriented language processing method and processor
CN101473301A (en) * 2006-06-13 2009-07-01 微软公司 Iterative static and dynamic software analysis
US20100131721A1 (en) * 2008-11-21 2010-05-27 Richard Title Managing memory to support large-scale interprocedural static analysis for security problems
US20120060142A1 (en) * 2010-09-02 2012-03-08 Code Value Ltd. System and method of cost oriented software profiling

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
于利前等: "《静动态结合的Java程序不变性分析方法》", 《计算机学报》, vol. 33, no. 4, 30 April 2010 (2010-04-30) *

Also Published As

Publication number Publication date Type
CN102968173B (en) 2015-08-26 grant

Similar Documents

Publication Publication Date Title
Bhatotia et al. Incoop: MapReduce for incremental computations
Bu et al. The HaLoop approach to large-scale iterative data analysis
US20010049818A1 (en) Partitioned code cache organization to exploit program locallity
Park et al. Compiler-assisted demand paging for embedded systems with flash memory
US20130117494A1 (en) Optimizing available computing resources within a virtual environment
US20130152088A1 (en) Generating Filters Automatically From Data Processing Jobs
Gu et al. SHadoop: Improving MapReduce performance by optimizing job execution mechanism in Hadoop clusters
US20110093687A1 (en) Managing multiple speculative assist threads at differing cache levels
Fan et al. The Case Against Specialized Graph Analytics Engines.
Doraimani et al. File grouping for scientific data management: lessons from experimenting with real traces
US20110161381A1 (en) Methods and apparatuses to optimize updates in a file system based on birth time
Kotilainen et al. P2PRealm-peer-to-peer network simulator
CN102214213A (en) Method and system for classifying data by adopting decision tree
US20130073883A1 (en) Dynamic Power Optimization For Computing Devices
US20110320394A1 (en) Creation and Revision of Network Object Graph Topology for a Network Performance Management System
Liu et al. A survey on workflow management and scheduling in cloud computing
CN103970609A (en) Cloud data center task scheduling method based on improved ant colony algorithm
CN101901161A (en) Energy consumption related software/hardware partition-oriented hierarchical control and data flow graph modeling method
Lu et al. Research on hadoop cloud computing model and its applications
CN101442555A (en) Artificial resource proxy service system facing HLA
Zhang et al. Accelerate large-scale iterative computation through asynchronous accumulative updates
US20140237463A1 (en) Dynamically generate and execute a context-specific patch installation procedure on a computing system
Li et al. Deploying graph algorithms on gpus: An adaptive solution
CN1823322A (en) Shared code caching method and apparatus for program code conversion
Ji et al. Big data processing: Big challenges and opportunities

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C14 Grant of patent or utility model
EXPY Termination of patent right or utility model