一种多云系统中带有能耗约束的计算卸载方法技术方案

技术编号:35786525 阅读:15 留言:0更新日期:2022-12-01 14:34
本发明专利技术公开了一种多云系统中带有能耗约束的计算卸载方法,该方法综合考虑不同云节点的优缺点和组合方式,提出了基于任务路径和调度优化的计算卸载方法,从而减少移动终端的应用完成时间。该方法首先计算每个任务在各个工作节点的执行时间和本地执行时间之差的平均值,根据任务对应的时间差平均值确定其调度顺序。对于排序后的任务,以其作为目的任务,利用深度优先搜索查找入口任务到目的任务的多条路径。并根据路径上所有任务的计算负载之和确定路径优先级。该方法将路径上成功遍历的任务看做一个整体进行工作节点分配,从而减少具有依赖关系的任务之间进行数据传输带来的延迟和终端能耗。此外,本发明专利技术还对初始的调度结果进行优化,使得该方法能在能耗约束范围内获得较低的应用完成时间。较低的应用完成时间。较低的应用完成时间。

【技术实现步骤摘要】
一种多云系统中带有能耗约束的计算卸载方法


[0001]本专利技术涉及云计算和无线网络领域,特别涉及多云系统中的任务调度方法。

技术介绍

[0002]随着硬件和软件方面的不断发展,移动通信技术也日趋成熟,人们开始希望在移动终端上实现更多的功能和应用。手机、平板电脑等移动终端的功能从简单的通讯设备逐渐扩展成为集通讯、多媒体、游戏等功能于一身的计算工具。如人脸识别、虚拟现实等应用技术不仅计算负载和数据量较大,对于响应时间也有着较高的要求。由于移动终端在硬件条件上的局限性,在处理这种应用程序时往往延迟较大。同时,过长的任务执行时间也会消耗移动终端较多的电量。
[0003]在上述的背景下,移动云计算中的计算卸载技术被提出,并成为了克服这些限制的一种有前途的方法,其主要目标是降低应用完成时间,节省移动终端电量。使用单云节点的计算卸载方法没有办法满足不同用户对服务质量的不同需求,不同云服务器根据处理能力的不同具有不同的收费标准。因此本专利技术考虑在多云系统的服务场景,从而满足不同的服务质量需求。

技术实现思路

