一种基于边缘协作的任务卸载及资源分配联合优化方法
技术领域
本发明属于移动通信技术领域,涉及一种基于边缘协作的任务卸载及资源分配联合优化方法。
背景技术
移动边缘计算(Mobile edge computing,MEC)通过将云计算平台从核心网迁移到移动接入网的边缘,有效地解决了移动云计算(Mobile cloud computing,MCC)面临的高时延和回程链路限制问题,被视为第五代(5G)移动通信网络的关键技术之一。然而,随着移动通信技术和互联网的蓬勃发展,以虚拟现实(Virtual Reality,VR)、增强现实(AugmentedReality,AR)、交互式游戏等为代表的新兴应用日益普及,用户的计算卸载需求不断增加,导致资源有限的MEC服务器无法同时为它关联的所有用户终端提供连续无尽的计算卸载服务。而且由于边缘网络中的移动业务流量分布具有动态且不均匀性,不同MEC服务器的计算负载有较大的差异,进而服务器负载与其资源之间的不匹配将导致资源利用率降低和任务时延增大的问题。为了均衡计算负载充分发挥MEC的优势,进一步提升移动通信系统的性能,必然需要考虑MEC系统中的边缘协作问题。
另一方面,虽然协作机制有助于提高资源的利用率及减小计算卸载的时延,但在实际的边缘网络中,MEC服务器之间无法确知彼此的资源状态,需要频繁的信令交互,这将会出现一个大规模的协作资源管理问题,可能导致边缘网络成本和系统能耗增大。此外,由于MEC服务器的计算资源分配直接影响任务的执行时延,每个用户终端都希望尽可能多的获得资源来提高体验质量(Quality of Experience,QoE),从而用户终端之间就会产生竞争。因此,在保证用户公平性的情况下,如何将边缘协作机制融入到MEC的任务卸载与资源分配中,从而降低用户任务时延,提升MEC系统性能及资源利用率,是有必要深入研究的问题。
发明人在研究现有技术的过程中发现其存在如下缺点:
现存大多数文献专注于单MEC服务器多用户的场景,对多MEC服务器研究较少且也未考虑服务器间的协作问题,降低了MEC服务器的资源利用率;其次,部分文献在对边缘协作问题研究时,将任务全部卸载到MEC服务器执行,忽略了用户终端自身的计算能力。此外,由于没有考虑一个集中的网络架构,需要频繁的信令交互获取各边缘节点的资源信息,使得系统能耗增大;最后,在设计卸载策略和资源分配方案时,应对网络中所有MEC服务器进行优化,同时也应该考虑用户公平性问题,从而提高用户QoE和系统性能。
发明内容
有鉴于此,本发明的目的在于提供一种基于边缘协作的任务卸载及资源分配联合优化方法,在保证用户公平性的同时降低用户任务执行时延,提高资源利用率。
为达到上述目的,本发明提供如下技术方案:
一种基于边缘协作的任务卸载及资源分配联合优化方法,针对移动业务流量激增及空间分布不均的边缘网络环境下,通过基于软件定义网络(Software Defined Network,SDN)的集中式系统架构对网络设备的资源进行实时感知及集中管控,并在用户最大容忍延迟和MEC服务器计算资源约束下,建立用户公平性的时延最小化的理论模型,使得所有用户中最大的时延最小化,并通过基于模拟退火思想的启发式迭代算法框架对任务卸载策略和资源分配方案进行联合优化。
进一步,所述SDN是通过将网络设备的数据面和控制面分离,并将控制面转移到基于软件的集中式实体中,从而实现网络功能可编程、可集中控制转发,由于SDN控制器集中管控整个网络,因此可以根据全局网络设备资源的实时信息确定和优化服务动态配置;
所述边缘协作机制是针对MEC服务器计算负载与计算能力不匹配的情况下,通过MEC服务器间的卸载转发和协作来均衡边缘设备的计算负载,从而降低用户终端的任务时延,提高资源利用率的一种方式。
进一步,所述任务卸载是考虑不可分割的任务模型,即二进制卸载模型,在此模型中,计算任务或者在用户终端本地执行,或者全部卸载到MEC服务器执行,因此在边缘协作机制下的任务包括三种执行方式:用户终端本地执行、卸载到用户本地MEC服务器以及用户邻近MEC服务器;所述资源分配是对MEC服务器计算资源的分配;
所述在边缘协作机制下任务的三种执行方式定义为二元变量αi,βi和γi,k,分别表示用户终端i是否由终端本地执行,是否卸载到用户本地MEC服务器mi执行以及是否转发到用户邻近MEC服务器k执行,对于用户终端i,其卸载决策满足如下约束:
其中,Mi表示用户终端i邻近MEC服务器的集合,即Mi=M\mi,M为系统中所有MEC服务器的集合,N为网络中用户终端的集合,该约束条件表示在αi,βi和γi,k中,只有一个变量取值为1,即用户终端任务只能选择一个位置执行;
所述用户终端i的任务时延为
其中,
表示用户终端i本地执行时延,
C
i表示完成计算任务t
i所需的CPU周期数,
表示用户终端i的本地计算能力,即CPU频率;
表示用户终端i卸载到本地MEC服务器m
i执行的总时延,
等式右边第一项表示用户终端i上行传输时延,第二项表示MEC服务器执行任务的时延,D
i表示计算任务t
i的输入数据大小,
表示用户终端i上行传输速率,
表示基站m
i分配给用户终端i的计算资源;
表示用户终端i卸载到邻近MEC服务器k的总时延,等式右边第一项表示用户终端i上行传输时延,第二项表示基站间的传输时延,第三项表示MEC服务器执行任务时延,
表示基站m
i与基站k之间的传输速率,f
i,k表示MEC服务器k分配给用户终端i的计算资源;当用户本地MEC服务器负载较高且可用计算资源较少,可能会导致较长的时延或者无法满足用户QoS需求时,将用户计算任务转发给邻近的MEC服务器执行计算任务。
进一步,所述用户公平性是指在网络中所有用户终端在资源分配、成本花费、时延等方面是合理公平的,同时也是提升用户QoE的关键因素。在本发明中保证用户公平性是通过min-max优化每个用户终端的任务时延来实现的;
所述通过min-max优化保证用户公平性是指在用户计算任务最大容忍延迟和MEC服务器计算资源约束下,对所有用户中最大的任务时延最小化,从而对任务卸载策略和计算资源进行联合优化,其具体优化问题为:
其中,Π和f分别表示所有用户终端的卸载策略向量和计算资源分配向量。
进一步,所述基于SDN的集中式系统架构包括M个边缘节点,N个用户终端和一个SDN控制器;所述边缘节点为配有MEC服务器的基站,且边缘节点之间通过有线链路相互通信,每个用户终端通过无线链路接入基站,每个基站运行OpenFlow协议与SDN控制器进行交互信息,所述SDN控制器获取用户终端和MEC服务器的信息,包括用户终端的计算能力、各MEC服务器当前的负载和计算资源,从全局视野感知网络状态,灵活调度网络资源。
进一步,所述模拟退火思想的启发式迭代算法是一种基于Monte-Carlo迭代求解策略的随机寻优算法,在算法寻优过程中引入随机因素,即若本次得到的目标函数优于上次的结果,则接受本次新解;若劣于上次的结果,则以一定的概率接受本次新解,这种特性可以能概率性地跳出局部最优解,从而在解空间中找到目标函数的全局最优解。
进一步,优化问题中同时存在离散变量和连续变量,而且目标函数和约束条件是非线性的,是一个混合整数非线性规划问题。这类问题通常具有NP-hard特性,其解决复杂度非常高,无法在多项式时间内求出其解,因此提出一种基于模拟退火思想的启发式迭代算法框架对任务卸载策略和资源分配方案进行联合优化。
第一阶段:给定任务执行方式,即任务卸载决策,从而将优化问题转化为MEC服务器计算资源分配问题。由于min-max模型的存在,导致资源分配问题是一个非光滑问题,因此对资源分配问题进行转化,并利用二分法对MEC服务器的计算资源进行分配;
第二阶段:在第一阶段得到资源分配方案的基础上,通过模拟退火算法设置初始退火温度、每次降温迭代次数以及退火速度。其中,在算法寻优过程中引入随机因素,即若本次得到的目标函数优于上次的结果,则接受本次新解;若劣于上次的结果,则以一定的概率接受本次新解,这种特性可以能概率性地跳出局部最优解,从而在解空间中找到目标函数的全局最优解。根据根据Metropolis准则,概率p的表达式为
所述Qs为上一次目标函数;
所述Qs+1为本次的目标函数值;
所述T为当前温度。
进一步,两个阶段不断迭代,若当前的温度是低于最低温度Tmin,则算法终止,否则执行降温操作,开始下一轮的迭代。最终,以较低的复杂度得到任务卸载策略和资源分配方案的近似最优解。
进一步,所述模拟退火思想的启发式迭代算法包括:
首先,给定任务执行方式将优化问题转化为MEC服务器计算资源分配问题,并利用二分法对资源分配方案进行求解;其次,在资源分配方案的基础上,通过模拟退火算法求的近似最优任务卸载策略,经过不断迭代直至收敛;最后,以较低的复杂度获得优化问题的近似最优解。
进一步,所述模拟退火思想的启发式迭代算法具体包括以下步骤:
S101:初始化模拟退火算法参数,包括退火初始温度Tmax、终止温度Tmin、退火速度q以及每次降温的迭代次数S,并随机生成任务卸载决策,通过二分法得计算资源分配方案,从而得到用户任务的执行时延,以最大的用户时延作为初始目标函数值;
S102:根据卸载决策的解空间产生新解;
S103:基于二分法得到MEC服务器计算资源分配方案,并计算本次用户任务的执行时延;
S104:比较本次时延是否小于上次时延,若小于则执行步骤S105,否则执行步骤S106;
S105:将本次的卸载策略和资源分配方案作为当前最优解,然后执行步骤S107;
S106:以一定概率接受当前解,以跳出局部最优解,然后执行下一步;
S107:判断迭代次数是否大于S,若大于则执行步骤S108,否则转到步骤S102,重复上述步骤开始新一次的迭代;
S108:判断当前温度是否小于退火终止温度,若小于则执行步骤S110,否则执行步骤S109;
S109:对当前的温度进行降温,同时重置迭代次数,然后转到步骤S102,重复上述步骤,开始新一轮的降温;
S110:当满足退火的终止温度时,算法终止,最终得到任务卸载策略和资源分配的近似最优解。
进一步,所述利用二分法对资源分配方案进行求解,包括以下步骤:
S201:初始化最大时延τmax、最小时延τmin、迭代次数L以及最大可容忍误差ζ;
S202:判断当前迭代次数是否大于L,若大于L,则转到步骤S209得到计算资源分配方案,否则执行步骤S203;
S203:判断不等式|τmax-τmin|≤ζ是否成立,若成立,则执行步骤S204,否则执行步骤S205;
S204:取最大时延和最小时延的平均值作为当前迭代的时延,即τl=(τmax+τmin)/2,然后执行步骤S208;
S205:判断已分配的计算资源是否大于节点的总计算资源,若大于则执行步骤S206,否则执行步骤S207;
S206:更新最小时延τmin=τl,然后执行步骤S208;
S207:更新最大时延τmax=τl,然后转入下一步;
S208:将迭代次数加1,转到步骤S202,开始新一次的迭代;
S209:得到计算资源分配方案。
本发明的有益效果在于:本发明针对移动业务流量激增及空间分布不均的边缘网络环境下,通过基于SDN的集中式系统架构对网络设备的资源进行实时感知及集中管控,将边缘协作机制引入MEC系统中,不仅均衡了MEC服务器的计算负载,充分发挥了MEC技术的优势,同时在保证用户公平性的同时降低用户任务执行时延,提高资源利用率和MEC系统系统性能。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明基于SDN的MEC系统架构示意图;
图2为本发明模拟退火算法流程图;
图3为本发明基于二分法的计算资源分配流程图;
图4为本发明基于模拟退火算法的联合任务卸载与资源分配流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
图1是本发明基于SDN的MEC系统架构示意图。整个系统由M个边缘节点,N个用户终端和一个SDN控制器组成。其中,每个边缘节点为配有MEC服务器的基站,且边缘节点之间通过有线链路相互通信。在该系统模型中,每个用户终端通过无线链路接入基站,每个基站运行OpenFlow协议与SDN控制器进行交互信息。因此,SDN控制器可以获取用户终端和MEC服务器的信息,包括用户终端的计算能力、各MEC服务器当前的负载和计算资源等信息,进而可从全局视野感知网络状态,灵活调度网络资源。
图2是本发明模拟退火算法流程图。模拟退火算法一种基于Monte-Carlo迭代求解策略的随机寻优算法,通常用于大规模组合规划问题。由于在算法寻优的过程中引入随机因素,即若本次得到的目标函数优于上次的结果,则接受本次新解;若劣于上次的结果,则以一定的概率接受本次新解,这种特性可以能概率性地跳出局部最优解,因此可在解空间中找到目标函数的全局最优解。步骤如下:
步骤201:初始化模拟退火算法参数,包括退火初始温度Tmax、终止温度Tmin、退火速度q以及每次降温的迭代次数S,并随机生成初始解x,计算目标函数值f(x);
步骤202:扰动产生新解x′,并计算新解的目标函数值f(x′);
步骤203:判断新解的目标函数值f(x′)是否优于f(x),若优于f(x),则执行步骤204,否则执行步骤205;
步骤204:接受本次新解,即将新解及其目标函数值作为当前解和当前函数值;
步骤205:以一定概率接受本次新解及目标函数值,其中概率可根据Metropolis准则计算得到;
步骤206:判断迭代次数是否大于S,若大于S,则执行步骤207,否则转入步骤202,开始新一次的迭代;
步骤207:判断当前的温度是否小于等于终止温度Tmin,若小于Tmin,则执行步骤209,否则执行步骤208,开始新一轮的降温;
步骤208:降低温度T=T·q并重置迭代次数;注:q为退火速度且取值范围为(0,1)。
步骤209:算法终止输出最终解。
图3是本发明基于二分法的计算资源分配流程图。步骤如下:
步骤301:初始化最大时延τmax、最小时延τmin、迭代次数L以及最大可容忍误差ζ;
步骤302:判断当前迭代次数是否大于L,若大于L,则转到步骤309得到计算资源分配方案,否则执行步骤303;
步骤303:判断不等式
是否成立,若成立,则执行步骤304,否则执行步骤305;
步骤304:取最大时延和最小时延的平均值作为当前迭代的时延,即τl=(τmax+τmin)/2,然后执行步骤308;
步骤305:判断已分配的计算资源是否大于节点的总计算资源,若大于则执行步骤306,否则执行步骤307;
步骤306:更新最小时延τmin=τl,然后执行步骤308;
步骤307:更新最大时延τmax=τl,然后转入下一步;
步骤308:将迭代次数加1,转到步骤302,开始新一次的迭代;
步骤309:得到计算资源分配方案。
图4是本发明基于模拟退火算法的联合任务卸载与资源分配流程图。步骤如下:
步骤401:初始化模拟退火算法参数,包括退火初始温度Tmax、终止温度Tmin、退火速度q以及每次降温的迭代次数S,并随机生成任务卸载决策,通过二分法得计算资源分配方案,从而得到用户任务的执行时延,以最大的用户时延作为初始目标函数值;
步骤402:根据卸载决策的解空间产生新解;
步骤403:基于二分法得到MEC服务器计算资源分配方案,并计算本次用户任务的执行时延;
步骤404:比较本次时延是否小于上次时延,若小于则执行步骤405,否则执行步骤406;
步骤405:将本次的卸载策略和资源分配方案作为当前最优解,然后执行步骤407;
步骤406:以一定概率接受当前解,以跳出局部最优解,然后执行下一步;
步骤407:判断迭代次数是否大于S,若大于则执行步骤408,否则转到步骤402,重复上述步骤开始新一次的迭代;
步骤408:判断当前温度是否小于退火终止温度,若小于则执行步骤410,否则执行步骤409;
步骤409:对当前的温度进行降温,同时重置迭代次数,然后转到步骤402,重复上述步骤,开始新一轮的降温;
步骤410:当满足退火的终止温度时,算法终止。最终得到任务卸载策略和资源分配的近似最优解。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。