本发明涉及无线通信系统中任务卸载,尤其涉及一种移动用户计算任务的卸载方法。
背景技术:
近些年来,随着物联网、人工智能和虚拟现实等技术的发展,高能耗的计算密集型业务不断增长,计算密集型应用和资源受限的移动计算系统之间的冲突给未来移动业务的发展带来了前所未有的挑战。为了应对这一挑战,通常采用的是移动云计算技术mcc,将移动终端上的计算任务卸载到资源丰富的远端云完成。然而,传统的mcc方法具有通过广域网的数据传输引起的长延迟和低可靠性的缺点。近些年,可以在移动用户附近提供云计算能力的移动边缘计算mec被提议作为5g的关键技术之一。将用户的计算任务卸载到邻近的mec服务器,即移动边缘计算卸载,被认为是解决上述挑战的一个有前途的解决方案。与传统的mcc方案相比,边缘计算可以实现更低的延迟和更高的可靠性,已经成为研究热点,该技术的关键研究用户的计算卸载以及计算资源和通信资源的分配。计算卸载分为部分卸载和完全卸载两种形式,卸载目标服务器也包括边缘服务器和远端云服务器。
移动边缘计算中的计算卸载和资源分配方法至关重要,人们已经进行了一些研究,但是大多数都是针对单基站用户卸载的情况,并且用户一次只卸载一个任务,部分考虑了多基站用户的情况,例如文献ningzhaolong,dongpeiran,kongxiangjie,etal.acooperativepartialcomputationoffloadingschemeformobileedgecomputingenabledinternetofthings[j].ieeeinternetofthingsjourna1,2019,6(3):4804-4814.中记载了其它基站用户对目标基站下用户的干扰情况,但是并没有解决多基站重叠覆盖用户的基站接入选择问题以及多用户多任务的卸载问题。
技术实现要素:
发明目的:本发明目的是提供一种移动用户计算任务的卸载方法,在满足边缘计算服务器计算资源的约束前提下,选择移动用户合适的基站以及对每个任务请求进行卸载调度,实现用户终端完成任务时系统时延与终端能耗最小的目标。
技术方案:本发明公开了一种移动用户计算任务的卸载方法,包括如下步骤:
步骤1:初始化:基站集用集合{1,...,m,...,m}表示,总数为m,每个基站都配备一个边缘计算服务器,边缘计算服务器又可分为λm个服务模块,用户集用{1,...,i,...,n}来表示,总数为n,每个用户包含ki个任务;用
步骤2:根据每个用户与各个基站之间的信道增益进行区域划分,划分为单基站覆盖下的用户和多基站重叠覆盖下的用户,对于单基站覆盖下的用户,用户任务只能卸载到一个目标基站,而对于重叠覆盖区域的用户,需要选择基站进行接入;
步骤3:如果用户i只被基站m所覆盖,则用户i对于基站m的选择ai,m=1,对于其它基站的选择设置为0,不考虑边缘计算服务器的计算资源限制,即边缘计算服务器的服务模块数量无约束,计算各个基站能够分配的服务模块数,作出初始卸载决策集合;
步骤4:如果用户i被多个基站所覆盖,则用户对于这些基站的选择设置为1,对于其它不相关的基站选择设置为0,不考虑边缘计算服务器的计算资源限制,分别计算卸载到不同基站下的初始卸载决策集合;
步骤5:对于多基站覆盖下的用户,利用所述步骤3和所述步骤4获得的初始卸载决策计算出各个基站能分配的平均计算资源,即平均服务模块数,结合用户与各个基站之间的信道增益,选择平均计算资源和信道增益最优的基站进行接入,作出基站选择策略;
步骤6:根据上述获得的用户初始卸载决策以及基站选择策略,依次对每个基站下覆盖用户的卸载决策进行动态调整以满足边缘计算服务器的服务模块数的约束。
步骤7:对每个基站按照步骤6进行执行,直到所用用户都满足mec服务模块数量的限制,返回所有用户的基站选择方案a,卸载决策方案x,mec服务模块分配方案c。
优选地,步骤3包括建立对应的拉格朗日函数,采用乘子法求解出相应的初始卸载决策集合。
优选地,步骤4包括建立对应的拉格朗日函数,采用乘子法求解出相应的初始卸载决策集合。
步骤5包括定义基站选择函数为:
其中,μ表示权重,hi,m表示用户i和基站m之间的信道增益,基站选择函数表示用户终端i卸载任务到基站m能够分配到的服务模块数与用户终端i和基站m之间的信道增益的加权和;对于重叠区域覆盖的用户,分别计算用户i到不同基站的gi,m,对gi,m进行降序排列,选择的第一个值对应的基站作为用户i的目标卸载基站,将用户i到其余基站的选择值设为0,最终可以获得所有用户的基站选择策略。
步骤6还包括:分别计算用户i在单用户情况下解出的卸载决策对应的系统函数值
对其进行降序排列,通过初始卸载决策集获得卸载到目标基站的任务数量ζm,若卸载到目标基站的任务数量ζm小于目标基站的服务模块数量λm,则直接返回目标基站下所有用户的卸载决策;若卸载到目标基站的任务数量ζm大于目标基站的服务模块数量λm,则根据排列好的q值,选择第一个用户的卸载决策进行更新,重新计算
有益效果:与现有技术相比,本发明具有如下显著的优点:
(1)本发明方法考虑了边缘云与远端云之间的相互协作,同时考虑到边缘云的传输时延较短但计算资源有限以及远端云传输时延较长但计算资源丰富的特点,对二者同时考虑以最小化系统执行时延与能耗;
(2)本发明提出的多基站选择卸载的方法考虑了不同小区边缘计算服务器计算资源的丰富度以及用户与该基站之间的信道增益,对基站重叠覆盖区域下的用户选择最优的基站进行接入,在满足边缘服务器计算资源约束的条件下,最大化用户的服务质量,降低任务执行的时延与能耗,对所有用户终端的卸载策略进行最优选择。
附图说明
图1为本发明的流程示意图;
图2为本发明的网络模型示意图;
图3为本发明的效用函数值对比图;
图4为本发明的任务请求完成的时延对比图;
图5为本发明的系统能耗对比图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
本发明方法的应用场景如附图2所示,它由一个远端云节点和多个配置了mec服务器的基站组成,每个基站覆盖范围内分布了多个用户终端。其中,远端云节点与基站、基站与移动终端设备分别存在一对多的映射关系,终端设备通过无线网络接入到基站,基站可以通过互联网将任务卸载至远端云节点并接受远端云节点响应的计算结果,返回给终端设备。
因为存在部分用户处于多个基站重叠覆盖,在任务处理过程中,用户仅能选择一个基站进行接入。例如附图2中的ue5、ue6可以选择通过基站1或基站2接入。假设有n个用户终端,每个用户一次请求多个任务,这些任务的数据量大小和任务复杂度相同。假设终端i当前有一批任务量为ki的任务需要被执行,用户的每个任务都可以选择在本地执行、卸载到mec服务器执行或者远端云执行。定义xi表示用户i本地执行的任务数,
假设有m个基站,每个基站都配备一个mec服务器,mec服务器又可分为λm个服务模块,m=1,...,m,每个服务模块计算能力相同且同一时间只能处理一个任务。例如,与基站1相连的mec服务器有λ1个服务模块,与基站2相连的mec服务器有λ2个服务模块。所有基站中的用户都工作在相同频段,相互之间会有干扰,信道带宽为b。
本发明方法的目标是降低系统的时延和用户终端的能耗。系统的时延包括计算时延和通信时延,计算时延包含本地执行时延、mec执行的时延以及远端云执行的时延,通信时延包括任务数据从移动端传输到基站的时延以及从基站传输到远端云的时延。终端的功耗包括本地计算能耗和传输能耗,主要包括用户自身计算任务需要消耗的能量以及上传任务数据到基站所需要的能量。
与本地计算相比,将计算任务卸载到mec或云端进行处理可以降低时延与能耗,但传输任务数据会消耗额外的时延与能耗(即通信时延与能耗)。根据shann-hartley定理,用户i到基站m的通信模型可以定义为:
其中,b表示信道带宽,ai,m表示若用户i选择基站m进行卸载,则ai,m=1,反之ai,m=0。piup表示用户i的传输功率,hi,m表示用户i和基站m之间的信道增益,σ2表示高斯白噪声功率,j∈n\{i}表示除了用户i以外其它用户的集合,
将用户终端i的计算任务定义为数组
其中,ε表示为权重系数,s表示自然数的集合,fi为用户终端i的计算能力,即单位时间运行cpu周期数,c表示每个cpu周期消耗能量的系数,
问题p1中包含的基站选择、卸载决策以及资源分配的解都是正整数解,内部之间相互关联,实际求解十分复杂,是一个np-hard问题。为了简化求解过程,本发明方法将原始问题p1解耦成单用户情况下的计算卸载机制,采用拉格朗日乘子法进行求解,获得初始的卸载决策。然后,在多用户的场景下,需要考虑基站的选择、用户之间的干扰和mec计算资源的限制,用户无线传输时的相互干扰以及mec计算资源的竞争导致多用户的传输时延总大于单用户的传输时延。针对上述单用户的情况下,现在推广至多小区多用户的场景。首先根据用户到基站的信道增益将用户区分为单基站覆盖下的用户,这一类用户不需要进行目标基站的选择,对于重叠覆盖区域的用户,为了能够合理的分配mec计算资源,需要先对重叠区域用户进行目标卸载基站的选择。对于基站m覆盖下的用户,令ai,m=1,未被基站m覆盖的用户ai,m=0。通过单用户场景下求解得到的用户在选择不同基站时的卸载决策,考虑目标基站能为该用户分配的平均服务模块数和用户与目标基站之间的信道增益,本发明定义基站选择函数为:
其中,μ表示权重,基站选择函数表示用户终端i卸载任务到基站m能够分配到的服务模块数与用户终端i和基站m之间的信道增益的加权和。对于重叠区域覆盖的用户,分别计算用户i到不同基站的gi,m,对gi,m进行降序排列,选择的第一个值对应的基站作为用户i的目标卸载基站,将用户i到其余基站的选择值设为0,最终可以获得所有用户的基站选择决策a。那么问题p1可以重新描述为:
此时用户对基站的选择已经完成,然后分别对各个基站进行多用户的任务调度,这仍然是一个混合整数约束优化问题。本发明采用启发式算法对p2进行求解,利用单用户情况下的卸载决策作为初始解,考虑到mec服务模块数量的限制,对资源冲突用户终端的初始卸载决策进行动态调整以满足mec服务模块数量的限制。然后引入一个判决函数,利用这个函数来解决mec服务器计算资源受限的情况,定义为:
其中,
最终,基于上述优化问题的发明方法流程如下所示:
1)初始化:基站集用集合{1,...,m,...,m}表示,总数为m,每个基站都配备一个边缘计算(mec)服务器,mec服务器又可分为λm个服务模块,用户集用{1,...,i,...,n}来表示,总数为n,每个用户包含ki个任务。另外,用
2)每个用户根据与各个基站之间的信道增益进行区域划分,划分为单基站覆盖下的用户和多基站重叠覆盖下的用户,对于单基站覆盖下的用户,显然只能卸载到一个基站,而对于重叠覆盖区域的用户,则需要选择基站进行接入;
3)如果用户i只被基站m所覆盖,则用户i对于基站m的选择ai,m=1,对于其它基站的选择设置为0。然后假设mec服务模块数量无约束,建立对应的拉格朗日函数,采用乘子法求解出相应的初始卸载决策集合;
4)如果用户i被多个基站所覆盖,则用户对于这些基站的选择设置为1,对于其它不相关的基站选择设置为0。然后假设mec服务模块数量无约束,建立对应的拉格朗日函数,分别计算卸载到不同基站下的卸载决策集合;
5)对于多基站覆盖下的用户,利用步骤3和步骤4获得的初始卸载决策计算出各个基站能够分配的平均计算资源,然后考虑目标用户与各个基站之间的信道增益,选择计算资源和信道增益最优的基站进行接入,对于其它的基站选择就设置为0;
6)根据上述获得的用户初始卸载决策以及基站选择策略,接下来依次对每个基站下覆盖用户的卸载决策进行动态调整以满足mec服务模块的约束。分别计算用户i在单用户情况下解出的卸载决策对应的系统函数值
7)若卸载到目标基站的任务数量ζm小于目标基站的服务模块数量λm,则直接返回目标基站下所有用户的卸载决策;若卸载到目标基站的任务数量ζm大于目标基站的服务模块数量λm,则根据排列好的q值,选择第一个用户的卸载决策进行更新,重新计算
8)对每个基站按照步骤7进行执行,直到所用用户都满足mec服务模块数量的限制,返回所有用户的基站选择方案a,卸载决策方案x,mec服务模块分配方案c。
本发明在联合边缘云与远端云的一种分层网络架构下,讨论了多用户多任务场景下的用户任务调度以及mec计算资源分配,同时还考虑了多基站覆盖下用户的基站选择问题。提出了以最小化用户端的时延与能耗为目标的优化问题,然后将多用户场景解耦为单用户多任务卸载场景,设计了基于乘子法的用户卸载决策机制。利用单用户下求解的卸载决策以及信道增益情况对多基站覆盖下的用户进行卸载目标基站选择。然后考虑到多用户场景下信道资源与计算资源的限制,提出了一种次优的迭代启发式算法对单用户场景下求得的解进行动态修正。得到的结果在系统性能方面优于局部卸载的方法。
如附图3所示,本发明提出的方法在用户效用函数值上要比另外四种算法好;附图4中给出了五种方法在时延方面的对比情况;附图5是五种方法在能耗方面的对比情况。综合附图3、附图4和附图5可知,本发明方法要明显优于其它四种对比算法,随着用户数量的不断增加,对资源的需求就越来越高;本发明方法可以让多任务同时在不同的服务器进行计算,大大减小任务之间的计算等待时间,能够在通信资源与计算资源有限的情况下,有效的降低用户终端的效用函数值。在边缘计算资源有限的情况下,依据本发明方法可以在较低复杂度的前提下,对边缘服务器的计算资源进行一个合理的分配。
1.一种移动用户计算任务的卸载方法,其特征在于,包括如下步骤:
步骤1:初始化:基站集用集合{1,...,m,...,m}表示,总数为m,每个基站都配备一个边缘计算服务器,边缘计算服务器又可分为λm个服务模块,用户集用{1,...,i,...,n}来表示,总数为n,每个用户包含ki个任务;用
步骤2:根据每个用户与各个基站之间的信道增益进行区域划分,划分为单基站覆盖下的用户和多基站重叠覆盖下的用户,对于单基站覆盖下的用户,用户任务只能卸载到一个目标基站,而对于重叠覆盖区域的用户,需要选择基站进行接入;
步骤3:如果用户i只被基站m所覆盖,则用户i对于基站m的选择ai,m=1,对于其它基站的选择设置为0,不考虑边缘计算服务器的计算资源限制,即边缘计算服务器的服务模块数量无约束,计算各个基站能够分配的服务模块数,作出初始卸载决策集合;
步骤4:如果用户i被多个基站所覆盖,则用户对于这些基站的选择设置为1,对于其它不相关的基站选择设置为0,不考虑边缘计算服务器的计算资源限制,分别计算卸载到不同基站下的初始卸载决策集合;
步骤5:对于多基站覆盖下的用户,利用所述步骤3和所述步骤4获得的初始卸载决策计算出各个基站能分配的平均计算资源,即平均服务模块数,结合用户与各个基站之间的信道增益,选择平均计算资源和信道增益最优的基站进行接入,作出基站选择策略;
步骤6:根据上述获得的用户初始卸载决策以及基站选择策略,依次对每个基站下覆盖用户的卸载决策进行动态调整以满足边缘计算服务器的服务模块数的约束;
步骤7:对每个基站按照步骤6进行执行,直到所用用户都满足mec服务模块数量的限制,返回所有用户的基站选择方案a,卸载决策方案x,mec服务模块分配方案c。
2.根据权利要求1所述的移动用户计算任务的卸载方法,其特征在于,所述步骤3包括建立对应的拉格朗日函数,采用乘子法求解出相应的初始卸载决策集合。
3.根据权利要求1所述的移动用户计算任务的卸载方法,其特征在于,所述步骤4包括建立对应的拉格朗日函数,采用乘子法求解出相应的初始卸载决策集合。
4.根据权利要求1所述的移动用户计算任务的卸载方法,其特征在于,所述步骤5包括定义基站选择函数为:
其中,μ表示权重,hi,m表示用户i和基站m之间的信道增益,基站选择函数表示用户终端i卸载任务到基站m能够分配到的服务模块数与用户终端i和基站m之间的信道增益的加权和;对于重叠区域覆盖的用户,分别计算用户i到不同基站的gi,m,对gi,m进行降序排列,选择的第一个值对应的基站作为用户i的目标卸载基站,将用户i到其余基站的选择值设为0,最终可以获得所有用户的基站选择策略。
5.根据权利要求1所述的移动用户计算任务的卸载方法,其特征在于,所述步骤6包括:分别计算用户i在单用户情况下解出的卸载决策对应的系统函数值
对其进行降序排列,通过初始卸载决策集获得卸载到目标基站的任务数量ζm,若卸载到目标基站的任务数量ζm小于目标基站的服务模块数量λm,则直接返回目标基站下所有用户的卸载决策;若卸载到目标基站的任务数量ζm大于目标基站的服务模块数量λm,则根据排列好的q值,选择第一个用户的卸载决策进行更新,重新计算