发明内容
为解决上述问题,本发明提供了一种基于服务器协作的任务卸载和计算资源分配方法,包括:
S1.根据边缘服务器的计算任务建立任务到达模型,计算任务包括本地任务和迁移任务;
S2.构建时延模型,时延模型用于计算时延参数,时延参数包括本地计算时延,迁移计算时延,本地队列排队时延,迁移队列排队时延,迁移时延;
S3.构建能耗模型,能耗模型用于计算能耗参数,能耗参数包括计算能耗和迁移能耗;
S4.根据任务到达模型、时延模型和能耗模型建立计算任务在服务器间协作的系统模型,系统模型以最小化系统成本即时延成本和能耗成本的总和为优化目标;
S5.基于优化目标构建优化问题,求解优化问题得到最优任务卸载策略和计算资源分配方法。
进一步的,任务到达模型中每个边缘服务器到达的计算任务量表示为:
Ai(t)=ai(t)+ci(t);
其中,Ai(t)表示第i个边缘服务器到达的计算任务量,且 表示第i个边缘服务器到达的最大任务量,ai(t)表示第i个边缘服务器的本地计算任务量,ci(t)表示第i个边缘服务器的迁移计算任务量。
进一步的,时延模型中各时延参数的计算公式为:
本地计算时延:
迁移计算时延:
本地队列中排队时延:
迁移队列中排队时延:
迁移时延:
其中,γ是计算密度,fi l(t)表示第i个边缘服务器分配给本地任务的计算资源,fi o(t)表示第i个边缘服务器分配给迁移任务的计算资源,λl(t)表示本地队列任务到达率,λo(t)表示迁移队列任务到达率,表示基站间光纤通信的恒定传输速率,ai(t)表示第i个边缘服务器的本地到达的任务量,ci(t)表示第i个边缘服务器的迁移任务队列任务量。
进一步的,能耗模型中各能耗参数的计算公式为:
计算能耗:
迁移能耗:
其中,ξ为边缘服务器的CPU能耗加权参数,θ为单位任务传输能耗,fi l(t)表示第i个边缘服务器分配给本地任务的计算资源,fi o(t)表示第i个边缘服务器分配给迁移任务的计算资源,ci(t)表示第i个边缘服务器的迁移任务队列任务量,Tl cp(t)表示本地计算时延,表示迁移计算时延,/>表示迁移时延。
进一步的,基于优化目标构建的优化问题P1表示为:
其中,表示计算期望,R(t)表示时隙t时的优化对象,ri(t)表示时隙t时第i个边缘服务器处理任务的成本,/>表示边缘服务器总数,Λ表示每个边缘服务器的任务卸载策略,F表示每个边缘服务器的计算资源管理策略,sup表示最小上界。
进一步的,基于优化问题P1的约束条件为:
其中,ai(t)表示第i个边缘服务器的本地到达的任务量,Ai(t)表示第i个边缘服务器到达的计算任务量,fi l(t)表示第i个边缘服务器分配给本地任务的计算资源,fi o(t)表示第i个边缘服务器分配给迁移任务的计算资源,fi lmin(t)表示边缘服务器分配给本地任务的CPU频率最小值;fi lmax(t)表示边缘服务器分配给本地任务的CPU频率最大值;fi omin(t)表示边缘服务器分配给迁移任务的CPU频率最小值;fi omax(t)表示边缘服务器分配给迁移任务的CPU频率最大值。
进一步的,步骤S5包括:
基于优化问题,采用拉格朗日乘数构造拉格朗日函数;
根据KKT条件求解拉格朗日函数的最优解,该最优解中包括拉格朗日乘数;
采用次梯度算法求解拉格朗日乘数,得到最优任务卸载策略和计算资源分配方法。
本发明的有益效果:
本发明提出了一种基于服务器协作的任务卸载和计算资源分配联合优化方法,考虑任务卸载的随机性和爆发性,以及服务器节点负载的不均衡,构建一种面向移动边缘网络的系统模型,使各边缘服务器相互协作完成任务,通过分析时延和能耗的折中关系,系统模型以最小化系统成本即时延成本和能耗成本的总和为优化问题,对任务卸载和计算资源分配进行了联合优化,针对优化问题得到最优的任务卸载策略,并分配最佳的计算资源,保证了系统的稳定性,减少了系统的成本。
本发明与一些考虑最小化系统成本的研究相比,本发明细化了每一个服务器当前时刻应在本地处理的任务量和迁移到其他服务器处理的任务量,而不是只研究某一时刻成本最低时系统处理的总任务量;同时,本发明中的邻居服务器不仅可以接收来自其他服务器迁移的任务,考虑到实际情况,它自己也会有本地处理和迁移,而不是不考虑邻居服务器自身的状态,仅将其作为一个辅助计算的节点。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出一种基于服务器协作的任务卸载和计算资源分配联合优化方法,如图1,具体包括以下步骤:
S1.根据边缘服务器的计算任务建立任务到达模型,计算任务包括本地任务和迁移任务;
S2.构建时延模型,时延模型用于计算时延参数,时延参数包括本地计算时延,迁移计算时延,本地队列排队时延,迁移队列排队时延,迁移时延;
S3.构建能耗模型,能耗模型用于计算能耗参数,能耗参数包括计算能耗和迁移能耗;
S4.根据任务到达模型、时延模型和能耗模型建立计算任务在服务器间协作的系统模型,系统模型以最小化系统成本即时延成本和能耗成本的总和为优化目标;
S5.基于优化目标构建优化问题,求解优化问题得到最优任务卸载策略和计算资源分配方法。
如图2所示是本发明实例的基于服务器协作的任务卸载与计算资源分配联合优化方法的系统模型图,包括一个由若干个基站(Base Station,BS)和若干个用户组成的边缘网络,所有的基站都配有一个移动边缘计算(Mobile Edge Computing,MEC)服务器,这些边缘服务器具有有限的计算能力,用户通过无线传输将它们的计算任务卸载到与它们相关联的MEC服务器进行处理。MEC服务器的集合表示为它们属于同一个局域网(Local Area Network,LAN)。因此,每个MEC服务器都可以通过LAN将原本属于自身服务器的计算任务迁移给其他MEC服务器进行协同处理。同时,网络模型运行在离散时隙中,且每个时隙的持续时间为τ。
在任务到达模型中,每个MEC服务器从其服务的用户或其余MEC服务器处接收计算任务。定义在每个时隙t,MEC服务器到达的计算任务量为A(t)={A1(t),A2(t),...,AM(t)},其中表示第i个MEC服务器到达的计算任务量,/>表示第i个MEC服务器到达的最大任务量,Ai(t)是服从到达率为λi(t)的独立同分布的泊松过程,它可以随时间段进行变化。将时隙t内,第i个MEC服务器的本地计算任务量表示为ai(t),第i个MEC服务器的迁移计算任务量表示为ci(t),且第i个MEC服务器到达的计算任务量、第i个MEC服务器本地计算任务量和第i个MEC服务器迁移计算任务量,三者之间满足ci(t)=Ai(t)-ai(t),则任务卸载策略表示为Λ={ai(t),ci(t)}。
在时延模型中,MEC服务器包括以下五个时延,分别是用户将任务传输到BS的传输时延、MEC服务器进行计算的计算时延、任务被处理时进行排队等候的排队时延、通过LAN进行任务迁移的迁移时延、MEC服务器计算结果返回的返回时延。由于本发明重点针对MEC服务器整体的性能进行研究,因此不考虑用户到BS的传输时延,同时计算结果通常很小,因此忽略计算结果的返回时延。
具体地,每个MEC服务器的计算能力都是有限的,假设在时隙t内,MEC服务器本地计算资源分配集合表示为Fl={fi l(t)},MEC服务器迁移计算资源分配集合表示为Fo={fi o(t)}/>MEC服务器的总计算资源分配集合表示为F={Fl,Fo},则在时隙t时,第i个MEC服务器的本地计算时延Tl cp(t)和迁移计算时延/>分别表示为:
其中,fi l(t)表示第i个MEC服务器分配给本地任务的计算资源,fi o(t)表示第i个MEC服务器分配给迁移任务的计算资源,γ是计算密度(以周期/位为单位)。
用户传输的任务到达MEC服务器后,考虑到MEC服务器自身处理能力有限,不能保证每次都处理完接收的任务,已到达但是尚未执行的任务会形成一个任务队列积压,等待被处理,因此会产生一个排队时延。在不同的时隙,任务的生成过程服从一个独立同分布的伯努利过程,并且独立到达过程的叠加表现为一个泊松过程,由任务到达模型可知,任务到达率为λi(t),执行任务策略后,本地队列和迁移队列的任务到达依旧符合泊松过程,将本地队列任务到达率定义为λl(t)=λa(t)+λb(t),迁移队列任务到达率定义为λo(t)=λc(t)+λd(t)+λb(t)。其中,本地队列包括本地任务λa(t)=ai(t)和其他MEC服务器迁移的任务λb(t),迁移队列包括迁移任务λc(t)=ci(t)、本MEC服务器自身执行任务λd(t)和其他MEC服务器迁移的任务λb(t)。其中,λb(t)为固定值,无论MEC服务器是否做了迁移决策,每个MEC服务器也会有任务到达率为λb(t)的固定迁移任务到达,而λc(t)是根据MEC服务器的迁移决策决定的,它可以为0。
在一实施例中,采用排队论中M/M/1模型得到排队时延,对于M/M/1模型,是指任务以参数为λ(λ>0)的泊松分布形式输入,服务器服务时间服从参数为μ(μ>0)的负指数分布,服务器个数为1且排队队长无限制的一种单服务器等待制模型。
具体地,对于本地任务,平均到达率表示为λl(t),平均服务率表示为fi l(t),得到服务强度得到本地队列中任务等待时间即排队时延表示为:
具体地,对于迁移任务,得到迁移任务队列的排队时延表示为:
在迁移任务队列中,不仅考虑计算时延和排队时延,还需要考虑任务的迁移时延,因为用户需要通过LAN在BS之间进行任务迁移。定义BS之间通信为光纤连接通信,可设定传输为恒定速率即可得任务的迁移时延表示为:
在一实施例中,能耗模型用于计算能耗参数,MEC服务器计算任务时产生的主要能耗包括数据通信能耗和MEC服务器计算任务产生的能耗,在本实施例中,不考虑UEs传输到AP后的计算能耗,同时忽略计算结果的返回能耗,所以第i个MEC服务器计算任务产生的能耗可表示为:
在本实施例中,时隙t时的第i个MEC服务器迁移任务的传输能耗表示为:
根据任务到达模型、时延模型和能耗模型,得到时隙t时的第i个MEC服务器处理任务的成本,表示为:
其中,α为服务器处理任务所需的单位时间成本,β为服务器处理任务所需的单位能耗成本。
在一实施例中,根据任务到达模型、时延模型和能耗模型建立计算任务在服务器间协作的系统模型,系统模型以最小化系统成本即时延成本和能耗成本的总和为优化目标;为使系统成本最小化,对于任一MEC服务器,需要解决以下两个问题:1)每个MEC服务器的任务卸载策略,即Λ;2)每个MEC服务器的计算资源管理策略,即F。
在移动边缘计算系统中,通过优化策略集最小化时延成本和能耗成本两个指标,得到了优化问题P1,优化问题可表示为:
基于优化问题P1的约束条件为:
其中,fi lmin(t)表示边缘服务器分配给本地任务的CPU频率最小值;fi lmax(t)表示边缘服务器分配给本地任务的CPU频率最大值;fi omin(t)表示边缘服务器分配给迁移任务的CPU频率最小值;fi omax(t)表示边缘服务器分配给迁移任务的CPU频率最大值,C1表示进入本地队列的任务量不能大于到达MEC服务器的任务量;C2表示进入迁移队列的任务量不能大于到达MEC服务器的任务量;C3表示MEC服务器分配给本地任务的计算资源不能超过自身计算资源总量的最大值;C4表示MEC服务器分配给迁移任务的计算资源不能超过自身计算资源总量的最大值。
优选地,凸优化问题是数学研究中比较热门的一个问题,将一个实际问题证明为凸优化问题即代表该问题在求解范围内存在最小值,从而简化实际问题求解的复杂度。
解决优化问题需证明优化问题是个凸优化问题,本实施例通过求二阶偏导的方式证明目标函数R(t)是优化变量{ai(t),ci(t),fi l(t),fi o(t)}的凸函数,其中,由于约束条件C1-C4是线性函数,因此P1问题是凸优化问题。
在一实施例中,采用拉格朗日乘数法和KKT条件来获取P1问题的最优解,包括:
采用ε1≥0、ε2≥0、ε3≥0、ε4≥0、ε5≥0、ε6≥0、ε7≥0、ε8≥0分别表示约束条件C1-C4的拉格朗日乘数;
根据拉格朗日乘数构造基于优化问题P1的拉格朗日函数,表示为:
利用KKT条件可以得到求解公式:
ε1(ai(t)-Ai(t))=0;
ε2(-ai(t))=0;
ε3(ci(t)-Ai(t))=0;
ε4(-ci(t))=0;
ε5(fi l(t)-fi lmax(t))=0;
ε6(fi lmin(t)-fi l(t))=0;
ε7(fi o(t)-fi omax(t))=0;
ε8(fi omin(t)-fi o(t))=0;
满足KKT条件获取的拉格朗日函数的解可能不止一个,将这些解代入目标函数中分别求得第i个MEC服务器的本地计算任务量ai(t)、第i个MEC服务器的迁移计算任务量ci(t)、第i个MEC服务器分配给本地任务的计算资源fi l(t)和第i个MEC服务器分配给迁移任务的计算资源fi o(t)的解,并取其中使目标函数值最小的资源分配为此时的解,即当任务卸载与计算资源分配满足时,系统的时延和能耗成本达到最小值,其中/>表示最优解。
由于采用KKT条件求出的最优解中仍含有拉格朗日乘数,而对于拉格朗日求解的算法,证明局部最优解和全局最优解是基本一致的,其中次梯度算法是求解拉格朗日问题的有效方法。因此,本发明利用次梯度算法对拉格朗日乘数ε1,ε2,ε3,ε4,ε5,ε6,ε7,ε8进行不断迭代更新,得到优化变量的最优解。
迭代公式为:
其中,[x]+=max{0,x},t是迭代次数,Δ是迭代步长。只要Δ的值选择适当,则次梯度算法可以保证拉格朗日乘子快速收敛到最优解。
具体地,采用次梯度算法对拉格朗日乘子进行更新的具体步骤如下所示:
步骤1.为拉格朗日乘数ε1,ε2,ε3,ε4,ε5,ε6,ε7,ε8和迭代精度σ设定适当的初始值,设定最大迭代次数tmax和迭代次数t,t=0,每个MEC服务器初始分配给本地任务的计算资源为初始分配给迁移任务的计算资源为/>
步骤2.将步骤1中设定的初始值代入拉格朗日函数的求解公式后计算出任务卸载变量和/>
步骤3.再将拉格朗日乘数以及计算出的的值代入拉格朗日函数的求解公式,计算出本地任务的计算资源变量fi l*(t)和迁移任务的计算资源变量fi o*(t)。
步骤4.将步骤2和3得到的fi l*(t)和fi o*(t)的值代入迭代公式,更新拉格朗日乘数的值。
步骤5.如果步骤2和步骤3所求的变量同时满足条件 |fi l*(t+1)-fi l*(t)|<σ,|fi o*(t+1)-fi o*(t)|<σ或迭代次数t>tmax,则终止迭代,所得即为最优解;否则,令t=t+1,返回步骤2。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。