一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于遗传算法的多用户工作流任务卸载决策与调度方法

2022-11-30 09:05:17 来源:中国专利 TAG:


1.本发明涉及的是一种移动边缘计算领域的工作流任务卸载决策与调度方法,具体涉及一种基于遗传算法的多用户工作流任务卸载决策与调度方法。


背景技术:

2.随着计算机网络、云计算以及物联网的发展,移动设备已经成为人们日常生活中不可或缺的一部分。这些设备也成为支持交互式游戏、图像处理等计算密集型应用的主要平台。然而与传统设备相比,移动设备的计算能力、存储容量,尤其是电池容量方面存在一定的限制。移动边缘计算(mobile edge computing,mec)可以将计算能力强的边缘云扩展到资源受限的移动设备上,以增强移动设备的处理能力,已经成为实现物联网和5g的关键技术。
3.服务工作流可以将整个任务拆分成多个子任务,子任务之间存在先序关系和数据依赖关系。与一般并行任务相比,mec的工作流卸载问题更具有复杂性和挑战性,由于子任务的执行顺序和执行位置都会对整个工作流任务完成的时间和能耗产生影响。因此,如何在时间约束下将工作流中的子任务合理的分配到本地和边缘端执行降低整个系统的能耗是移动边缘环境下的一个重要问题。针对移动边缘计算系统下工作流任务的卸载问题,在文献“x.li,t. chen,d.yuan,j.xu and x.liu,"a novel graph-based computation offloading strategy forworkflow applications in mobile edge computing,"in ieee transactions on services computing”中,提出了一种新的基于图的mec工作流应用策略,利用基于图的划分技术,得到时延约束下终端设备能耗最低的卸载决策方案;“g.zhang,w.zhang,y.cao,d.li and l.wang, "energy-delay tradeoff for dynamic offloading in mobile-edge computing system with energyharvesting devices,"in ieee transactions on industrial informatics,vol.14,no.10,pp.4642-4655, oct.2018,doi:10.1109/tii.2018.2843365”一文为了实现mec系统中高效、低延迟的通信,提出了一种在线动态任务分配调度方法;在文献“董浩,张海平,李忠金,刘辉.移动边缘计算环境下服务工作流的计算卸载[j].计算机工程与应用,2019,55(02):36-43”中,针对单用户单mec 服务器的应用场景,采用传统的遗传算法来减少工作流的执行时间和能耗。然而,上述文献中提出的两种方法只考虑单个用户的工作流任务的卸载问题,没有考虑实际场景中更为常见的多用户场景。针对多用户工作流任务计算卸载,在文献“s.sundar and b.liang,"offloadingdependent tasks with communication delay and deadline constraint,"ieee infocom 2018
‑ꢀ
ieee conference on computer communications,2018,pp.37-45”中考虑了具有多个用户和一个远程服务器的场景,提出了一种启发式算法使系统的执行成本最小。文献“s.guo,j.liu,y. yang,b.xiao and z.li,"energy-efficient dynamic computation offloading and cooperative taskscheduling in mobile cloud computing,"in ieee transactions on mobile computing,vol.18,no. 2,pp.319-333,1feb.2019”中,提出了一种动态卸载和资源调度策略,以减少能耗和执行时
间。文献“sun j,yin l,zou m,et al.makespan-minimization workflow scheduling for complexnetworks with social groups in edge computing[j].journal of systems architecture,2020,108: 101799”研究了多用户mec系统中最大完工时间最小化工作流调度问题,提出了一种改进的复合启发式算法。然而,上述文献只考虑单服务器的场景,为了增强mec服务器的计算能力, bs站总是配备多台vm服务器。在文献“wang z,zheng w,chen p,et al.a novelcoevolutionary approach to reliability guaranteed multi-workflow scheduling upon edgecomputing infrastructures[j].security and communication networks,2020,2020:6697640.”中,考虑了多用户多vm服务器的mec场景,提出了一种基于边缘环境的多工作流调度方法。该方法最大限度地提高了工作流任务卸载成功率的可靠性,同时降低了用户的服务调用成本。但是,上述文献只考虑了卸载成本和卸载效率,而没有考虑能耗。能耗问题是物联网的一个基本问题。因此,如何在多用户、多虚拟服务器的mec网络中对工作流任务进行最优的卸载和调度,使系统的总能耗降到最低,仍然是一个亟待解决的问题。


