CN112181655A - 一种移动边缘计算中基于混合遗传算法的计算卸载方法 - Google Patents

一种移动边缘计算中基于混合遗传算法的计算卸载方法 Download PDF

Info

Publication number
CN112181655A
CN112181655A CN202011057306.2A CN202011057306A CN112181655A CN 112181655 A CN112181655 A CN 112181655A CN 202011057306 A CN202011057306 A CN 202011057306A CN 112181655 A CN112181655 A CN 112181655A
Authority
CN
China
Prior art keywords
task
individuals
processor
population
computation
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202011057306.2A
Other languages
English (en)
Inventor
冯维
曹荻秋
姚英彪
刘兆霆
夏晓威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
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
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202011057306.2A priority Critical patent/CN112181655A/zh
Publication of CN112181655A publication Critical patent/CN112181655A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Molecular Biology (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种移动边缘计算中基于混合遗传算法的计算卸载方法,包括:S1.建立***模型,得到子任务集在各处理器的计算时延以及各处理器之间的传输时延,并根据子任务集的约束关系确定子任务集中各任务层值;S2.根据确定的任务层值和随机策略初始化种群,得到子任务集的初始种群个体,并进行符号编码,得到任务调度序列,对初始种群中的个体进行优化;S3.构建适应度评价函数,并对优化后的初始种群中的个体进行选择操作;S4.构建交叉机制,使用基于禁忌表搜索算法的交叉操作对新的种群中的个体进行交叉;S5.使用基于模拟退火算法的变异操作对新的种群中的个体进行变异操作;S6.判断是否达到迭代步长,若否,则重复步骤S3‑S5;若是,则输出全局最优解。

Description

一种移动边缘计算中基于混合遗传算法的计算卸载方法
技术领域
本发明涉及移动边缘技术领域,尤其涉及一种移动边缘计算中基于混合遗传算法的计算卸载方法。
背景技术
随着物联网(IoT)的发展,智能手机和笔记本电脑等移动用户设备(UE)掀起了新的浪潮。传统应用难以满足基于物联网用户不断增长的需求,例如服务质量。最近,出现了许多新颖的应用程序,并很快受到用户的青睐,例如实时在线游戏,虚拟现实等。
尽管当今移动设备的处理能力越来越强大,但移动设备通常具有有限的电池容量并无法在短时间内处理巨大的应用程序,成为移动应用未来发展的瓶颈。严格的延时限制已成为在移动设备上运行复杂应用程序的障碍。移动云计算(MCC)在过去被视为减轻计算任务负担的一种有前途的方法,因为丰富的计算资源可以显著减少应用程序处理延时。虽然数据处理速度很快,但是网络带宽却很有限。随着数据不断增多,数据传输速度变成了提升云计算能力的瓶颈。为了解决这一关键挑战,用户可以将任务卸载到移动边缘计算(MEC)服务器以提高性能。因此,在云服务器,边缘服务器和用户本地三方协同计算卸载场景下,制定卸载决策方案成为当下一个热点问题。
发明内容
本发明的目的是针对现有技术的缺陷,提供了一种移动边缘计算中基于混合遗传算法的计算卸载方法,在云服务器,边缘服务器和用户本地三方协同计算场景下,以最小化用户端具有优先级约束子任务集总完成时延为目标,将用户端具有优先级依赖关系的子任务集卸载到不同服务器。并利用一种混合遗传算法进行求解。与传统遗传算法相比,可以得到更好的寻优效果。
为了实现以上目的,本发明采用以下技术方案:
一种移动边缘计算中基于混合遗传算法的计算卸载方法,包括步骤:
S1.建立***模型,得到子任务集在各处理器的计算时延以及各处理器之间的传输时延,并根据子任务集的约束关系确定子任务集中各任务层值;其中,***模型由一个用户、一个移动云服务器和多个边缘服务器组成,由移动云服务器进行集中式决策调度方案;一个服务器只能同时处理一个任务,当用户端子任务集过多时,用户所属BS可以与资源池中其他BS通信,进行协同计算卸载,以满足用户需求;
S2.根据确定的任务层值和随机策略初始化种群,得到子任务集的初始种群个体,并根据初始种群个体中任务与处理器的映射关系,进行符号编码,得到任务调度序列,并对初始种群中的个体进行优化;
S3.构建适应度评价函数,根据适应度评价函数对优化后的初始种群中的个体进行选择操作,得到新的种群;
S4.构建交叉机制,使用基于禁忌表搜索算法的交叉操作对新的种群中的个体进行交叉;
S5.使用基于模拟退火算法的变异操作对新的种群中的个体进行变异操作;
S6.判断是否达到迭代步长,若否,则重复步骤S3-S5;若是,则输出全局最优解。
进一步的,所述步骤S1中根据子任务集的约束关系确定子任务集中各任务层值,具体为:
子任务集的约束关系使用有向无环图模型表示,表示为:
G=<V,E>
其中,V表示子任务集合,V={vi|1≤i≤N};E为子任务之间有向边集合,表示子任务之间优先约束关系;vi表示每个子任务,vi={di,gi};di表示完成任务所需cpu周期;gi表示任务输入数据大小;
子任务集中各任务层值,表示为:
Figure BDA0002711194220000021
其中,pre(vi)表示每个子任务vi的前继节点集合。
进一步的,所述步骤S1中得到子任务集在各处理器的计算时延,具体为:
第i个子任务在本地服务器上的计算时延可以表示为:
Figure BDA0002711194220000031
第i个子任务在MEC服务器上的计算时延可以表示为:
Figure BDA0002711194220000032
第i个子任务在MCC服务器上的计算时延可以表示为:
Figure BDA0002711194220000033
其中,di表示任务大小;fL、fE、fC分别表示用户本地服务器、MEC服务器、MCC服务器的计算能力,即每秒钟所能提供的cpu周期数;
第i个子任务在服务器上的计算时延,表示为:
Figure BDA0002711194220000034
其中,α、β、γ表示0-1变量且α+β+γ=1。
进一步的,所述步骤S1中得到各处理器之间的传输时延,具体为:
用户向所属BS卸载任务的上传速率,表示为:
Figure BDA0002711194220000035
其中,P0表示用户端的固定发射功率;h0表示用户与BS之间的信道增益;σ2表示加性高斯白噪声的功率;w表示信道带宽;
所属BS向用户端的下行传速率,表示为:
Figure BDA0002711194220000036
其中,PE表示BS的固定发射功率;
各处理器之间的传输时延,表示为:
Figure BDA0002711194220000037
其中,cji表示各处理器之间的传输时延,即前继任务vj到后继任务vi的传输时延。
进一步的,所述步骤S2中进行符号编码具体为:
A1.基因值初始化,每个基因值代表该任务所分配到的处理器序号:
ui=pi+i×M (9)
其中,pi表示任务i初始分配的处理器序号;i表示任务编号;M表示处理器总数;
A2.基因值随机交换,对于分配到相同处理器任务的基因值,随机选取其中的两个基因值进行交换,进行
Figure BDA0002711194220000041
次交换,其中k为分配到该处理器上的任务总数。
A3.根据任务所处层值,由小到大进行排序;相同层值的任务,根据个体基因值,由大到小进行排序;得到子任务集整体调度列;
A4.由个体基因值,确定每个任务所分配的处理器:
b=mod(ui/M) (10)
其中,b表示任务vi所分配到的处理器序号;
A5.根据步骤A3中得到的子任务集调度序列和A2中得到的子任务与处理器之间的映射关系,得到各处理器上的调度序列。
进一步的,所述步骤S2中对初始种群中的个体进行优化,具体为:
B1.计算各处理器上的完工时延,得到时延最长处理器pl和时延最短处理器ps
B2.在处理器pl上查找,是否存在某一任务与处理器上其他任务没有优先级制约关系,若是,则将该任务分配到处理器ps上;若否,则在pl上随机选择一个任务转发至ps
B3.比较修改前后个体的总时延,若时延变短,则保留该分配方案;否则维持原有分配方案;
B4.重复执行步骤B2-B3,直至输出优化后的个体;
进一步的,所述步骤S3中构建适应度评价函数,表示为:
Figure BDA0002711194220000042
其中,Ttotal表示子任务集的总时延,表示为:
Ttotal=max{si+ti} (12)
其中,ti表示任务i的执行时延;si表示任务vi的开始执行时间,表示为:
Figure BDA0002711194220000051
其中,
Figure BDA0002711194220000052
表示资源约束条件下的开始执行时间;
Figure BDA0002711194220000053
表示依赖约束条件下的开始执行时间;
资源约束条件下的开始执行时间,表示为:
Figure BDA0002711194220000054
依赖约束条件下的开始执行时间,表示为:
Figure BDA0002711194220000055
其中,任务k为任务vi在所分配处理器调度序列中的前继任务。
进一步的,所述步骤S3中根据适应度评价函数对优化后的初始种群中的个体进行选择操作,具体为:
C1.计算种群中每个个体的累积概率:
Figure BDA0002711194220000056
其中,P(Uj)表示个体Uj被选择的概率,表示为:
Figure BDA0002711194220000057
其中,SN表示种群中个体总数;
C2.在[0,1]内产生随机数r;
C3.若r≤q(1),则个体U1被选中;
C4.若q(k-1)≤r≤q(k),2≤k≤SN则个体Uk被选中;
C5.重复步骤C2—C4,直至新的种群生成。
进一步的,所述步骤S4具体为:
S41.初始化,设定当前种群中个体最大适应度函数值为渴望水平,设定禁忌表元素长度、交叉率、阈值,将禁忌表设为空;
S42.根据交叉率,从种群中选取相邻的两个个体,进行随机编号交叉得到两个子代个体;
S43.比较两个子代个体的适应度值是否大于渴望水平,若是,则子代进入下一代,更新渴望水平为当前个体的适应度值,并执行步骤S45;若否,则执行步骤S44;
S44.查找禁忌表中是否存在某个元素,使得适应度值与元素值的差值小于阈值,若否,则子代进入下一代,并执行步骤S45;若是,则舍弃交叉后子代,父代进入下一代,并执行步骤S46;
S45.更新禁忌表中元素,当表中元素超过表长时,舍弃最初进入表中元素;
S46.返回步骤S42,直至种群中个体交叉完成。
进一步的,所述步骤S5具体为:
S51.初始化,设定初始温度T0、终止温度Tf、降温值ΔT、内循环次数L;将种群中选取的个体Uj的适应度值设为初始解,初始最优解为Ubest=Uj,初始迭代温度为Tk=T0
S52.对个体Uj进行变异操作,变异后个体为U'j,计算总时延增量Δf,表示为:
Δf=Ttotal(U'j)-Ttotal(Uj) (18)
S53.判断U'j的总时延是否小于Ubest的总时延,若是,则Ubest=U'j
S54.判断总时延增量Δf是否小于0,若是,则Uj=U'j;若否,则判断
Figure BDA0002711194220000061
是否大于τ,若是,则Uj=U'j;若否,则Uj=Uj
S55.循环执行步骤S52-S54,并判断是否达到内循环次数,若是,则执行步骤S56;若否,则执行步骤S52;
S56.计算迭代温度Tk=Tk-ΔT,当Tk<Tf时输出Ubest,否则执行步骤S52。
与现有技术相比,本发明在云服务器,边缘服务器和用户本地都具有计算能力的场景下,使用一种混合遗传算法,将用户端具有优先级依赖关系的子任务集卸载到不同服务器,以最小化子任务集的总完成时延。与传统遗传算法相比,有更好的寻优效果。
附图说明
图1是实施例一提供的一种移动边缘计算中基于混合遗传算法的计算卸载方法流程图;
图2为实施例一提供的***模型示意图;
图3为实施例一提供的子任务集DAG模型示意图;
图4为实施例一提供的算法与传统遗传算法收敛结果对比示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本发明的目的是针对现有技术的缺陷,提供了一种移动边缘计算中基于混合遗传算法的计算卸载方法。
实施例一
本实施例提供一种移动边缘计算中基于混合遗传算法的协同计算卸载方法,如图1所示,包括步骤:
S11.建立***模型,得到子任务集在各处理器的计算时延以及各处理器之间的传输时延,并根据子任务集的约束关系确定子任务集中各任务层值;
S12.根据确定的任务层值和随机策略初始化种群,得到子任务集的初始种群个体,并根据初始种群个体中任务与处理器的映射关系,进行符号编码,得到任务调度序列,并对初始种群中的个体进行优化;
S13.构建适应度评价函数,根据适应度评价函数对优化后的初始种群中的个体进行选择操作,得到新的种群;
S14.构建交叉机制,使用基于禁忌表搜索算法的交叉操作对新的种群中的个体进行交叉;
S15.使用基于模拟退火算法的变异操作对新的种群中的个体进行变异操作;
S16.判断是否达到迭代步长,若否,则重复步骤S13-S15;若是,则输出全局最优解。
本实施例适用于移动边缘计算场景,***模型图如图2所示,由一个用户,一个移动云服务器和多个边缘服务器组成,由移动云服务器进行集中式决策调度方案。BS和MEC服务器之间距离很近,因此传输延迟很小,可忽略不计。一个服务器只能同时处理一个任务,当用户端子任务集过多时,用户所属BS可以与资源池中其他BS通信,进行协同计算卸载,以满足用户需求。
在步骤S11中,建立***模型,得到子任务集在各处理器的计算时延以及各处理器之间的传输时延,并根据子任务集的约束关系确定子任务集中各任务层值。
用户端子任务集之间的优先级约束关系使用有向无环图(DAG)模型表示,即G=<V,E>。其中V为子任务集合,V={vi|1≤i≤N}。E为子任务之间有向边集合,表示子任务之间优先约束关系,eij∈E表示在子任务vi执行完后才可以执行任务vj。每个子任务vi={di,gi},其中di为完成任务所需cpu周期,gi为任务输入数据大小。
没有前继约束限制的子任务称为入口节点,没有后继任务的子任务成为出口节点。若同时存在多个入口节点,则加入一个新的入口节点作为多个入口节点的前继节点,新的入口节点计算时延为0,与其他多个时间节点的通信时延也为0。同理若存在多个出口节点,则加入一个新的出口节点。
对于已知的DAG模型,子任务vi的前继节点集合为pre(vi),后继节点集合为suc(vi),由下式可确定子任务集中每个任务所属层值:
Figure BDA0002711194220000081
P={pi|1≤i≤M}为模型中处理器集合,其中p1为用户本地处理器,p2用户所在基站下的MEC服务器,pM为MCC服务器,其余为与用户所属BS在同一资源池下的其他MEC服务器。
第i个子任务在本地服务器上的处理时延可以表示为:
Figure BDA0002711194220000082
第i个子任务在边缘服务器上的处理时延可以表示为:
Figure BDA0002711194220000091
第i个子任务在边缘服务器上的处理时延可以表示为:
Figure BDA0002711194220000092
其中di为任务大小,fL,fE,fC分别表示用户本地服务器,MEC服务器,MCC服务器的计算能力,即每秒钟所能提供的cpu周期数。
则第i个子任务在服务器上的处理时延可以表示为:
Figure BDA0002711194220000093
式中α,β,γ为0-1变量且α+β+γ=1。
在任务传输过程中,若前继节点和后继节点分配在同一处理器上,则传输时延为0。考虑准静态信道模型,用户向所属BS卸载任务的上传速率为:
Figure BDA0002711194220000094
其中P0表示用户端的固定发射功率,h0表示用户与BS之间的信道增益,σ2表示加性高斯白噪声的功率,w表示信道带宽。
所属BS向用户端的下行传速率为:
Figure BDA0002711194220000095
其中PE表示BS的固定发射功率。
则前继任务vj到后继任务vi的传输时延为:
Figure BDA0002711194220000096
上式中包括十种情况,箭头指向代表卸载平台方向。例如:ci,α→β前继任务j在本地服务器处理,后继任务i在所属BS的MEC服务器处理。下式列出了十种情况的具体计算公式:
Figure BDA0002711194220000101
其中,πE为资源池中BS之间的传输速率,πC为BS到MCC服务器的传输速率。yi,α,yj,β均为0-1变量,例如:当前继任务vj被卸载到用户所属BS的MEC服务器上时yj,β=1。
在步骤S12中,对确定的任务层值进行随机策略初始化种群处理,得到子任务集的初始种群个体,并根据初始种群个体中任务与处理器的映射关系,进行符号编码,得到任务调度序列,并对初始种群中的个体进行优化。
根据步骤S11中得到的子任务及层级值,将相同层值的任务进行处理器预分配。若某层任务总数为n,令a=mod(n/M),从总任务中随机挑选a个任务分配各不同的处理器,再将剩余的(n-a)个任务均分给场景下的M个处理器,得到子任务集的初始分配方案。并根据初始分配方案中任务与处理器的映射关系,进行符号编码,得到个体初始基因值序列。
具体编码方案如下:
A1.基因值初始化,每个基因值代表该任务所分配到的处理器序号:
ui=pi+i×M (26)
其中,pi任务i初始分配的处理器序号,i为任务编号,M为处理器总数。
A2.基因值随机交换,对于分配到相同处理器任务的基因值,随机选取其中的两个基因值进行交换。进行
Figure BDA0002711194220000111
次交换,其中k为分配到该处理器上的任务总数。
得到个体基因值序列后,采用基于任务层值和基因值的调度方案,具体步骤为:
A3.首先根据任务所处层值,由小到大进行排序;相同层值的任务,根据个体基因值,由大到小进行排序;得到子任务集整体调度列。
A4.由个体基因值,确定每个任务所分配的处理器:
b=mod(ui/M) (27)
b即为任务vi所分配到的处理器序号。
A5.根据步骤A1中得到的子任务集调度序列和A2中得到的子任务与处理器之间的映射关系,最终可得到各处理器上的调度序列。
为了提高初始种群的质量,对由初始分配策略得到的每一个个体进行优化,具体优化步骤为:
B1.计算各处理器上的完工时延,得到时延最长处理器pl和时延最短处理器ps
B2.在处理器pl上查找,是否存在某一任务与处理器上其他任务没有优先级制约关系。若存在,则将该任务分配到处理器ps上,否则在pl上随机选择一个任务转发至ps
B3.比较修改前后个体的总时延,若时延变短,则保留该分配方案,否则维持原有分配方案。
B4.重复步骤B2-B3 10次,输出优化后的个体。
子任务集的总时延可由下式计算得出:
Ttotal=max{si+ti} (28)
其中ti为任务i的执行时延,si为任务vi的开始执行时间,由以下公式确定:
Figure BDA0002711194220000112
Figure BDA0002711194220000113
为资源约束条件下的开始执行时间:
Figure BDA0002711194220000121
其中任务k为任务vi在所分配处理器调度序列中的前继任务。
Figure BDA0002711194220000122
为依赖约束条件下的开始执行时间:
Figure BDA0002711194220000123
在步骤S13中,构建适应度评价函数,根据适应度评价函数对优化后的初始种群中的个体进行选择操作,得到新的种群
适应度评价函数具体为:
Figure BDA0002711194220000124
即用个体的总时延的倒数作为评价标准,完工时延越短,评价函数值越大,说明该个体适应度越高。
选择操作中根据所得到的适应度函数值,对种群中个体进行轮盘赌决选择,具体步骤为:
C1.计算种群中每个个体的累积概率:
Figure BDA0002711194220000125
其中P(Uj)为个体Uj被选择的概率,由下式确定:
Figure BDA0002711194220000126
SN为种群中个体总数;
C2.在[0,1]内产生随机数r;
C3.若r≤q(1),则个体U1被选中;
C4.若q(k-1)≤r≤q(k),2≤k≤SN则个体Uk被选中;
C5.重复步骤C2-C5,直至新的种群生成。
在步骤S14中,构建交叉机制,使用基于禁忌表搜索算法的交叉操作对新的种群中的个体进行交叉。
构建交叉机制,使用基于禁忌表搜索算法(TS)的交叉操作对种群中个体进行交叉。
基于禁忌表搜索算法(TS)的交叉操作的具体步骤为:
S141.初始化,设定当前种群中个体最大适应度函数值为渴望水平,设定禁忌表元素长度,交叉率,阈值等参数,将禁忌表设为空;
S142.根据交叉率,从种群中选取相邻的两个个体,进行随机编号交叉得到两个子代个体;
S143.比较两个子代个体的适应度值与渴望水平,若大于渴望水平,则子代进入下一代,更新渴望水平为当前个体的适应度值,转向步骤S145;
S144.若不大于渴望水平,则查找禁忌表中是否存在某个元素,使得适应度值与元素值的差值小于阈值。若不存在,则子代进入下一代,转向步骤S145;若存在,则舍弃交叉后子代,父代进入下一代,转向步骤S146;
S145.更新禁忌表中元素,当表中元素超过表长时,舍弃最初进入表中元素;
S146.返回步骤S142,直至种群中个体交叉完成。
其中,步骤S142中所述的随机编号交叉具体步骤为:
S1421.对于进行交叉操作的个体U1,U2,在个体基因序列中,随机选择一个初始节点和终止节点;
S1422.将U1中选取的基因片段中的l'个基因值随机编号,编号值1~l';
S1423.同理将U2中的基因值随机编号;
S1424.将两个基因值片段中编号相同的基因值位置互换,并替换掉原有基因值片段,得到新的个体。
在步骤S15中,使用基于模拟退火算法的变异操作对新的种群中的个体进行变异操作。
使用基于模拟退火算法(SA)的变异操作对种群中个体进行变异操作。
基于SA算法的变异操作具体为:
S151.初始化,设定初始温度T0,终止温度Tf,降温值ΔT,内循环次数L。将种群中选取的个体Uj的适应度值设为初始解,初始最优解为Ubest=Uj,初始迭代温度为Tk=T0
S152.对个体Uj进行变异操作,变异后个体为U'j,计算总时延增量:
Δf=Ttotal(U'j)-Ttotal(Uj) (35)
S153.若U'j的总时延小于Ubest的总时延,则Ubest=U'j
S154.若Δf<0,则Uj=U'j;Δf>0,则判断
Figure BDA0002711194220000141
其中τ=U(0,1),若大于则Uj=U'j,否则Uj=Uj
S155.判断是否达到内循环次数,若达到则执行步骤S156,否则执行步骤S152;
S156.计算迭代温度Tk=Tk-ΔT,当Tk<Tf时输出Ubest,否则执行步骤S152。
其中步骤S152中所述的变异操作具体步骤为:
在个体Uj的基因值序列中,随机选择两个基因值进行交换,得到新的基因值序列即为个体U'j的基因值序列。
在步骤S16中,判断是否达到迭代步长,若没有则重复遗传操作即步骤S13至步骤S15;若达到则输出全局最优解。
如图3所示,显示了一个简单的DAG模型图。图中子任务集中有10个子任务,子任务之间的优先级约束关系由带有单向箭头的连线表示出来。
如图4所示,比较了本实施例所使用的混合遗传算法与传统遗传算法的算法收敛结果对比图。迭代次数设为100,为了避免数据的随机性,仿真结果取20次实验的平均值。由图可得相比于传统的遗传算法,本发明所采用的混合遗传算法能够得到更好的全局最优解。
与现有技术相比,本实施例在云服务器,边缘服务器和用户本地都具有计算能力的场景下,使用一种混合遗传算法,将用户端具有优先级依赖关系的子任务集卸载到不同服务器,以最小化子任务集的总完成时延。与传统遗传算法相比,有更好的寻优效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种移动边缘计算中基于混合遗传算法的计算卸载方法,其特征在于,包括步骤:
S1.建立***模型,得到子任务集在各处理器的计算时延以及各处理器之间的传输时延,并根据子任务集的约束关系确定子任务集中各任务层值;其中,***模型由一个用户、一个移动云服务器和多个边缘服务器组成,由移动云服务器进行集中式决策调度方案;一个服务器只能同时处理一个任务,当用户端子任务集过多时,用户所属BS可以与资源池中其他BS通信,进行协同计算卸载,以满足用户需求;
S2.根据确定的任务层值和随机策略初始化种群,得到子任务集的初始种群个体,并根据初始种群个体中任务与处理器的映射关系,进行符号编码,得到任务调度序列,并对初始种群中的个体进行优化;
S3.构建适应度评价函数,根据适应度评价函数对优化后的初始种群中的个体进行选择操作,得到新的种群;
S4.构建交叉机制,使用基于禁忌表搜索算法的交叉操作对新的种群中的个体进行交叉;
S5.使用基于模拟退火算法的变异操作对新的种群中的个体进行变异操作;
S6.判断是否达到迭代步长,若否,则重复步骤S3-S5;若是,则输出全局最优解。
2.根据权利要求1所述的一种移动边缘计算中基于混合遗传算法的计算卸载方法,其特征在于,所述步骤S1中根据子任务集的约束关系确定子任务集中各任务层值,具体为:
子任务集的约束关系使用有向无环图模型表示,表示为:
G=<V,E>
其中,V表示子任务集合,V={vi|1≤i≤N};E为子任务之间有向边集合,表示子任务之间优先约束关系;vi表示每个子任务,vi={di,gi};di表示完成任务所需cpu周期;gi表示任务输入数据大小;
子任务集中各任务层值,表示为:
Figure FDA0002711194210000021
其中,pre(vi)表示每个子任务vi的前继节点集合。
3.根据权利要求2所述的一种移动边缘计算中基于混合遗传算法的计算卸载方法,其特征在于,所述步骤S1中得到子任务集在各处理器的计算时延,具体为:
第i个子任务在本地服务器上的计算时延可以表示为:
Figure FDA0002711194210000022
第i个子任务在MEC服务器上的计算时延可以表示为:
Figure FDA0002711194210000023
第i个子任务在MCC服务器上的计算时延可以表示为:
Figure FDA0002711194210000024
其中,di表示任务大小;fL、fE、fC分别表示用户本地服务器、MEC服务器、MCC服务器的计算能力,即每秒钟所能提供的cpu周期数;
第i个子任务在服务器上的计算时延,表示为:
Figure FDA0002711194210000025
其中,α、β、γ表示0-1变量且α+β+γ=1。
4.根据权利要求3所述的一种移动边缘计算中基于混合遗传算法的计算卸载方法,其特征在于,所述步骤S1中得到各处理器之间的传输时延,具体为:
用户向所属BS卸载任务的上传速率,表示为:
Figure FDA0002711194210000026
其中,P0表示用户端的固定发射功率;h0表示用户与BS之间的信道增益;σ2表示加性高斯白噪声的功率;w表示信道带宽;
所属BS向用户端的下行传速率,表示为:
Figure FDA0002711194210000031
其中,PE表示BS的固定发射功率;
各处理器之间的传输时延,表示为:
Figure FDA0002711194210000032
其中,cji表示各处理器之间的传输时延,即前继任务vj到后继任务vi的传输时延。
5.根据权利要求1所述的一种移动边缘计算中基于混合遗传算法的计算卸载方法,其特征在于,所述步骤S2中进行符号编码具体为:
A1.基因值初始化,每个基因值代表该任务所分配到的处理器序号:
ui=pi+i×M (9)
其中,pi表示任务i初始分配的处理器序号;i表示任务编号;M表示处理器总数;
A2.基因值随机交换,对于分配到相同处理器任务的基因值,随机选取其中的两个基因值进行交换,进行
Figure FDA0002711194210000033
次交换,其中k为分配到该处理器上的任务总数。
A3.根据任务所处层值,由小到大进行排序;相同层值的任务,根据个体基因值,由大到小进行排序;得到子任务集整体调度列;
A4.由个体基因值,确定每个任务所分配的处理器:
b=mod(ui/M) (10)
其中,b表示任务vi所分配到的处理器序号;
A5.根据步骤A3中得到的子任务集调度序列和A2中得到的子任务与处理器之间的映射关系,得到各处理器上的调度序列。
6.根据权利要求5所述的一种移动边缘计算中基于混合遗传算法的计算卸载方法,其特征在于,所述步骤S2中对初始种群中的个体进行优化,具体为:
B1.计算各处理器上的完工时延,得到时延最长处理器pl和时延最短处理器ps
B2.在处理器pl上查找,是否存在某一任务与处理器上其他任务没有优先级制约关系,若是,则将该任务分配到处理器ps上;若否,则在pl上随机选择一个任务转发至ps
B3.比较修改前后个体的总时延,若时延变短,则保留该分配方案;否则维持原有分配方案;
B4.重复执行步骤B2-B3,直至输出优化后的个体;
7.根据权利要求1所述的一种移动边缘计算中基于混合遗传算法的计算卸载方法,其特征在于,所述步骤S3中构建适应度评价函数,表示为:
Figure FDA0002711194210000041
其中,Ttotal表示子任务集的总时延,表示为:
Ttotal=max{si+ti} (12)
其中,ti表示任务i的执行时延;si表示任务vi的开始执行时间,表示为:
Figure FDA0002711194210000042
其中,
Figure FDA0002711194210000043
表示资源约束条件下的开始执行时间;
Figure FDA0002711194210000044
表示依赖约束条件下的开始执行时间;
资源约束条件下的开始执行时间,表示为:
Figure FDA0002711194210000045
依赖约束条件下的开始执行时间,表示为:
Figure FDA0002711194210000046
其中,任务k为任务vi在所分配处理器调度序列中的前继任务。
8.根据权利要求7所述的一种移动边缘计算中基于混合遗传算法的计算卸载方法,其特征在于,所述步骤S3中根据适应度评价函数对优化后的初始种群中的个体进行选择操作,具体为:
C1.计算种群中每个个体的累积概率:
Figure FDA0002711194210000047
其中,P(Uj)表示个体Uj被选择的概率,表示为:
Figure FDA0002711194210000051
其中,SN表示种群中个体总数;
C2.在[0,1]内产生随机数r;
C3.若r≤q(1),则个体U1被选中;
C4.若q(k-1)≤r≤q(k),2≤k≤SN则个体Uk被选中;
C5.重复步骤C2—C4,直至新的种群生成。
9.根据权利要求1所述的一种移动边缘计算中基于混合遗传算法的计算卸载方法,其特征在于,所述步骤S4具体为:
S41.初始化,设定当前种群中个体最大适应度函数值为渴望水平,设定禁忌表元素长度、交叉率、阈值,将禁忌表设为空;
S42.根据交叉率,从种群中选取相邻的两个个体,进行随机编号交叉得到两个子代个体;
S43.比较两个子代个体的适应度值是否大于渴望水平,若是,则子代进入下一代,更新渴望水平为当前个体的适应度值,并执行步骤S45;若否,则执行步骤S44;
S44.查找禁忌表中是否存在某个元素,使得适应度值与元素值的差值小于阈值,若否,则子代进入下一代,并执行步骤S45;若是,则舍弃交叉后子代,父代进入下一代,并执行步骤S46;
S45.更新禁忌表中元素,当表中元素超过表长时,舍弃最初进入表中元素;
S46.返回步骤S42,直至种群中个体交叉完成。
10.根据权利要求1所述的一种移动边缘计算中基于混合遗传算法的计算卸载方法,其特征在于,所述步骤S5具体为:
S51.初始化,设定初始温度T0、终止温度Tf、降温值ΔT、内循环次数L;将种群中选取的个体Uj的适应度值设为初始解,初始最优解为Ubest=Uj,初始迭代温度为Tk=T0
S52.对个体Uj进行变异操作,变异后个体为U'j,计算总时延增量Δf,表示为:
Δf=Ttotal(U'j)-Ttotal(Uj) (18)
S53.判断U'j的总时延是否小于Ubest的总时延,若是,则Ubest=U'j
S54.判断总时延增量Δf是否小于0,若是,则Uj=U'j;若否,则判断
Figure FDA0002711194210000061
是否大于τ,若是,则Uj=U'j;若否,则Uj=Uj
S55.循环执行步骤S52-S54,并判断是否达到内循环次数,若是,则执行步骤S56;若否,则执行步骤S52;
S56.计算迭代温度Tk=Tk-ΔT,当Tk<Tf时输出Ubest,否则执行步骤S52。
CN202011057306.2A 2020-09-30 2020-09-30 一种移动边缘计算中基于混合遗传算法的计算卸载方法 Pending CN112181655A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011057306.2A CN112181655A (zh) 2020-09-30 2020-09-30 一种移动边缘计算中基于混合遗传算法的计算卸载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011057306.2A CN112181655A (zh) 2020-09-30 2020-09-30 一种移动边缘计算中基于混合遗传算法的计算卸载方法

Publications (1)

Publication Number Publication Date
CN112181655A true CN112181655A (zh) 2021-01-05

Family

ID=73946114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011057306.2A Pending CN112181655A (zh) 2020-09-30 2020-09-30 一种移动边缘计算中基于混合遗传算法的计算卸载方法

Country Status (1)

Country Link
CN (1) CN112181655A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905316A (zh) * 2021-02-02 2021-06-04 杭州电子科技大学 基于遗传算法的gpu集群多作业调度方法
CN112949200A (zh) * 2021-03-15 2021-06-11 成都优乐控智能科技有限责任公司 一种边缘计算任务分割方法
CN112988345A (zh) * 2021-02-09 2021-06-18 江南大学 一种基于移动边缘计算的依赖型任务卸载方法及装置
CN114143814A (zh) * 2021-12-13 2022-03-04 华北电力大学(保定) 一种基于异构边缘云架构的多任务卸载方法及***
CN114356564A (zh) * 2021-12-29 2022-04-15 四川大学 一种集成服务资源的***
CN115866626A (zh) * 2023-02-23 2023-03-28 安徽思高智能科技有限公司 一种基于nsga-ⅱ和模拟退火的边缘环境下服务部署方法
CN116155728A (zh) * 2023-04-23 2023-05-23 华东交通大学 超密集网络中计算卸载与资源优化方法
CN116260730A (zh) * 2023-05-15 2023-06-13 武汉大学 多边缘计算节点中的地理信息服务进化粒子群优化方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016165392A1 (zh) * 2015-04-17 2016-10-20 华南理工大学 一种基于遗传算法的云计算资源调度方法
CN109358953A (zh) * 2018-09-20 2019-02-19 中南大学 一种微云中的多任务应用卸载方法
CN109561148A (zh) * 2018-11-30 2019-04-02 湘潭大学 边缘计算网络中基于有向无环图的分布式任务调度方法
CN110851277A (zh) * 2019-11-08 2020-02-28 中国石油大学(华东) 一种增强现实场景下基于边云协同的任务调度策略
CN111104211A (zh) * 2019-12-05 2020-05-05 山东师范大学 基于任务依赖的计算卸载方法、***、设备及介质
CN111399933A (zh) * 2020-02-11 2020-07-10 福建师范大学 一种边缘-云混合计算环境下的dnn任务卸载方法及终端
CN111585816A (zh) * 2020-05-11 2020-08-25 重庆邮电大学 一种基于自适应遗传算法的任务卸载决策方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016165392A1 (zh) * 2015-04-17 2016-10-20 华南理工大学 一种基于遗传算法的云计算资源调度方法
CN109358953A (zh) * 2018-09-20 2019-02-19 中南大学 一种微云中的多任务应用卸载方法
CN109561148A (zh) * 2018-11-30 2019-04-02 湘潭大学 边缘计算网络中基于有向无环图的分布式任务调度方法
CN110851277A (zh) * 2019-11-08 2020-02-28 中国石油大学(华东) 一种增强现实场景下基于边云协同的任务调度策略
CN111104211A (zh) * 2019-12-05 2020-05-05 山东师范大学 基于任务依赖的计算卸载方法、***、设备及介质
CN111399933A (zh) * 2020-02-11 2020-07-10 福建师范大学 一种边缘-云混合计算环境下的dnn任务卸载方法及终端
CN111585816A (zh) * 2020-05-11 2020-08-25 重庆邮电大学 一种基于自适应遗传算法的任务卸载决策方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
凌雪延等: "多核服务器边缘计算***中任务卸载调度和功率分配的研究", 《南京邮电大学学报(自然科学版)》, 30 April 2020 (2020-04-30) *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905316A (zh) * 2021-02-02 2021-06-04 杭州电子科技大学 基于遗传算法的gpu集群多作业调度方法
CN112988345A (zh) * 2021-02-09 2021-06-18 江南大学 一种基于移动边缘计算的依赖型任务卸载方法及装置
CN112988345B (zh) * 2021-02-09 2024-04-02 江南大学 一种基于移动边缘计算的依赖型任务卸载方法及装置
CN112949200A (zh) * 2021-03-15 2021-06-11 成都优乐控智能科技有限责任公司 一种边缘计算任务分割方法
CN112949200B (zh) * 2021-03-15 2022-10-25 成都优乐控智能科技有限责任公司 一种边缘计算任务分割方法
CN114143814B (zh) * 2021-12-13 2024-01-23 华北电力大学(保定) 一种基于异构边缘云架构的多任务卸载方法及***
CN114143814A (zh) * 2021-12-13 2022-03-04 华北电力大学(保定) 一种基于异构边缘云架构的多任务卸载方法及***
CN114356564A (zh) * 2021-12-29 2022-04-15 四川大学 一种集成服务资源的***
CN115866626A (zh) * 2023-02-23 2023-03-28 安徽思高智能科技有限公司 一种基于nsga-ⅱ和模拟退火的边缘环境下服务部署方法
CN115866626B (zh) * 2023-02-23 2023-05-12 安徽思高智能科技有限公司 一种基于nsga-ⅱ和模拟退火的边缘环境下服务部署方法
CN116155728A (zh) * 2023-04-23 2023-05-23 华东交通大学 超密集网络中计算卸载与资源优化方法
CN116260730A (zh) * 2023-05-15 2023-06-13 武汉大学 多边缘计算节点中的地理信息服务进化粒子群优化方法
CN116260730B (zh) * 2023-05-15 2023-07-21 武汉大学 多边缘计算节点中的地理信息服务进化粒子群优化方法

Similar Documents

Publication Publication Date Title
CN112181655A (zh) 一种移动边缘计算中基于混合遗传算法的计算卸载方法
CN108920280B (zh) 一种单用户场景下的移动边缘计算任务卸载方法
CN109561148B (zh) 边缘计算网络中基于有向无环图的分布式任务调度方法
CN113242568A (zh) 一种不确定网络环境中的任务卸载和资源分配方法
CN112512056B (zh) 一种移动边缘计算网络中多目标优化的计算卸载方法
CN112380008B (zh) 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法
CN113220356B (zh) 一种移动边缘计算中的用户计算任务卸载方法
CN110096362B (zh) 一种基于边缘服务器协作的多任务卸载方法
CN113867843B (zh) 一种基于深度强化学习的移动边缘计算任务卸载方法
CN112272102B (zh) 边缘网络业务卸载和调度方法及装置
CN111813506A (zh) 一种基于粒子群算法资源感知计算迁移方法、装置及介质
CN111988787B (zh) 一种任务的网络接入和服务放置位置选择方法及***
CN113590279A (zh) 一种面向多核边缘计算服务器的任务调度和资源分配方法
CN113672295A (zh) 基于遗传算法的移动云环境下协同计算卸载方法
CN112083967A (zh) 一种云边端计算任务的卸载方法、计算机设备及存储介质
CN115473896A (zh) 基于dqn算法的电力物联网卸载策略和资源配置优化方法
CN113747507B (zh) 一种面向5g超密集网络的计算资源管理方法及装置
Gao et al. Com-DDPG: A multiagent reinforcement learning-based offloading strategy for mobile edge computing
CN112596910B (zh) 一种多用户mec***中的云计算资源调度方法
CN117632488A (zh) 基于云边端协同的多用户细粒度任务卸载调度方法及装置
CN116828534B (zh) 基于强化学习的密集网络大规模终端接入与资源分配方法
CN117202264A (zh) Mec环境中面向5g网络切片的计算卸载方法
CN116455903A (zh) 一种利用深度强化学习优化车联网中依赖性任务卸载方法
CN114615705B (zh) 一种基于5g网络下单用户资源分配策略方法
CN115103338A (zh) 一种d2d环境下基于深度强化学习的交接卸载方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination