边缘计算中用户卸载与资源分配联合优化方法与流程

文档序号:19750631发布日期:2020-01-21 19:23阅读:330来源:国知局
边缘计算中用户卸载与资源分配联合优化方法与流程

本发明属于通信技术领域,具体涉及边缘计算中用户卸载与资源分配联合优化方法。



背景技术:

随着5g网络的到来,各种智能服务不断出现,数以亿计的智能终端设备需要处理大量的任务,但是由于终端设备的资源有限,限制了任务的完成能力。移动边缘计算(mec,mobile-edgecomputing)可以使终端设备通过无线接入网络,将部分计算任务卸载到边缘服务器,缩短了服务器与用户之间的距离从而大大降低任务的完成时间。在边缘计算网络中,任务卸载策略与资源分配会直接影响系统性能,已成为研究热点。

近年来,学术界和工业界已经开展了关于mec卸载问题的研究,卸载任务可分为可拆分任务和不可拆分任务,可拆分任务指用户可以将任务部分卸载或全部卸载,不可拆分任务指的是用户只能选择将任务全部本地处理或全部卸载给边缘服务器处理。可拆分任务模型更大增强了用户的选择性,可以更好满足用户需求。现有的可拆分任务模型下,卸载策略计算方法大多采用博弈论,但这种方法需要将卸载比例进行等分,精度不高,需要反复多次迭代才能计算出次优解,计算复杂度高,且不能很好的计算出最优卸载策略。

所以,需要一个新的技术方案来解决这个问题。



技术实现要素:

发明目的:为了克服现有技术中存在的不足,提供一种边缘计算中用户卸载与资源分配联合优化方法,其在边缘计算网络中能够充分利用带宽资源和计算资源,保证总体任务完成时间最短,同时保证所有用户的公平性。

技术方案:为实现上述目的,本发明提供一种边缘计算中用户卸载与资源分配联合优化方法,包括如下步骤:

s1:定义用户设备集合{m}={1,2,3...m...m},一共m个用户设备,每个用户设备用m表示,用户m需要处理的计算任务为um={fm,dm,lm},其中fm为用户的本地计算资源,dm为用户所需要处理的任务的大小,lm为处理1个字节任务所需要的cpu周期数;

s2:每个用户需要优化三个变量,分别为用户卸载比例pm,信道分配带宽bm和mes分配计算资源fm,将所有用户的卸载比例与分配资源组成一组策略组合{p,f,b}({p1,p2...pm,f1,f2...fm,b1,b2...bm});

s3:重复步骤s2生成n个不同的策略组合,组成一个n行,3*m列的种群矩阵k,n的大小为4*m,定义k为:

其中ki,j(i∈[1,n],j∈[1,m])为第i个策略组合中,第j个用户的卸载资源比例pm;ki,j(i∈[1,n],j∈[m+1,2m])为第i个策略组合中,第j-m个用户的mec分配的计算资源fm;ki,j(i∈[1,n],j∈[2m+1,3m])为第i个策略组合中,j-2m个用户的分配带宽bm;

s4:同时进行用户的任务卸载和本地任务处理,系统中m个用户同时处理任务,求出系统总体完成时间;

s5:初始化:精度exp、信道带宽bmax、mec计算资源fmax、um={fm,dm,lm}、种群矩阵k;

s6:随机生成一个3行3*m列矩阵ktemp用于存放每次迭代过程中的最优个体选择以及基因交叉和变异后得到的三个最优策略组合;

s7:系统中m个用户同时处理任务,对于每个策略组合kn,最后总体任务完成时间应该是所有用户全部完成任务处理的时间;

s8:求出所有策略组合kn的完成时间,选出种群矩阵中完成时间最小的最优策略组合;

s9:进行策略组合间基因交叉操作,生成最优策略组合

s10:进行策略组合中基因变异操作,生成最优策略组合

s11:令若abs((min(t(ktemp1))-min(t(ktemp))))≤exp,则输出argmax(t(ktemp1))作为输出的最优分配策略,否则,ktemp=ktemp1,返回步骤s8,重复执行,直至最优值收敛。

进一步的,所述步骤s4具体为:

每个用户需要将pm比例的任务卸载到边缘服务器中(pm取值范围为[0,1])进行处理,剩下的(1-pm)比例的计算任务留在本地处理,用户m本地处理的时间用户通过频分复用的方式来传输卸载的数据,用户m卸载任务数据的速率rm=bm*log2(1+snrm);每个用户卸载任务的传输时间当用户将部分任务卸载到边缘服务器后,服务器将分配fm计算资源来处理这些数据,则边缘服务器处理用户m卸载任务的时间因此用户卸载任务的处理时间由于用户的任务卸载和本地任务处理是同时进行的,所以每一个用户的总完成时间tm=max(tm_local,tm_offload);系统中m个用户同时处理任务,因此系统总体完成时间t=max(t1,t2,t3...tm)。