技术实现要素:

[0004]
为了解决背景技术中存在的技术问题,本发明提供一种基于遗传算法的多用户工作流任务卸载决策与调度方案,该方案能够在满足时间约束下最小化系统的总能耗。
[0005]
本发明所采用的技术方案是:基于遗传算法的多用户工作流任务卸载决策与调度方案包括下列系统模型:
[0006]
(1)、移动边缘计算系统由k个移动设备和一个配有mec服务器的基站组成,mec服务器包含m个虚拟服务器用于并发处理多个计算任务,k个移动设备可以通过无线信道访问 mec服务器。每个移动设备有一个工作流任务需要进行计算和卸载,每个工作流任务由i个子任务组成。工作流任务可以通过一个加权有向无环图来描述子任务执行的先后依赖关系。
[0007]
(2)、定义移动设备k(1≤k≤k)的工作流任务为wk,wk由一个二元组(vk,ek)表示。其中,vk是工作流任务中i个子任务的集合,ek是子任务之间边的集合。每条边连接两个子任务,表示它们之间的存在数据依赖关系。移动设备k的第i个子任务v
i,k
,定义一个二元组 v
i,k
=(ω
i,k
,c
i,k
)来表示。ω
i,k
表示第k个用户的第i个子任务的输入数据大小(以bit为单位);c
i,k
表示单位比特任务执行所需要的cpu周期数。
[0008]
(3)、每个用户采用正交频分多址(ofdm,orthogonal frequency division multiple access) 的方式将任务卸载到基站上。设为移动设备k上行链路的传输速率,其中,k=1,2,...,k。假设下行信道具有相同的衰落环境和噪声,为移动设备k下行链路的传输速率,其中, k=1,2,...,k。
[0009]
(4)、子任务v
i,k
在本地执行时,执行的时间和能耗由本地设备的计算能力决定,其执行时间为所需的cpu周期数除以cpu频率。因此,子任务的执行时延和能耗为:
[0010][0011]
[0012]
其中:κ为与cpu芯片结构相关的能量消耗因子,为移动设备k的本地计算频率,则每个cpu周期内的能耗为
[0013]
(5)、子任务v
i,k
卸载到mec虚拟服务器m计算时,时延可以分为两部分,一是子任务向mec服务器的卸载时延;二是子任务在虚拟服务器上的计算时延。因此,子任务被卸载到 mec虚拟服务器m上的传输时延和能耗为:
[0014][0015][0016]
其中,为用户k上传时的传输功率。
[0017]
(6)、子任务v
i,k
被卸载到mec虚拟服务器m上执行时,假设子任务持续占用cpu直到任务执行完为止。子任务在mec虚拟服务器m上的执行时延取决于mec虚拟服务器的计算能力及其cpu频率,则子任务在mec虚拟服务器m上的执行时延为:
[0018][0019]
其中,为mec虚拟服务器m的cpu频率。
[0020]
(7)、定义集合l=s∪{0}={0,1,2,...,m}表示工作流中子任务的执行位置。由于一个子任务只能在一个虚拟服务器上执行,因此定义变量x
i,k,m
∈{0,1}表示移动设备k的第i个子任务 v
i,k
的卸载决策。如果任务v
i,k
卸载到边缘服务器m(m∈s)上执行,则x
i,k,m
=1,否则x
i,k,m
=0。设子任务v
i,k
的总的时延为t
i,k
,能耗为e
i,k

[0021]
(8)、在工作流任务中,工作流任务wk的两个关联的子任务v
i,k
和v
j,k
,如果在同一位置执行,则它们之间的传输数据和传输时延为零;如果在不同位置执行,则他们之间需要传输数据。任务v
i,k
在本地执行,后继任务v
j,k
在mec虚拟服务器m上执行时,设两个子任务之间传输数据的时延为能耗为同理,任务v
j,k
在本地执行,后继任务v
i,k
在mec虚拟服务器m上执行时,设两个子任务之间传输数据的时延为能耗为
[0022]
(9)、工作流任务wk的总计算时间是相互关联的子任务之间传输数据的时延和子任务计算之和。工作流任务的总能耗是本地计算能耗、卸载能耗和相互关联的子任务之间传输数据的能耗之和。如上所述,总计算时间和总能耗可以分别计算为:
[0023][0024][0025]
综上,移动边缘计算系统下,在满足用户时延约束条件下通过对工作流任务卸载策略、卸载位置的优化,降低系统的总能耗。系统能耗最小化问题可以表示为:
[0026]
[0027][0028][0029][0030]
采用遗传算法对工作流任务的执行顺序和卸载位置进行求解,并根据上述模型中的能耗、时延进行个体修正、交叉、变异等操作,得到工作流任务的任务卸载决策与调度方案,使系统能耗最小化。基于遗传算法的工作流任务的任务卸载决策与调度方案是按照如下步骤得到的:
[0031]
步骤一:初始化种群,设系统中有k个移动设备和一个包含m个虚拟服务器的mec边缘服务器,每个移动设备的工作流任务可以分成i个子任务。将工作流任务的执行顺序与执行位置联合表示为一个个体,则个体长度为i
×
k,每个个体对应一种执行顺序和执行位置。随机产生一个包含n个个体的初始种群;
[0032]
步骤二:个体初始化,包括子任务的执行位置和执行顺序初始化;
[0033]
步骤三:适应度评估,根据式(7)计算适应度值,即系统总能耗;
[0034]
步骤四:个体修正,对于每个移动设备的工作流任务,计算任务的完成时间,如果不满足时间约束,则在选择操作中将不考虑由染色体表示的卸载策略,满足时间约束的染色体成为有效染色体;
[0035]
步骤五:选择操作,采用精英选择策略从种群中选取适应度最高的个体;
[0036]
步骤六:生存竞争,每一代种群中,随机选取两个个体进行生存竞争,选择出适应度高的个体,得到n/2种群个体进入下一代;
[0037]
步骤七:交叉操作,将生存竞争得到的优胜个体两两随机以交叉概率pc进行单点交叉,交叉后的种群进入下一代种群;
[0038]
步骤八:变异操作,将每一代中最优个体以变异概率pm进行变异,生成n/4种群个体进入下一代;
[0039]
步骤九:随机产生n/4种群个体进入下一代;
[0040]
步骤十:生成新种群,并进行个体修正;
[0041]
步骤十一:计算新种群的适应度值,上一代种群的最优个体替换当前种群的最差个体;
[0042]
步骤十二:当以下两个终止条件满足其一时,迭代终止,得到工作流任务的执行顺序和执行位置;两个终止条件:一是超过最大迭代次数;二是,当前种群中最优个体与最差个体的差距足够小,即满足适应度之差小于最优个体适应度的v倍;否则,跳到步骤五继续执行迭代;
[0043]
步骤十三:算法结束,输出最优的任务执行顺序和执行位置。
[0044]
本发明的优点及有益效果如下:
[0045]
本发明方法考虑了多用户多虚拟服务器场景下的mec网络中工作流任务调度问题,在处理时延的约束下,通过对工作流任务执行顺序和执行位置进行联合优化,使系统能耗最小。本发明首先构建了工作流任务调度的时延和能耗模型,将工作流任务的执行顺序和卸载位置联合表示为遗传算法中的一个个体,将系统能耗作为适应度评估函数,然后通
过遗传算法的个体修正、交叉、变异等操作来获得最优解,从而获得最优的任务执行位置和执行顺序。该方法考虑多用户多虚拟服务器的工作流任务卸载场景,能够通过遗传算法,对工作流任务的执行顺序和卸载位置进行最优决策,使其在满足时延约束的条件下,使系统总能耗最小。仿真结果表明,相比其他几种比较方法,能够有效降低系统能耗。
附图说明
[0046]
图1为不同移动设备数时不同卸载方法对系统总能耗影响的曲线图;
[0047]
图2为不同任务数时不同卸载方法对系统总能耗影响的曲线图;
[0048]
图3为不同mec虚拟服务器个数时不同卸载方法对系统总能耗影响的曲线图;
[0049]
图4为不同工作量大小时不同卸载方法对系统总能耗影响的曲线图。
具体实施方式
[0050]
下面结合附图和具体实施例对本发明作进一步具体说明:本专利的移动边缘计算系统模型由k个移动设备和一个部署在基站的mec服务器组成。在本发明的mec系统中,移动设备包括移动电话、笔记本电脑、车载电脑等计算能力受限的通信设备。mec服务器包含m个虚拟服务器(virtual machines,vms)用于并发处理多个计算任务,每个虚拟机独立工作,由集合s={1,2,...,m}表示;k个移动设备可以通过无线信道访问mec服务器,用u={1,2,...,k} 表示移动用户由集合。移动用户可以将计算任务全部或部分地卸载到mec服务器上进行计算,以提高移动设备的计算性能,降低能耗和时延。
[0051]
通过一个加权有向无环图(directed acyclic graph,dag)对移动边缘计算系统中工作流任务执行先后依赖关系进行描述。每一个移动设备k(1≤k≤k)的工作流任务可以用一个二元组 wk(vk,ek)表示,vk是工作流任务中i个子任务的集合vk={v
1,k
,v
2,k
,...,v
i,k
},其中,v
i,k
表示移动设备k的第i个子任务;ek={e
i,j
|i,j∈i}表示子任务之间边的集合。每条边连接两个子任务,表示它们之间的存在数据依赖关系。例如,在工作流任务wk中,v0是初始子任务,v1是子任务v0的后继任务,这意味着v1只能在v0执行结束后才可以开始执行。对于移动设备k的第i个子任务v
i,k
,定义一个二元组v
i,k
=(ω
i,k
,c
i,k
)来表示,其中,ω
i,k
表示第k个移动设备的第i个子任务的输入数据大小(以bit为单位);c
i,k
表示单位比特任务执行所需要的cpu周期数。此外,假设所有vms都有足够的容量执行任务,并且在分配任务后将执行任务直至完成。
[0052]
每个移动设备采用正交频分多址(ofdm,orthogonal frequency division multiple access) 的方式将任务卸载到基站上。用gk表示移动设备k到mec服务器之间的信道增益。此外,系统噪声服从零期望的高斯分布,其方差用σ2来表示。根据香农公式,移动设备k上行链路的传输速率可表示为:
[0053][0054]
式中:bk为移动设备k分配的无线带宽,为移动设备k向mec传输的发射功率。同理,假设下行信道具有相同的衰落环境和噪声,为下行信道mec传输的发射功率。因
此下行速率可以表示为:
[0055][0056]
移动设备k上的工作流任务wk可以由i个子任务组成。这些子任务可以在本地计算,也可以通过无线信道将其卸载到vm上进行计算。子任务v
i,k
在本地执行时,执行的时间和能耗由本地设备的计算能力决定,其执行时间为所需的cpu周期数除以cpu频率。因此,子任务 v
i,k
的执行时延和能耗为:
[0057][0058][0059]
其中:κ为与cpu芯片结构相关的能量消耗因子,为移动设备k的本地计算频率,则每个cpu周期内的能耗为
[0060]
子任务v
i,k
卸载到mec虚拟服务器m计算时,时延可以分为两部分,一是子任务向mec 服务器的卸载时延;二是子任务在虚拟服务器上的计算时延。因此,子任务被卸载到mec虚拟服务器m上的传输时延和能耗为:
[0061][0062][0063]
其中,为用户k上传时的传输功率。
[0064]
子任务v
i,k
被卸载到mec虚拟服务器m上执行时,假设子任务持续占用cpu直到任务执行完为止。子任务在mec虚拟服务器m上的执行时延取决于mec虚拟服务器的计算能力及其cpu频率,则子任务v
i,k
在mec虚拟服务器m上的执行时延为:
[0065][0066]
其中,为mec虚拟服务器m的cpu频率。因此,子任务v
i,k
卸载到mec虚拟服务器m执行时,总时延可以表示为:
[0067][0068]
同理,子任务v
i,k
卸载到mec虚拟服务器m执行时,移动设备k所消耗的能耗包括上传能耗和本地设备的电路损耗,本发明只考虑上传能耗忽略上传时的电路损耗,因此子任务v
i,k
卸载所耗费的能耗表示为:
[0069][0070]
定义集合l=s∪{0}={0,1,2,...,m}表示工作流中子任务的执行位置。由于一个
子任务只能在一个虚拟服务器上执行,因此定义变量x
i,k,m
∈{0,1}表示移动设备k的第i个子任务v
i,k
的卸载决策。如果任务v
i,k
卸载到边缘服务器m(m∈s)上执行,则x
i,k,m
=1,否则x
i,k,m
=0。子任务v
i,k
的总的时延t
i,k
和能耗e
i,k
为:
[0071][0072][0073]
在工作流任务中,工作流任务wk的两个关联的子任务v
i,k
和v
j,k
,如果在同一位置执行,则它们之间的传输数据和传输时延为零;如果在不同位置执行,则他们之间需要传输数据。任务v
i,k
在本地执行,后继任务v
j,k
在mec虚拟服务器m上执行时,设两个子任务v
i,k
和v
j,k
之间的数据传输大小为d
i,j,k
。两个子任务之间传输数据的时延和能耗为:
[0074][0075][0076]
同理,子任务v
i,k
在mec虚拟服务器m上执行,任务v
j,k
在本地执行时,本地设备需要接收 mec服务器传输的数据,两个子任务v
j,k
和v
i,k
之间的数据传输大小为d
j,i,k
。定义用户k的接收数据时的功率为则两个子任务之间传输数据的时延和本地设备接收数据消耗的能耗为
[0077][0078][0079]
因此,移动设备k的工作流任务wk总的时间tk和能耗开销ek为:
[0080][0081][0082]
在满足用户时延约束条件下,通过对工作流任务卸载策略、卸载位置的优化,降低系统的总能耗。因此系统能耗最小化问题可以表示为:
[0083][0084][0085][0086]
其中:c1为工作流任务的时延约束;c2表示任务的卸载决策变量;c3表示任务的卸载约束,即工作流的每个子任务只能在本地执行或卸载到mec虚拟服务器m上执行。
[0087]
本发明使用遗传算法来解决工作流任务的执行顺序和卸载决策问题,以满足时延
约束下系统能耗最小化。首先,将工作流任务的执行顺序和卸载决策联合表示为一个个体,则个体长度为i
×
k。随机生成一个包含n个个体的初始种群并初始化种群个体。初始化个体包括子任务的执行位置和执行顺序初始化。对于任务位置的初始化,使用一个执行位置集合来表示任务执行位置。由于子任务之间必须满足优先约束,因此,使用一个可排序任务集合来表示任务执行顺序。将系统能耗定义为适应度评估函数,然后通过个体修正、选择、交叉、变异等操作生成新一代种群;通过使用适应度函数评估种群中的每个个体,并在新的种群中选择最佳适应度值的个体,若当前种群中最优个体与最差个体的差距足够小或已经达到最大迭次数,则算法结束,输出最优的任务执行顺序和执行位置;否则,继续迭代直到满足最大迭代次数。上述方案中基于遗传算法的多用户工作流任务卸载决策与调度方案是按照如下步骤得到的:
[0088]
步骤1初始化种群,设系统中有k个移动设备和一个包含m个虚拟服务器的mec边缘服务器,每个移动设备的工作流任务可以分成i个子任务。随机产生一个包含n个个体的初始种群,然后对种群中每个个体进行随机初始化。
[0089]
步骤2个体初始化,包括子任务的执行位置和执行顺序初始化。让集合s表示可排序的子任务,即任务没有前驱或者前驱任务已经执行完毕。首先,随机选择一个可排序任务加入集合s。然后,选择另一个可排序任务加入集合s。继续迭代直到产生一个可行的任务顺序。对于任务位置的初始化,则随机生成一个0~m的整数,以此来表示各个子任务的执行位置,继续以同样的方式迭代所有任务,从而生成任务位置初始化的集合。
[0090]
步骤3适应度函数,根据式(17)计算适应度值,即系统总能耗。
[0091]
步骤4个体修正,对于每一个工作流任务,根据公式(16)计算任务的完成时间,如果不满足时间约束,则在选择操作中将不考虑由染色体表示的卸载策略,满足时间约束的染色体成为有效染色体。
[0092]
步骤5选择操作,本发明采用精英选择策略从种群中选取适应度最高的个体。
[0093]
步骤6生存竞争,每一代种群中,随机选取两个个体进行生存竞争,选择出适应度高的个体,得到n/2种群个体。
[0094]
步骤7交叉操作,本发明将生存竞争得到的优胜个体两两随机以交叉概率pc进行单点交叉,交叉后的n/2种群进入下一代种群。根据srinivas等提出的自适应交叉概率调整公式,本发明构造的自适应的交叉概率为:
[0095][0096]
其中,f
min
表示种群中适应度最小值;f
avg
表示整个种群的平均适应度值;fc表示所选交叉操作中两个个体中较小的适应度值;p
c1
、p
c2
分别为交叉概率的最大和最小值。
[0097]
执行顺序的交叉操作,由于工作流任务中各个子任务之间需要满足一定的顺序关系,因此在进行交叉操作之后产生的新的个体也需要满足一定的顺序关系。比如两个关联的子任务 v
i,k
和v
j,k
,v
i,k
是v
j,k
的前驱节点,那么在交叉之后新的个体也应该满足之前的顺序关系。假设两个个体的执行顺序集合为order1和order2,首先,随机生成一个交叉点并求出交叉用户。交叉点之前的任务序列称为匹配区域。将oreder2后置到oreder1的匹配区域
之后,oreder1 后置到oreder2的匹配区域之后。此时生成两个临时的匹配序列集合order12和order21。然后从交叉用户的第一个任务开始向后遍历,删除重复的任务排序。最后,生成两个新的任务排序集合。
[0098]
任务执行位置的单点交叉与执行顺序类似。首先,在任务卸载位置序列中随机选择一个交叉点。然后,交换两个执行位置顺序中的匹配区域。最后,生成两个新的任务执行位置集合。
[0099]
步骤8变异操作,本发明将每一代中最强的个体以变异概率pm进行变异,生成n/4种群个体进入下一代。任务执行位置的变异操作,随机选择一个个体,以变异概率pm决定是否进行变异,变异的取值范围为0~m。任务排序变异时也要满足顺序关系,首先从任务中随机选择一个子任务v
i,k
,然后对任务集合进行前驱遍历,找出它的前驱任务集合{v
0,k
,v
1,k
,...,v
a,k
};同时,对任务集合进行后驱遍历,找到它的后继集合{v
b,k
,v
b 1,k
,...,v
i-1,k
}。此时,任务v
i,k
必定处于{v
a 1,k
,...,v
b-1,k
}中,而且可以处于{v
a 1,k
,...,v
b-1,k
}中任意位置。最后,排除v
i,k
的初始位置随机选择一个新位置进行插入操作。根据srinivas等提出的自适应变异概率调整公式,本发明构造的自适应的变异概率为:
[0100][0101]
其中,f
min
表示种群中适应度最小值;f
avg
表示整个种群的平均适应度值;fm表示选择变异的个体的适应度值;p
m1
、p
m2
分别为变异概率的最大和最小值。
[0102]
步骤9随机产生n/4种群个体进入下一代。
[0103]
步骤10生成新种群,并进行个体修正。
[0104]
步骤11计算新种群的适应度值,上一代种群的最优个体替换当前种群的最差个体;
[0105]
步骤12当以下两个终止条件满足其一时,迭代终止,得到工作流任务的执行顺序和执行位置;一是超过最大迭代次数;二是,当前种群中最优个体与最差个体的差距足够小,即满足适应度之差小于最优个体适应度的v倍。否则,跳到步骤5继续执行迭代。
[0106]
步骤13:算法结束,输出最优的任务执行顺序和执行位置。
[0107]
实验分析:
[0108]
本发明的基于遗传算法的多用户工作流任务卸载决策与调度方案进行实验分析。仿真软件为pycharm。设用户移动设备随机散布在60m
×
60m区域,无线接入基站位于该区域的中心。对于无线接入,设置信道带宽b=5mhz,传输功率接收功率背景噪声σ2=-113dbm。根据路径损耗模型,设置信道增益其中d
k,m
是移动用户k 和mec之间的距离,α=4是路径损耗因子。仿真结果由200次蒙特卡洛仿真求平均后得到。其他仿真图参数如表1所示。
[0109]
表1.仿真参数设置
[0110][0111]
下面将本技术所提出的基于遗传算法的多用户工作流任务卸载决策与调度方案与本地计算和随机卸载算法以及文献“闫伟,申滨,刘笑笑.基于自适应遗传算法的mec任务卸载及资源分配[j].电子技术应用,2020,46(08):95-100.doi:10.16157/j.issn.0258-7998.200113”中提出的基于自适应遗传算法的mec任务卸载方法进行比较。
[0112]
图1为不同移动设备数时不同卸载方法对系统总能耗影响。每个工作流中的子任务数量为10个。由图1可以看出,随着移动设备数量的增加,四种方法的系统总能耗都随着执行更多的子任务而增加。本发明所提出的方法为子任务分配了最优的执行位置,比其他三种比较算法消耗的能量更少。由于所有的计算任务都只能在局部进行计算,因此局部计算算法消耗的能量更大。对于随机卸载算法,由于任务的执行顺序和卸载位置是随机分配的,因此它的能量消耗最大。对于自适应遗传算法,自适应交叉概率和变异概率可以随自适应值动态调整,避免进入局部最优解。因此,该算法的能量消耗仅次于我们提出的算法。
[0113]
图2为不同任务数时不同卸载方法对系统总能耗影响。从图2可以看出,随着任务数量的增加,系统的总能耗也随之增加,其中,本地计算在能耗方面表现最差,因为本地设备能耗与计算量呈正相关,与本地设备的计算能力呈负相关,而本地的计算能力有限,所以任务越多计算量越大,消耗的能耗越多。在四种算法中,本发明所提出的卸载方法比其他三种算法消耗更少的能量。这是因为本发明所提出的卸载方法能够优化分配工作流中各子任务的执行顺序和卸载位置。
[0114]
图3为不同mec虚拟服务器个数时不同卸载方法对系统总能耗影响。由图3可见,随着 mec虚拟服务器数量的增加,这三种算法的系统总能耗也相应降低,因为可以选择的虚拟服务器越多,能耗越小。本发明的算法优化了资源配置,比其他两种算法能耗更低。另外,当 mec虚拟服务器数量增加时,特别是当虚拟服务器数量大于9时,系统总能耗的下降速度会变慢,因为虚拟服务器数量足够大,可以让子任务选择尽可能减少能耗,并且有些虚拟服务器处于空闲状态。
[0115]
图4为不同工作量大小时不同卸载方法对系统总能耗影响。由图4可见,当子任务的工作负载增大时,计算更多的任务所需的能量消耗也相应增加。相比其他三种算法,本发明的算法能够通过合理的进行资源分配,获得最低的系统能耗。
[0116]
基于以上对本技术的分析讨论可知,本技术所提出的基于遗传算法的多用户工作流任务卸载决策与调度方案,通过个体修正、精英选择、自适应交叉、变异概率等操作,确定工作流任务的执行顺序和卸载决策。仿真结果表明,相比本地计算和随机卸载算法以及闫
伟提出的基于自适应遗传算法的mec任务卸载方法,所提方法能够在满足时延限制的条件下,对工作流任务的执行顺序和卸载位置进行有效调度,获得最小的系统能耗,从而有效降低系统能耗。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献