一种基于群智能算法的任务卸载方法
技术领域
本发明涉及无线通信技术领域,尤其涉及一种基于群智能算法的任务卸载方法。
背景技术
移动边缘计算(MEC)融合了无线网络和互联网两者的技术,在移动网络边缘提供IT服务环境和云计算能力,并在无线网络端增加了计算、存储和处理等功能,将传统的无线网络基站升级为智能化基站。移动边缘计算的技术特征主要体现为邻近性、低时延性、高带宽和位置认知,在移动端面对大型任务且本身存在的计算能力和电量储备不足的缺陷下,能够做到减少网络操作和服务交付的时延,从而使用户得到更好的体验。
随着5G技术和物联网(IoT)发展推动了移动边缘计算技术的进步,而且随着任务的大小和边缘计算节点的指数增长,如果在保证低时延、低能耗的情况下能够做出准确的决策成为问题的关键。而现有技术的求解策略是利用分支界法进行计算,但是该方面在面对日益增大的任务和日益最多的计算节点时,存在计算复杂的不足,反而提高了移动端完成任务所需的时间和能耗。
发明内容
本发明实施例提出一种基于群智能算法的任务卸载方法,能够减少移动端在移动边缘计算时完成任务所需的时间和能耗,提高移动端的用户体验。
本发明实施例提供一种基于群智能算法的任务卸载方法,包括:
根据移动端执行的移动边缘计算中第一任务的任务类型和任务容量,将所述第一任务拆分为N个子任务;
将每一个子任务单独卸载给一个计算节点进行计算,并为每个子任务设置一个决策因子,用于表示第n个子任务被分配到m个计算节点的策略可能性;其中,每一个计算节点对应一个子任务;所述计算节点的总个数为M;M为大于等于一的整数;N为大于1的整数;n为大于0且小于等于N的整数;m为大于0且小于等于M的整数;
根据决策矩阵、所述N个子任务自身的容量以及所述移动端到各计算节点的传输速率,计算所述第一任务被计算完成时的最大时间和总能耗;其中所述决策矩阵由所述N个子任务对应的N个决策因子组成;
根据移动端的优化策略,对所述最大时间和所述总能耗设置权重因子,并以此计算完成所述第一任务所需要付出的第一代价值;
根据预设的群智能算法对所述决策矩阵进行优化,从而使得所述第一代价值达到最小值。
进一步的,所述将所述第一任务拆分为N个子任务,具体为:
所述第一任务的任务容量为L,则所述N个子任务表示为:
{ln|1≤n≤N}。
进一步的,所述决策因子为:
所述决策矩阵为N*(M+1)的矩阵,记为:X={1≤n≤N,0≤m≤M}。
进一步的,所述根据所述决策矩阵、所述N个子任务自身的容量以及所述移动端到各计算节点的传输速率,计算所述第一任务被计算完成时的最大时间和总能耗,具体为:
Tn0为第n个子任务在移动端本地计算所需要的时间,ζ0是移动端CPU的计算频率,κ是每一比特任务所需要的CPU周期数,ln是子任务的大小;
为第n个子任务被卸载到第m个计算节点所需要的时间,C
nm是第n个子任务被卸载到第m个计算节点时的传输速率;
Tnm为第m个计算节点计算第n个子任务所需的时间,ζm为第m个计算节点的计算频率;
其中,E
n0为第n个子任务在移动端本地计算所需的能耗,
为移动端计算所需要的功率;E
nm为移动端将第n个子任务卸载到第m个计算节点时所需的能耗;
为移动端传输功率。
进一步的,所述根据移动端的优化策略,对所述最大时间和所述总能耗设置权重因子,并以此计算完成所述第一任务所需要付出的第一代价值,具体为:
根据移动端的优化策略,对所述最大时间和所述总能耗设置权重因子,并按照以下公式计算第一代价值:
Φ(X)=λT(X)+(1-λ)E(X);其中,λ∈[0,1]。
进一步的,所述根据预设的群智能算法对所述决策矩阵进行优化,从而使得所述第一代价值达到最小值,具体为:
根据预设的粒子群算法,将决策矩阵转换为向量:Z=z1,z2,...,zN;转换规则为:zn=m if xnm=1;
设置pj=(pj,1,...,pj,N)和vj=(vj,1,...,vj,N)分别表示粒子群中的第j个体的位置和速度;J表示种群中粒子的总数;
将粒子群中所有的个体进行I次迭代,进行第i次迭代时,pbestj和gbest分别为前i迭代的粒子j的历史最佳位置和种群历史最佳位置;
在每次迭代中,速度和位置的更新公式分别为:
其中,ω为惯性权重,ξ和η是符合随机分布在0到1之间的随机变量,c
1和c
2为学习因子;惯性权重ω满足
其中,ω
i为第i次迭代时的值;ω
max和ω
min为根据实际情况设计的最大值和最小值;
通过第I次迭代后,获得最优向量,并根据所述转换规则逆操作得到优化后的决策矩阵,从而使得所述第一代价值达到最小值。
进一步的,所述将每一个子任务单独卸载给一个计算节点进行计算,具体为:按照每个子任务的容量,以预设的分配规则进行卸载;
所述分配规则为:
其中,Btotal为***分配给移动端的总带宽;Bn为***分配给第n个子任务的带宽。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的基于群智能算法的任务卸载方法,将移动端执行的第一任务拆分为多个子任务,然后根据子任务的大小将每个子任务卸载给计算节点,配置相应的决策因子;根据决策矩阵、子任务自身的容量、移动端到各计算节点的传输速率,计算出第一任务被计算完成时的最大时间和总能耗;再根据移动端的优化策略,对最大时间和总能耗设置权重因子,并以此计算完成第一任务所需要付出的第一代价值;最后通过群智能算法对决策矩阵进行优化,从而使得第一代价值达到最小值。相比于现有技术的分支界法,本发明能够减少移动端在移动边缘计算时完成任务所需的时间和能耗,提高移动端的用户体验。
附图说明
图1是本发明提供的基于群智能算法的任务卸载方法的一种实施例的流程示意图;
图2是本发明提供的DPSO迭代次数-代价值示意图;
图3是本发明提供的不同权重因子下的代价值示意图;
图4是本发明提供的能耗-时延效果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的基于群智能算法的任务卸载方法的一种实施例的流程示意图。如图1所示,该方法包括步骤101至步骤105,各步骤具体如下:
步骤101:根据移动端执行的移动边缘计算中第一任务的任务类型和任务容量,将第一任务拆分为N个子任务。
在本实施例中,将第一任务拆分为N个子任务,具体为:第一任务的任务容量为L,则所述N个子任务表示为:{ln|1≤n≤N}。移动端需要完成一个任务容量为L的任务是,会按照任务的类型和任务量容量将其进行任务分割,譬如该任务的类型为视频任务,可以但不限于按照预设的帧数划分视频,最小单位不能小于帧;如果任务的类型为文本任务,可以但不限于按照段落进行任务划分,或者按照页数进行任务划分。
步骤102:将每一个子任务单独卸载给一个计算节点进行计算,并为每个子任务设置一个决策因子,用于表示第n个子任务被分配到m个计算节点的策略可能性。
在本实施例中,边缘计算节点的总个数为M,这些边缘计算节点均可以供移动端使用,而且移动端本身具备一定的计算能力,所以每个子任务可以选择在移动端上计算或上传任务到边缘计算节点进行计算。M+1个计算节点被表示为{CPUm|0≤m≤M}。M为大于等于一的整数;N为大于1的整数;n为大于0且小于等于N的整数;m为大于0且小于等于M的整数;
在本实施例中,每一个计算节点对应一个子任务,并设置一个决策因子,设置原则为:
为了减少时间和延时,每个子任务只计算以此,因此所有的决策因子可以组成一个N*(M+1)的决策矩阵,记为:X={1<n<N,0<m<M}。
步骤103:根据决策矩阵、N个子任务自身的容量以及移动端到各计算节点的传输速率,计算第一任务被计算完成时的最大时间和总能耗。
Tn0为第n个子任务在移动端本地计算所需要的时间,ζ0是移动端CPU的计算频率(单位为cycle/s),κ是每一比特任务所需要的CPU周期数,ln是子任务的大小(单位为bit);
为第n个子任务被卸载到第m个计算节点所需要的时间,C
nm是第n个子任务被卸载到第m个计算节点时的传输速率;
Tnm为第m个计算节点计算第n个子任务所需的时间,ζm为第m个计算节点的计算频率;
所述总能耗为:
其中,E
n0为第n个子任务在移动端本地计算所需的能耗,
为移动端计算所需要的功率;E
nm为移动端将第n个子任务卸载到第m个计算节点时所需的能耗;
为移动端传输功率。
在本实施例中,对于第n个子任务,有两种被计算的可能,分别为一、在移动端本地计算;二、被卸载到计算节点计算。由于每个计算节点在执行任务时都是并行的,所以整个***完成所有的任务所需要的实际为所有计算节点完成自己任务的最大时间。而计算能耗时,由于计算节点默认是跟电源连接的,因此不再考虑计算节点的能源消耗。
在本实施例中,在计算传输效率C
nm时,可以通过香农公式求出:
其中,B
n为***分配给第n个子任务的带宽,
为移动端传输功率,h
m为移动端与第m个计算节点的信道参数,σ为移动端与第m个计算节点的噪声。
步骤104:根据移动端的优化策略,对最大时间和总能耗设置权重因子,并以此计算完成所述第一任务所需要付出的第一代价值。
在本实施例中,代价值由最大时间、总能耗和权重因子组成。代价值按照以下公式进行计算:Φ(X)=λT(X)+(1-λ)E(X);其中,λ∈[0,1]。本发明通过设置权重因子来权衡时延和能耗的关系,当权重因子较小时,表明需要低能耗,当权重因子较大时,表明重视低时延。根据移动端的优化策略(可以是需要低时延或需要低能耗,具体可根据实际情况设置),设置的权重因子形成代价值的目标函数,代价值越低表面所需付出的代价越低,而从公式可知,影响代价函数最重要的因素就是决策矩阵X。
在本实施例中,从最大时间和总能耗的表达式可以得知,提高数据的传输速率也可以在一定程度上降低时延和能耗。所以在本实施例中,将每一个子任务单独卸载给一个计算节点进行计算,具体为:按照每个子任务的容量,以预设的分配规则进行卸载;
所述分配规则为:
其中,Btotal为***分配给移动端的总带宽;Bn为***分配给第n个子任务的带宽。本发明提出来优化带宽策略,对于带宽分配是根据子任务的大小进行分配,给较大任务分配较大的带宽,可以提高整个***的传输效率。
步骤105:根据预设的群智能算法对所述决策矩阵进行优化,从而使得第一代价值达到最小值。
在本实施例中,步骤105具体为:根据预设的粒子群算法,将决策矩阵转换为向量:Z=z1,z2,...,zN;转换规则为:zn=m if xnm=1;
设置pj=(pj,1,...,pj,N)和vj=(vj,1,...,vj,N)分别表示粒子群中的第j个体的位置和速度;J表示种群中粒子的总数;
将粒子群中所有的个体进行I次迭代,进行第i次迭代时,pbestj和gbest分别为前i迭代的粒子j的历史最佳位置和种群历史最佳位置;
在每次迭代中,速度和位置的更新公式分别为:
其中,ω为惯性权重,ξ和η是符合随机分布在0到1之间的随机变量,c1和c2为学习因子;惯性权重ω满足
其中,ωi为第i次迭代时的值;ωmax和ωmin为根据实际情况设计的最大值和最小值;
通过第I次迭代后,获得最优向量,并根据所述转换规则逆操作得到所述最优决策矩阵,使得第一代价值达到最小值。
在本实施例中,惯性权重ω反映了粒子过去的运动状态对当前行为的影响,如果ω太大,之前的运动状态很少能影响到当前行为,导致粒子陷入局部最优。因此将ω设置为随迭代次数增加而减小,使得刚开始在较大的搜索空间内寻找最优区域,随着次数的增加,有利于在最优区域内得到最优值。
在本实施例中,群智能算法可以但不限于粒子群算法,还包括:(),该算法能够实现粒子群算法的作用,达到相似或相同的目的,只需根据实际情况进行参数调节即可。
为了更好的说明本发明的效果,参见图2至图4。图2是在没有进行带宽优化(带宽均分)的情况下,DPSO寻找的策略与穷举情况下求出最优值的比较,通过图2可以看出,在粒子群经过15次迭代时,已经进入相对平稳的收敛阶段,而且也最优解非常的接近,有点在于DPSO使用了更少的计算次数。
图3是本发明代价值公式中,对于不同的权重因子下,优化带宽和未经优化带宽的比较,从图中可以看出,经过带宽优化的DPSO始终比未经带宽优化的效果好。
图4体现了在整个***中,优化带宽和卸载策略情况下,时延和能耗存在一种权衡的关系,也就是说,在要求一方面做的更好的同时,就必须让另一方面做出更多。
综上所述,本发明提供的基于群智能算法的任务卸载方法,将移动端执行的第一任务拆分为多个子任务,然后根据子任务的大小将每个子任务卸载给计算节点,配置相应的决策因子;根据决策矩阵、子任务自身的容量、移动端到各计算节点的传输速率,计算出第一任务被计算完成时的最大时间和总能耗;再根据移动端的优化策略,对最大时间和总能耗设置权重因子,并以此计算完成第一任务所需要付出的第一代价值;最后通过群智能算法对决策矩阵进行优化,从而使得第一代价值达到最小值。相比于现有技术的分支界法,本发明能够减少移动端在移动边缘计算时完成任务所需的时间和能耗,提高移动端的用户体验。
本发明是基于移动端自身存在计算能力能量储备不足的情况下,在面对大型任务时设计的带宽分配策略和任务卸载方法,使得移动端完成整个任务的时延和能耗更小。面对一个大型任务,首先移动端将任务分割成若干个子任务,在MEC的高带宽特性下,根据子任务的大小为每个子任务分配带宽,在MEC周边计算节点剧增的情况下,将子任务进行卸载,结合带宽分配策略,降低任务所需时延和能耗,推动MEC低时延和低能耗的特性发展。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。