进一步的,所述步骤s8中求出所有策略组合kn的完成时间,得到比例矩阵q=(q1,q2...qn),其中并将q降序排列,生成[0,1]的随机数rand,计算rand落在q的哪个范围之内,选出范围所属的个体kn作为种群矩阵的最优策略组合。

进一步的,所述步骤s9中策略组合间基因交叉操作具体为:

s9-1:生成随机数a(a∈3*m),交换k中k2*i-1,a和k2*i,a(i∈[1,n/2])的值,随机交换不同策略组合中相同基因的值,产生新的策略组合;

s9-2:生成[0,(n/2)]的随机数rand,重复操作s2-2-1rand次,形成新的种群矩阵k1

s9-3:重复步骤s8,生成最优策略组合

进一步的,所述步骤s10中策略组合中基因变异操作具体为:

s10-1:生成随机数c,(c∈[0,1]);

s10-2:若b∈[0,m],生成随机数c,(c∈[0,1]);

s10-3:若b∈[m+1,2*m],生成随机数c,(c∈[0,fmax]),fmax是mes最大计算能力;

s10-4:若b∈[2*m+1,3*m],生成随机数c,(c∈[0,bmax]),bmax是信道最大传输带宽;

s10-5:交换ki,b(i∈[1,n])和c的值,完成最优策略组合中基因变异操作,形成新的种群矩阵k2

s10-6:重复步骤s8,生成最优策略组合

对于多用户单边缘服务器,可拆分任务模型场景下,本发明采用启发式方法来分析边缘计算中用户卸载和资源分配问题,以最小化总体任务完成时间来保证用户性能。本发明首先将用户卸载比例、分配带宽和分配计算资源组成一个策略组合,再由不同策略组合构成种群矩阵,每个策略组合为种群中的单个个体,个体中的每个变量为个体的基因;通过最优个体选择选出种群矩阵中最优的分配方案;通过基因交叉、基因变异操作形成新的种群矩阵;重复迭代直到最优值收敛,最终得到用户卸载比例与资源分配方案。

本发明基于多用户单mes可拆分任务模型,对用户的卸载比例、信道带宽和mes计算资源进行分配,解决了最小化总体完成时间的问题;每次迭代过程中,通过最优个体选择、个体交叉和变异操作,得到三个不同策略组合,并将其与上一次的三个优秀策略组合进行最优值比较,最终最优值收敛,输出最优策略组合。不但保证了信道带宽资源和mes计算资源的有效利用,同时保证了用户做出选择后的任务完成时间小于本地处理任务完成时间,提高了服务质量。

有益效果:本发明与现有技术相比,具备如下优点:

1、本发明采用了启发式方法对三种变量的联合分配进行求解,减少了收敛的迭代次数,提高了最优解的全局搜索能力,同时保证了通信资源和计算资源的充分利用。

2、本发明采用的可拆分任务模型,较不可拆分任务模型而言,更有利于用户做出适合自己行为的选择;最小化总体任务完成时间的同时,保证了不同用户间的公平性。

附图说明

图1为本发明的网络模型图;

图2为本发明的方法流程图;

图3为完成时间随用户数量变化的仿真结果图;

图4为10用户下总完成时间随着本地计算资源变化的仿真结果图;

图5为用户公平性对比情况示意图。

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明。

本实施例将本发明方法应用于如图1所示的场景,提供一种边缘计算中用户卸载与资源分配联合优化方法,参照图2,其包括如下步骤:

s1:定义用户设备集合{m}={1,2,3...m...m},一共m个用户设备,每个用户设备用m表示,用户m需要处理的计算任务为um={fm,dm,lm},其中fm为用户的本地计算资源,dm为用户所需要处理的任务的大小,lm为处理1个字节任务所需要的cpu周期数;

s2:每个用户需要优化三个变量,分别为用户卸载比例pm,信道分配带宽bm和mes分配计算资源fm,将所有用户的卸载比例与分配资源组成一组策略组合{p,f,b}({p1,p2...pm,f1,f2...fm,b1,b2...bm});

s3:重复步骤s2生成n个不同的策略组合,组成一个n行,3*m列的种群矩阵k,n的大小为4*m,定义k为:

其中ki,j(i∈[1,n],j∈[1,m])为第i个策略组合中,第j个用户的卸载资源比例pm;ki,j(i∈[1,n],j∈[m+1,2m])为第i个策略组合中,第j-m个用户的mec分配的计算资源fm;ki,j(i∈[1,n],j∈[2m+1,3m])为第i个策略组合中,j-2m个用户的分配带宽bm;

s4:总体任务完成时间定义:

s4-1:每个用户需要将pm比例的任务卸载到边缘服务器中(pm取值范围为[0,1])进行处理,剩下的(1-pm)比例的计算任务留在本地处理,用户m本地处理的时间为:

