本发明属于无线通信网络领域,具体涉及一种融合移动边缘计算的蜂窝网络计算卸载方法及系统。
背景技术:
随着5g时代到来,不断涌现的增强现实、图像识别等新兴应用对计算能力的要求越来越高,用户设备计算能力和续航能力限制了用户体验。移动云计算(mobilecloudcomputing,mcc)是一种可能的解决方案,但该方案移动回传网络带来了巨大的负载压力,并且存在较高时延。移动边缘计算(mobileedgecomputing,mec)将云资源下沉到更靠近用户的位置,用户可将计算任务卸载至部署在网络边缘的mec服务器中执行,且用户到云资源的距离更近,有效解决了用户设备计算能力不足的问题,避免了巨大的本地计算能耗,减轻了回传网络的压力,降低了时延。但mec服务器的资源有限,过多用户卸载可能会使得每个用户分配到的资源过少,从而产生较高时延,因此需要对卸载进行决策并合理地对资源进行分配。现有mec计算卸载的研究也大多针对时延和能耗两个性能指标进行建模,以制定最佳地计算卸载方案,模型大多是最小化由时延和能耗表示的任务执行代价函数,代价函数设计为任务时延和能耗的加权和。由于卸载对于能耗的降幅远大于时延,最小化代价函数实际上主要靠最小化能耗来得到,这不符合时延和能耗联合优化的考虑。因此需要建立一种新的模型来联合考虑时延和能耗,合理设计权重因子来权衡时延和能耗,保障用户体验。
技术实现要素:
针对现有技术中所存在的问题,本申请提出一种融合移动边缘计算的蜂窝网络计算卸载方法及系统。
为达到以上目的,一方面,本发明提出了一种融合移动边缘计算的蜂窝网络计算卸载方法,其特征在于,包括下述步骤:
步骤s1、根据预定的效用函数和小区用户的计算任务需求,计算最优发射功率,其中,效用函数为任务卸载执行时延和能耗性能提升率的加权和;
步骤s2、根据所述最优发射功率,计算所述用户任务的效用增量;
步骤s3、根据所述最大效用增量将用户分为初始本地执行集合与非本地执行集合;
步骤s4、非本地执行集合的用户向基站发送任务卸载请求;
步骤s5、基站根据所分配的计算资源计算获得系统效用最大的最终卸载集合;
步骤s6、最终卸载集合中的用户将任务发给mec服务器执行。
优选地,其特征在于,所述步骤s1的效用函数描述为:
其中,
其中,
优选地,其特征在于,所述步骤s1用户设备上行最优发射功率为g(pi)取最小值时对应的发射功率,且最优发射功率不大于用户设备最大发射功率:
其中,
优选地,其特征在于,所述步骤s2的效用增量为新用户任务加入当前卸载用户集后对应效用与当前卸载用户集对应效用之差。
优选地,其特征在于,所述非本地执行集合包括初始卸载集合和备选集合,所述步骤s3进行初始集合分类包括以下步骤:
步骤s31、若效用最大增量小于0,则用户加入初始本地执行集合;
步骤s32、若效用最小增量大于0,则用户加入初始卸载集合;
步骤s33、其他情况下,用户加入备选集合。
优选地,其特征在于,所述步骤s5用户任务i可分配计算资源大小为:
其中,a为卸载用户集合,
优选地,所述步骤s5包括以下步骤:
步骤s51、令初始卸载集合为卸载集合;
步骤s52、比较卸载集合用户数与子信道数大小;
步骤s53、若卸载集合用户数大于子信道数,删除卸载集合中效用最小的用户,直到卸载集合用户数等于子信道数;
步骤s54、若卸载结合用户数小于子信道数,在备选集合中选择效用最大且效用增量为正的用户加入卸载集合,直到卸载集合用户数等于子信道数或系统效用无法继续增大。
另一方面,本发明提供一种融合移动边缘计算的蜂窝网络计算卸载系统,其特征在于,至少包括边缘计算服务器mec、宏基站及用户终端,所述用户终端通过宏基站向边缘计算服务器mec请求计算卸载资源,执行所述方法。
再一方面,本发明提供一种电子设备,包括中央处理器以及存储计算机可执行指令的存储器,其特征在于,所述计算机可执行指令在被执行时使所述处理器执行所述方法。
本发明相对于现有技术取得了如下的技术效果:
本发明所述方案同时考虑了时延和能耗,满足具有不同设备续航能力的用户需求。高电量用户能够获得更低时延,低电量用户能够获得更低能耗,更好地保障了用户体验。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1示出本发明实施例的融合边缘计算的蜂窝网络应用场景示意图;
图2示出本发明实施例的一种融合移动边缘计算的蜂窝网络计算卸载方法流程图;
图3示出本发明实施例的上行发射功率分配二分法流程图;
图4示出本发明实施例的计算用户任务最终卸载集合的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步说明。
为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。下面结合附图和具体实施方式对本发明作进一步描述。
实施例
本发明实施例为如图1所示的融合边缘计算的蜂窝网络,由一个配备有移动边缘计算服务器mec的宏蜂窝小区和多个用户组成。系统带宽划分为n个子信道,每个子信道的带宽为w。用户设备通过正交频分多址ofdma方式与基站关联,因此不同用户设备之间不存在干扰。小区中用户数量为i,用集合iu={1,2,…,i}表示。假设每个用户都有一个计算任务需要执行,其中用户i的计算任务表示为ti={di,ci},di是任务的输入数据量,ci是完成任务所需的cpu周期。用户根据需求可以在本地执行计算任务,也可以将任务卸载到mec服务器中执行。假设所有用户的计算任务是不可分割的,每个用户具有不同的本地计算资源和设备剩余电量,并且假设无论是本地执行还是卸载执行都可以满足任务的最低时延要求。在问题模型的制定上,不同于以往研究中直接将能耗和时延进行加权求和作为代价函数,然后最小化代价函数的方式,本发明利用时延和能耗的性能提升设计效用函数,将效用函数设计为时延和性能提升率的加权和,然后最大化效用。
因此,构建基于用户任务执行时延和性能提升率加权的效用函数,是本发明实施的先决条件。如果用户卸载执行任务后,时延和能耗性能提升越高,则越有可能进行卸载;如果用户卸载执行任务后,时延和能耗性能没有提升或者降低,那么用户就在本地执行任务。此外,在资源约束下,需要对时延和能耗进行权衡。而且用户往往根据自身情况,对时延和能耗有不同要求,因此本发明在权重因子中引入用户设备的剩余电量,使时延和能耗的权重基于用户实际需求。
本地计算模式下,任务将在用户设备中直接执行。假设用户i的设备计算能力为
卸载计算模式下,首先用户设备通过基站将输入数据发送到mec服务器,然后mec服务器对输入数据进行处理,最后将处理结果反馈给用户。因此任务卸载执行的时延包括三部分:卸载任务到mec服务器的上行传输时延、mec服务器的处理时延和反馈结果的下行传输时延。由于小区内用户之间不存在干扰,因此用户i的上行传输速率为:
其中pi为用户i的上行发射功率,hi为信道增益,n0为噪声功率。
得到上行速率后,根据已知的输入数据量,可以计算得到用户i的上行传输时延为
对于卸载执行能耗的计算,不考虑mec的执行能耗和下行传输的能耗。因此用户i的卸载执行能耗为
用户将任务卸载执行的目的是获得比本地执行更好的性能表现,以满足用户对任务时延和能耗的需求。分别定义任务卸载执行在时延和能耗上的性能提升率表示为(dl-dc)/dl和(el-ec)/el,从而将用户i的卸载效用定义为:
其中
时延和能耗权重因子
根据本发明的一个实施例,令
综上所述,将计算卸载问题转化为一个资源约束下的系统效用最大化问题,系统效用为所有用户时延性能和能耗性能提升量的加权和,从而将问题制定为:
s.t.c1:ai∈{0,1},
c2:
c3:0<pi≤pmax,
c4:fic>0,
c5:
其中,a表示卸载用户集合,p表示卸载用户的功率分配集合,f表示卸载用户的计算资源分配集合,pmax为用户设备的最大发射功率,fmax为mec服务器计算资源总量。约束条件c1表示用户的卸载决策变量。约束条件c2表示卸载的用户数不得超过子信道数。约束条件c3表示卸载用户设备的发射功率不得大于最大发射功率。约束条件c4保证卸载集合中的每个用户都能获得mec服务器分配的计算资源。约束条件c5表示mec服务器为所有卸载用户分配的计算资源不得超过其所拥有的计算资源总量。
由于约束条件中卸载决策变量和资源分配变量是完全解耦的,因此根据本发明的一个实施例,可以将上式拆分,从而得到卸载决策和资源分配两个子问题分别求解。首先固定卸载决策变量求解资源分配问题,然后在确定资源分配的情况下进行卸载决策。拆分出的资源分配子问题为:
s.t.c3,c4,c5
对于给定的卸载策略,上式可化为:
其中
s.t.c3,c4,c5
其中,
进一步地,计算用户设备上行发射功率分配子问题如下:
s.t.0<pi≤pmax
其中,
可以看到,g'(pi)的正负完全取决于等号右侧的分子部分,令
对上式求一阶导数得
进一步地,拆分出的计算资源分配问题为:
s.t.c3,c4
其中
得到计算资源分配为:
进一步地,拆分出的卸载决策子问题为:
s.t.c1,c2
利用上行发射功率二分法得到每个用户的最优上行发射功率,然后可将卸载决策子问题表示为:
s.t.|a|≤n
定义δu(b∪i)为用户i加入b后系统效用的提升量。则:
δu(b∪i)=u(b∪{i})-u(b)
=1-δ(i)-δ(i|b)
其中
进一步地,根据效用增量对用户初始集合进行分类。当b=φ时δ(i|b)取到最小值0,此时δu(b∪i)=1-δ(i)取到最大值,记为δu(b∪i)max。若δu(b∪i)max≤0,意味着卸载用户i肯定无法使得系统效用增大,那么用户i将直接在本地执行计算任务。δ(i)在已知功率分配的情况下可以直接计算得出,令集合al表示初始本地执行集合,在分配功率后可以直接筛选出所有δu(b∪i)max<0的用户并添加至al。δu(b∪i)随着集合b规模的增大而减小,在得到al后,可以求得δu(b∪i)的最小值,最小值为δu(b∪i)min=1-δ(i)-δ(i|bmax),其中bmax=iu\(al∪{i})。如果δu(b∪i)min≥0,则意味着将用户i加入卸载集合肯定能够增加系统效用,即使卸载用户集合的规模已经达到上限。令集合ac表示初始卸载用户集合,将所有满足δu(b∪i)min≥0的用户筛选出来直接添加至ac中。
进一步地,在确定了al和ac后,iu中剩余用户组成集合ares,这些用户作为备选用户在卸载用户数未达上限时参与二次决策,如图4所示。当进行二次决策时,令初始卸载集合为卸载集合,若卸载集合用户数大于子信道数,删除卸载集合中效用最小的用户,直到卸载集合用户数等于子信道数;若卸载结合用户数小于子信道数,在备选集合中选择效用最大且效用增量为正的用户加入卸载集合,直到卸载集合用户数等于子信道数或系统效用无法继续增大。
基于以上实施步骤,通过计算任务卸载决策算法得到最终卸载用户集合,卸载集合中的用户根据最优上行发射功率传输任务数据,任务上传至mec服务器后,mec服务器根据最优计算资源分配为每个用户分配计算资源来执行任务,执行完后将结果数据发送给用户。不在该集合中的用户在本地的用户设备上直接执行任务。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。