本发明涉及一种通信和计算资源联合分配方法,尤其适用于移动通信领域中使用的一种针对移动边缘计算的通信和计算资源联合分配方法。
背景技术:
随着移动用户终端、物联网终端的快速增长,未来移动网络中的数据流量以及计算量将成指数式增长。然而用户终端的计算能力有限,为解决这一系统瓶颈,移动边缘计算(mec)技术应运而生。移动边缘计算侧重在移动网络边缘提供云计算功能,将移动边缘计算服务器部署在更加靠近用户终端的位置,减少网络数据传输和完成计算任务的时延。移动边缘计算具有邻近性、低时延、高带宽等特点。然而当系统中存在多个计算服务接入点(即射频拉远单元(rru))以及多个用户终端时,如何将用户终端与不同的射频拉远单元进行关联,从而有效的将用户终端产生的计算任务卸载至移动边缘计算服务器执行,实现系统资源利用效率的最大化,一直没有得到很好的解决。强化学习是一种智能化、无模型和低复杂度的机器学习方法,其主要工作过程为:智能体通过不断和环境进行交互并学习,最终达到最优的收敛状态。在智能体和环境的交互过程中,智能体在不同的状态下根据一定的策略选择并执行某些动作,环境响应后给出相应的奖励值,同时智能体进入下一个状态,智能体根据每一步的奖励值更新其状态,经过多次交互后最终到达收敛状态。
现有文献:j.liu,y.mao,j.zhang,andk.b.letaief,“delay-optimalcomputationtaskschedulingformobile-edgecomputingsystems,”inproc.ieeeisit,july2016,pp.1451–1455提出了一种资源分配模型用于解决移动边缘计算中计算和通信资源联合分配的问题,但是文献[4]只考虑了单个射频拉远单元。
文献chenx,jiaol,liw,etal.efficientmulti-usercomputationoffloadingformobile-edgecloudcomputing[j].ieee/acmtransactionsonnetworking,2015,24(5):2795-2808.将上述文献的工作扩展到了多个射频拉远单元的场景中,使用了博弈论的方法,在具体执行的过程中算法复杂度较高,可能会产生较高的时延和系统综合开销,同时没有考虑最优的功率控制问题。
文献n.li,j.martinezortega,v.diaz,etal,“distributedpowercontrolforinterference-awaremulti-usermobileedgecomputing:agametheoryapproach,”ieeeaccess,vol.6,36105-36114,2018指出:高效的功率控制能够极大地减缓共享信道中出现的干扰,使所有终端设备的性能有了实质性的提升,但其同样使用了博弈论方法,在面对大量终端设备的服务请求下,算法复杂度较高会使系统性能的提升出现瓶颈。
技术实现要素:
针对现有技术的不足之处,提供一种步骤简单,使用效果好,通过在大量用户终端的场景中部署多个射频拉远单元,使用强化学习算法进行高效的计算和通信资源联合分配,同时控制用户终端的数据传输功率,降低整个系统的能耗和计算时延等综合开销的针对移动边缘计算的通信和计算资源联合分配方法。
为实现上述技术目的,本发明的针对移动边缘计算的通信和计算资源联合分配方法,在移动边缘计算系统中确定用户终端所产生计算任务的执行地点,通过控制用户终端的数据传输功率减小整个系统的能耗和计算时延等综合开销;
其中移动边缘计算系统包含一个移动边缘计算服务器、k个射频拉远单元和n个用户终端,n个用户终端产生计算任务以及执行该计算任务所需的输入数据,k个射频拉远单元作为小型基站,用于从用户终端接收计算任务请求并转发至移动边缘计算服务器;
移动边缘计算服务器对接收到的用户终端的计算任务请求后进行决策,若移动边缘计算服务器接受用户终端的计算任务请求,则计算任务的输入数据先从用户终端传输至射频拉远单元,再由射频拉远单元传输至移动边缘计算服务器,由移动边缘计算服务器执行计算任务,此时用户终端卸载本地计算等待移动边缘计算服务器的反馈,最终移动边缘计算服务器将计算结果返回给用户终端;若决策为本地执行,则移动边缘计算服务器拒绝用户终端发送的计算任务请求,用户终端本地执行计算。
每个用户终端计算任务卸载策略的决策过程如下:
1.初始化用于表示每个用户终端的q函数,即令q=0;
2.初始化所有用户终端的状态,即s=0,
3.设置最大迭代次数tmax并在t≤tmax时,对t中的每个时间步t执行下面的循环操作:
1)从状态st中选择动作at;
2)执行动作at并观察奖励rt和下一状态st+1;
3)根据公式:
更新函数值q,令st=st+1;
4)判断状态st+1是否为最终的状态并且t>tmax,如果不是则转向步骤1);否则,算法终止。
所述步骤3和4中,当系统中所有用户终端的状态都不再发生改变时,算法结束,此时用户终端的状态为当前环境设置下的最优状态。
移动边缘计算服务器的决策过程具体如下:
a1初始化用于表示每个用户终端的累积奖励函数表q,即令q=0;
a2初始化所有用户终端,有用户终端都处于本地执行状态,这里用s表示,即s=0,
a3使用t表示整个一轮循环迭代的执行周期,利用移动边缘计算服务器将所有终端用户的一轮决策作为一个时间步t,设置最大迭代次数tmax并在t≤tmax时,对执行周期t中的每个时间步t执行最终的状态st+1;t表示算法循环的周期,t表示一个循环周期中的一次动作选择步骤,t和t为使用时提前进行预设置;
用户终端在每个离散时间步t(t=1,2,…)都有一个对应的状态st,用户终端在状态st时,能够根据预设的多种不同的策略选择动作a,即选择本地计算或者通过哪一个基站卸载至移动边缘计算服务器计算,执行动作a后移动边缘计算服务器做出响应并反馈给具体用户终端奖励r,并且用户终端进入下一个状态st+1;
a4当计算中所有用户终端经过数轮迭代后,算法收敛,所有用户终端的状态都不再发生改变时,即所有用户终端都有了一个最合适的选择时结束算法,此时用户终端的状态为当前环境设置下的最优状态,即最优的资源分配,算力和时延的综合最优状态。
所述执行最终的状态st+1的循环操作包括:
b1从用户终端的状态st中选择动作at;
b2首先用户终端在初始状态下进行全部随机选择,之后都根据贪婪算法∈-greedy策略进行选择,即每次选择动作时先生成一个大于0小于1的随机数,当该随机数小于∈时进行随机选择动作,即随机选择用户端本地执行或者通过rru卸载执行;当该随机数大于∈时利用公式maxaq(st+1,a)进行选择;
b3用户终端执行动作at并获得对应的具体奖励值rt,同时使用户终端进入下一状态st+1;
b4利用公式:q(st,at)=q(st,at)+α[rt+1+γmaxaq(st+1,a)-q(st,at)]更新累积奖励函数表q内数值,用户执行某个动作a后就获得当前用户具体奖励值rt+1,令st=st+1该用户会进入下一状态;式中α为学习率,γ为奖励折扣因子;
判断是否满足t>tmax条件,或者累积奖励函数表q中的值都不再发生改变或改变前后值之差小于预设的一个阈值,两个条件满足其一,则st+1就为最终状态,如果不是则循环步骤b1;否则,结束循环操作,此时用户终端的状态为当前环境设置下的最优状态。
所述状态st为在任一时间步t,如果用户终端选择通过第k个射频拉远单元来卸载用户终端计算任务,则该用户终端处于状态
所述动作为:对于每个时间步t,用户终端根据其策略在当前状态st选择并执行一个动作a,则会从当前状态st转移到了下一状态st+1,用
使用r对奖励函数进行统称,奖励函数r为:在每一个时间步t,具体用户的奖励函数
有益效果:所提出的方案针在由移动边缘计算服务器、射频拉远单元和多用户终端之间最大效果的分配算力,同时其分配过程相比传统方法简单计算量小,可以有效地缓解传统方法所面临的高复杂度较导致的效率低下以及算力长期占用的问题,且服务器与用户终端之间的运算资源无法智能化分配的问题;能够保证服务器与用户终端组成的系统性能达到现有优化方法的最优状态的同时由于加入了功率控制,有效降低在资源分配过程中整个系统的负载开销,其步骤简单,使用效果好。
附图说明
图1是本发明针对移动边缘计算的通信和计算资源联合分配方法使用的网络结构示意图;
图2是本发明方法获取移动边缘计算受益的终端设备数量与穷举方法比较的示意图;
图3是本发明方法获取终端设备移动边缘计算受益率与其它方法比较的示意图;
图4是本发明方法终端设备平均开销与其它方法比较的示意图;
图5是本发明针对移动边缘计算的通信和计算资源联合分配方法的流程图。
具体实施方式
下面结合附图对本发明的实施例做进一步说明:
本发明的针对移动边缘计算的通信和计算资源联合分配方法,
在移动边缘计算系统中确定用户终端所产生计算任务的执行地点,通过控制用户终端的数据传输功率减小整个系统的能耗和计算时延等综合开销,
如图1所示,其中移动边缘计算系统包含一个移动边缘计算(mobileedgecomputing,mec)服务器,k个射频拉远单元(radioremoteunit,rru),n个用户终端(userequipment,ue),n个用户终端产生计算任务以及执行该计算任务所需的输入数据,k个射频拉远单元作为小型基站,用于从用户终端接收计算任务请求并转发至移动边缘计算服务器;
移动边缘计算服务器对接收到的用户终端的计算任务请求后进行决策,若移动边缘计算服务器接受用户终端的计算任务请求,则计算任务的输入数据先从用户终端传输至射频拉远单元,再由射频拉远单元传输至移动边缘计算服务器,由移动边缘计算服务器执行计算任务,此时用户终端卸载本地计算等待移动边缘计算服务器的反馈,最终移动边缘计算服务器将计算结果返回给用户终端;若决策为本地执行,则移动边缘计算服务器拒绝用户终端发送的计算任务请求,用户终端本地执行计算;
用n表示第n个用户终端,用k表示第k个射频拉远单元,用
用gn,k表示第n个用户终端与第k个射频拉远单元之间的信道增益,用σ2表示射频拉远单元的信号接收机噪声功率,用w表示信道的频谱带宽,则
具体的:
使用t表示计算和通信资源联合分配算法的执行周期,每个周期t由多个离散时间步组成;用户终端在每个时间步t(t=1,2,…)都有一个状态st,用户终端在状态st时,能够根据不同的策略选择动作a,执行动作a后移动边缘计算服务器做出响应并反馈给用户终端奖励r,并且用户终端进入下一个状态st+1,经过数轮迭代后可收敛。
上述用户终端状态、用户终端动作以及奖励函数做如下定义:
(1)状态:在任一时间步t,如果用户终端选择通过第k个射频拉远单元来卸载其计算任务,则该用户终端处于状态
(2)动作:对于每个时间步t,用户终端根据其策略在当前状态st选择并执行一个动作a,则会从当前状态st转移到了下一状态st+1。用
(3)具体用户端的奖励函数r:在每一个时间步t,奖励函数定义为:
其中λ1和λ2为标准化变量。本发明每个用户终端计算任务卸载策略的决策过程如下:
如图5所示,每个用户终端计算任务卸载策略的决策过程如下:
1.初始化用于表示每个用户终端的q函数,即令q=0;
2.初始化所有用户终端的状态,即s=0,
3.设置最大迭代次数tmax并在t≤tmax时,对t中的每个时间步t执行下面的循环操作:
1)从状态st中选择动作at;
2)执行动作at并观察奖励rt和下一状态st+1;
3)根据公式:
更新函数值q,令st=st+1;
4)判断状态st+1是否为最终的状态并且t>tmax,如果不是则转向步骤1);否则,算法终止。
所述步骤3和4中,当系统中所有用户终端的状态都不再发生改变时,算法结束,此时用户终端的状态为当前环境设置下的最优状态。
移动边缘计算服务器的决策过程具体如下:
a1初始化用于表示每个用户终端的累积奖励函数表q,即令q=0;
a2初始化所有用户终端,有用户终端都处于本地执行状态,这里用s表示,即s=0,
a3使用t表示整个一轮循环迭代的执行周期,利用移动边缘计算服务器将所有终端用户的一轮决策作为一个时间步t,设置最大迭代次数tmax并在t≤tmax时,对执行周期t中的每个时间步t执行最终的状态st+1;t表示算法循环的周期,t表示一个循环周期中的一次动作选择步骤,t和t为使用时提前进行预设置;
用户终端在每个离散时间步t(t=1,2,…)都有一个对应的状态st,用户终端在状态st时,能够根据预设的多种不同的策略选择动作a,即选择本地计算或者通过哪一个基站卸载至移动边缘计算服务器计算,执行动作a后移动边缘计算服务器做出响应并反馈给具体用户终端奖励r,并且用户终端进入下一个状态st+1;
a4当计算中所有用户终端经过数轮迭代后,算法收敛,所有用户终端的状态都不再发生改变时,即所有用户终端都有了一个最合适的选择时结束算法,此时用户终端的状态为当前环境设置下的最优状态,即最优的资源分配,算力和时延的综合最优状态。
所述执行最终的状态st+1的循环操作包括:
b1从用户终端的状态st中选择动作at;
b2首先用户终端在初始状态下进行全部随机选择,之后都根据贪婪算法∈-greedy策略进行选择,即每次选择动作时先生成一个大于0小于1的随机数,当该随机数小于∈时进行随机选择动作,即随机选择用户端本地执行或者通过rru卸载执行;当该随机数大于∈时利用公式maxaq(st+1,a)进行选择,此时累积奖励函数表q为一个a列为状态s行为动作的表,数据就表示某个状态-动作对下的q值;
b3用户终端执行动作at并获得对应的具体奖励值rt,同时使用户终端进入下一状态st+1;
b4利用公式:q(st,at)=q(st,at)+α[rt+1+γmaxaq(st+1,a)-q(st,at)]更新累积奖励函数表q内数值,用户执行某个动作a后就获得当前用户具体奖励值rt+1,令st=st+1该用户会进入下一状态;式中α为学习率,γ为奖励折扣因子;
判断是否满足t>tmax条件,或者累积奖励函数表q中的值都不再发生改变或改变前后值之差小于预设的一个阈值,两个条件满足其一,则st+1就为最终状态,如果不是则循环步骤b1;否则,结束循环操作,此时用户终端的状态为当前环境设置下的最优状态。
实施例一,
作如下参数设置:整个系统被放置在一片半径为1千米的圆形区域内,而所有ue都随机分布在该区域,射频拉远单元被均匀分布在该区域内。ue的数量设置在100到500个,射频拉远单元的数量为9个;每个射频拉远单元的可用带宽w为1mhz,背景噪声方差σ2为10-14w,ue的本地计算能力为0.1~0.2ghz,数据传输功率为0.1~0.5w,qos权重因子un为0.5,最大卸载周期tmax为60。强化学习中的学习率α为0.2,奖励折扣因子γ为0.9。为了说明本发明提出方法的优势,本发明将强化学习算法与传统优化算法进行仿真和比较。
如图2所示,介绍采用2个射频拉远单元和5~15个ue的场景下,采用本方法以及传统的穷举算法,各种方法获得的移动边缘计算受益终端设备数量的比较示意图(移动边缘计算受益终端设备即选择卸载至移动边缘计算服务器执行任务的综合开销小于本地执行的综合开销的ue);可以看出强化学习方法可以达到几乎和穷举算法的最优状态相同的移动边缘计算受益终端设备数量。穷举算法总是能够找出问题的最优解,但由于其复杂度较高,并且呈指数式增长,因此在现实场景中的应用具有较大的局限性。而强化学习算法恰恰克服了穷举算法复杂度高的问题,在保证能够获得最优解的同时,其算法复杂度低且收敛速度快,因此,在把系统规模扩大到一定程度后,本发明所提出的强化学习方法在终端设备移动边缘计算受益率方面仍然能有较好的表现。
如图3所示,介绍采用9个射频拉远单元和100~500个ue场景下,采用本发明提出的计算和通信资源联合分配的强化学习方法,以及传统的基于接收信号强度的方法(rss),各种方法获得的终端设备的移动边缘计算受益率的比较示意图(终端设备的移动边缘计算受益率即移动边缘计算受益终端设备数量与终端设备总数的比值)。
如图4所示,介绍采用9个射频拉远单元和100~500个ue场景下,采用本发明提出的计算和通信资源联合分配的强化学习方法,以及传统的基于接收信号强度的方法(rss),各种方法获得的终端设备平均开销的比较示意图。
如图3和图4所示,本方法具体使用了强化学习方法中的sarsa算法和q-learning算法,强化学习方法在多ue的场景下获得的终端设备移动边缘计算受益率普遍高于rss方法,这是由于随着ue数量的大幅增长,rss方法中会出现计算和通信资源分配不均,导致越来越严重的网络拥塞的现象。而强化学习方法能够更加智能地为ue分配计算和通信资源,从图3中可以看出,当ue数量增加到500时,强化学习方法仍然能够保持90%以上的移动边缘计算受益率,其中q-learning算法的性能表现更好。另外,如图4所示,无论是使用sarsas还是q-learning的强化学习方法,其终端设备平均开销都明显低于rss方法,由于加入了功率控制,强化学习方法智能化的优势被进一步突显出来,因此在综合开销性能上比rss方法表现更好,这说明本发明提出的计算和通信资源联合分配的强化学习方法在大规模网络场景下既能获得较高的移动边缘计算受益率,又能显著降低系统的综合开销。