s4-2:用户通过频分复用的方式来传输卸载的数据,系统的总带宽为bmax,分配给每一个用户的带宽为bm,则用户m卸载任务数据的速率为:

rm=bm*log2(1+snrm)(3)

s4-3:其中snrm为用户m的信噪比。因此,每个用户卸载任务的传输时间为:

s4-4:当用户将部分任务卸载到边缘服务器后,服务器将分配fm计算资源来处理这些数据,则边缘服务器处理用户m卸载任务的时间为:

s4-5:在边缘服务器处理完任务后,会将处理好的数据回传给用户,回传时间为tback,和其他时间相比,tback对整体时间的影响比较小[12],可以忽略不计。因此用户卸载任务的处理时间为:

s4-6:由于用户的任务卸载和本地任务处理是同时进行的,所以每一个用户的总完成时间为:

tm=max(tm_local,tm_offload)(7)

s4-7:系统中m个用户同时处理任务,因此系统总体完成时间t为:

t=max(t1,t2,t3...tm)(8)

s5:初始化:精度exp、信道带宽bmax、mec计算资源fmax、um={fm,dm,lm}、种群矩阵k;

s6:随机生成一个3行3*m列矩阵ktemp用于存放每次迭代过程中的最优个体选择以及基因交叉和变异后得到的三个最优策略组合;

s7:系统中m个用户同时处理任务,对于每个策略组合kn,最后总体任务完成时间应该是所有用户全部完成任务处理的时间,因此kn总体完成时间t(kn)=max(t1,t2...tm);

s8:求出所有策略组合kn的完成时间,得出比例矩阵q=(q1,q2...qn),其中并将q降序排列,生成[0,1]的随机数rand,计算rand落在q的哪个范围之内,选出范围所属的个体kn作为种群矩阵的最优策略组合;

s9:进行策略组合间基因交叉操作;

s9-1:生成随机数a(a∈3*m),交换k中k2*i-1,a和k2*i,a(i∈[1,n/2])的值,随机交换不同策略组合中相同基因的值,产生新的策略组合;

s9-2:生成[0,(n/2)]的随机数rand,重复操作s2-2-1rand次,形成新的种群矩阵k1

s9-3:重复步骤s8,生成最优策略组合

s10:进行策略组合中基因变异操作;

s10-1:生成随机数c,(c∈[0,1]);

s10-2:若b∈[0,m],生成随机数c,(c∈[0,1]);

s10-3:若b∈[m+1,2*m],生成随机数c,(c∈[0,fmax]),fmax是mes最大计算能力;

s10-4:若b∈[2*m+1,3*m],生成随机数c,(c∈[0,bmax]),bmax是信道最大传输带宽;

s10-5:交换ki,b(i∈[1,n])和c的值,完成最优策略组合中基因变异操作,形成新的种群矩阵k2

s10-6:重复步骤s8,生成最优策略组合

s11:令若abs((min(t(ktemp1))-min(t(ktemp))))≤exp,则输出argmax(t(ktemp1))作为输出的最优分配策略,否则,ktemp=ktemp1,返回步骤s8,重复执行,直至最优值收敛。

为了验证本发明方法的实际效果,本实施例进行了仿真实验,将本发明方法和文献[12]算法进行对比,文献[12]算法即为势博弈的算法,为了方便理解,以下均表述为文献[12]算法,其具体的结果如下:

如图3所示为bmax=10mhz,fmax=5ghz/s下完成时间随用户数量变化的仿真结果图,可以看出,若不使用卸载,平均完成时间会在10s左右,在用户数量增多的同时,本文算法和文献[12]算法都会朝着这个值不断逼近,因为随着用户数量的增多,可分配的带宽和mec计算能力并没有发生变化,这会导致传输时间和服务器处理时间不断上升,由于文献[12]并不考虑带宽和mec计算资源的分配,导致资源浪费,因此本文的总体完成时间更快。当用户数为19时,卸载的完成时间为9.5s,此时与不卸载相差不大,考虑到传输能耗等问题,当用户数达到19不要卸载为好。

如图4所示为bmax=10mhz,fmax=5ghz/s,10用户下总完成时间随着本地计算资源变化的仿真结果图,可以看出,当本地计算资源少的时候,卸载有很大的优势,因为此时本地处理任务较慢,因此将部分计算任务分配给处理速度快的mec会使总体时间变快;而当本地资源很充足的时候,由于任务在本地已经可以在很快的速度内完成,所以随着本地资源的增大,卸载优势越发不明显。

为了验证不同用户间的公平性,本实施例采用时间标准差的方式反应用户的公平性,将步骤s11得出的结果带入公式中与其他方法公平性比较,衡量标准如下:

图5为bmax=10mhz,fmax=5ghz/s下,用户公平性对比情况示意图,可以看出,较文献[12],本文用户时间标准差随着用户数的增多,大小基本不变,从而保证了公平性。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1