[0004]本专利技术的目的在于提供一种多云系统中带有能耗约束的计算卸载方法。不同于现有技术,本专利技术考虑任务在多云系统中的组合调度问题,并在满足移动终端能耗的同时,以降低完成时间作为优化目标。本专利技术针对具有任务依赖关系的移动应用进行计算卸载。
[0005]基于上述专利技术的目的,本专利技术提出的方法包括如下步骤:
[0006]步骤S1、任务排序、路径建立和路径优先级计算方法r/>[0007]步骤S2、路径任务调度算法
[0008]步骤S3、面向能耗约束的优化算法
[0009]进一步地,所述步骤S1具体为:
[0010]对于任务依赖关系,用pred(i)来表示任务i的前驱任务集合。
[0011]任务i在工作节点k上的执行时间计算如下。
[0012][0013]其中表示对应的执行时间。wl
i
表示任务i的计算负载,sp
k
表示工作节点k的处理速度。
[0014]以下是移动终端执行能耗(即CPU处理能耗)的计算方法。
[0015]当k=0时,表示任务在本地执行(即移动终端执行),执行能耗计算公式如下:
[0016][0017]当k≠0时,即任务在某个云节点执行,终端执行能耗计算公式如下:
[0018][0019]其中p
e
表示移动终端的CPU处理功率。当两个有依赖关系的任务在不同的工作节点执行时,传输时间和传输能耗可按以下方式计算:
[0020][0021]其中ds
i,j
表示从任务i到任务j传输的数据量,dr
s,k
表示在工作节点s和工作节点k之间数据传输时的传输速率。
[0022]当s=0,k≠0时,即任务i在本地执行,而任务j在某个云节点时,数据传输能耗计算公式如下:
[0023][0024]当s≠0,k=0时,即任务j在本地执行,而任务i在某个云节点时,数据传输能耗计算公式如下:
[0025][0026]否则两个任务都在云节点执行或都在本地执行,终端数据传输能耗记为0。
[0027][0028]公式(5)中p
up
表示终端数据上传功率,公式(6)中p
down
表示终端数据下载功率。
[0029]移动终端的本地能耗包括CPU处理能耗和传输能耗,即
[0030]E=E
c
+E
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0031]其中E
c
是本地执行任务的执行能耗之和,E
t
是涉及传输操作的任务所对应的传输能耗之和。E
c
和E
t
的计算方法分别为:
[0032][0033][0034]其中,N表示任务个数。
[0035]为了正确预估任务的完成时间,需要判断工作节点当前是否繁忙。如果工作节点k有其他任务正在执行,那么任务i的完成时间为其前驱任务数据传输完成得来的最早开始时间和工作节点上的最早空闲时间的最大值(该最大值为实际的最早开始执行时间),与任务在工作节点k上执行的时间之和:
[0036][0037]其中,ET
k
表示工作节点k可以开始执行任务i的最早空闲时间,RT
i
表示任务i的最早开始时间。
[0038]由于任务具有的依赖关系,任务i只有在它的所有前驱任务都被执行完成,并且完成了对它的数据传输之后才能开始执行。任务i的最早开始时间RT
i
的计算方法如下:
[0039][0040]计算每个任务在各个工作节点执行的时间和本地执行时间的差值绝对值,然后求平均值,并作为任务排序的依据。任务i对应的平均值p
i
的计算公式如下:计算公式为:
[0041][0042]其中,表示本地执行时间,M表示工作节点个数,S表示工作节点集合。根据此平
均值p对任务进行排序,得到分配顺序。平均值p较大的任务,被优先进行路径建立和工作节点分配。以排序后的任务作为目的任务,利用深度优先搜索算法查找入口任务到目的任务的执行路径。整个路径建立执行N次深度优先搜索算法,从而生成多条路径,N表示任务个数。对于目的任务i,其生成的多条路径存入way
i
中。在way
i
中,根据每一条路径上的任务负载之和对路径进行降序排序,优先对负载较大的路径分配工作节点。
[0043]步骤S2具体为:
[0044]遍历路径上的每个任务,找到第一个没有被分配的任务作为此条路径分配的第一个任务,然后继续遍历。遍历结束的条件是遇到一个任务j存在未被分配的前驱任务,同时该前驱任务不在当前路径上。当遍历结束时,对任务j之前遍历的任务(成功遍历)进行调度,对任务j及其在该路径上的后继任务暂不调度。将路径上成功遍历的任务看作一个整体,并分配到同一个工作节点。遍历所有工作节点,根据公式(11)选择完成时间最小值对应的工作节点。循环执行上述步骤,即路径选择和路径任务调度,直到所有任务完成调度,形成初始调度方案。
[0045]步骤S3具体为:
[0046]在所有任务分配完毕后,根据调度方案计算完成时间和能耗,然后根据能耗约束对调度方案进行优化。
[0047]移动终端能耗大于约束值的情况:据任务的能耗值对任务降序排序,单个任务的能耗包括CPU处理能耗和数据传输能耗。对于排序后的任务,进行工作节点重分配。对于当前任务i,遍历所有工作节点(已分配的工作节点除外)进行分配,确定终端能耗最小值E
k
对应的工作节点k,并标记任务i为已处理。如果E
k
小于之前方案的终端能耗,则将任务i分配到节点k。更新剩余任务的能耗值,按照上述方法对未处理的任务进行迭代处理。
[0048]移动终端能耗小于等于约束值的情况:将调度本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种多云系统中带有能耗约束的计算卸载方法,包括如下步骤:(1)任务排序、路径建立和路径优先级计算方法。(2)路径任务调度算法。(3)面向能耗约束的优化算法。2.根据权利要求1所述的多云系统中带有能耗约束的计算卸载方法,首先提出任务排序、路径建立和优先级计算方法:移动应用中的任务具有依赖关系,前驱任务必须执行完成,后继任务才可以开始执行,其依赖关系可以用有向无环图表示。应用执行的工作节点包括各个云节点和移动终端。计算每个任务在各个工作节点执行的时间和本地执行时间的差值绝对值,然后求平均值,并作为任务排序的依据。任务i对应的平均值p
i
的计算公式如下:其中,表示云节点k执行任务i对应的时间,表示本地执行时间,M表示工作节点个数,S表示工作节点集合。平均值p较大的任务,被优先进行路径建立和工作节点分配。以排序后的任务作为目的任务,利用深度优先搜索算法查找入口任务到目的任务的执行路径。整个路径建立执行N次深度优先搜索算法,从而生成多条路径,N表示任务个数。对于生成的路径,计算每一条路径上的计算负载之和,并作为其优先级,优先对负载较大的路径分配工作节点。3.根据权利要求1所述的多云系统中带有能耗约束的计算卸载方法,在权利要求2所述的任务排序、路径建立和优先级计算方法的基础上,提出路径任务调度算法:遍历路径上的每个任务,找到第一个没有被分配的任务作为此条路径分配的第一个任务,然后继续遍历。遍历结束的条件是遇到一个任务j存在未被分配的...

【专利技术属性】
技术研发人员:张强葛笑
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:

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

1