一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度强化学习的协作边缘计算任务卸载方法与流程

2022-03-16 02:45:38 来源:中国专利 TAG:


1.本发明属于无线网络技术领域,涉及一种基于深度强化学习的协作边缘计算中任务卸载和资源分配的能耗优化方法。


背景技术:

2.随着智能移动设备的普及,如智能手机、智能手表、智能手环和物联网(internet of things,iot)设备,如共享电源和共享自行车,很多新的移动应用随着时尚的浪潮而来。这些新的移动应用,如电子医疗、人脸识别、监控、增强现实和虚拟现实,不仅是计算密集型,而且是高能耗的。然而,这种无可比拟的增长与移动设备的电池和计算能力的提高并不匹配。鉴于移动设备使用量的巨大增长,移动边缘计算(mobile edge computing,mec)可以弥补移动设备能力受限和计算需求增长之间的差距。
3.为了应对这些挑战,移动设备可以将计算任务卸载到附近的mec服务器上,以减少处理延迟并节省电池能量。因此,计算卸载中出现的最重要的问题是在所有可用的服务器中选择一个mec服务器。如果所选的mec服务器经历了沉重的工作负荷和不利的通信条件,移动设备可能需要更长的时间来卸载数据和接收结果。因此,为了实现有效和高效的卸载策略,必须考虑到环境的变化,如移动设备的可用能量、计算工作量和不同mec服务器的计算能力。因此卸载策略显得尤为重要。
4.并且,通信资源和计算资源对于任务卸载的性能尤为重要:前者决定传输任务过程中的数据速率和能量消耗,而后者限制任务的计算时间和能耗。传统的通信资源分配研究主要集中在频谱效率和能量效率上,然而,在这两类资源受限的mec系统中,传输和计算过程是耦合的,随着用户数量的增加,mec系统的组合优化变得越来越复杂。因此,针对多用户的mec系统,制定有效的卸载策略是十分必要的。
5.鉴于以上考虑,本发明提供了一种基于深度强化学习的多用户协作边缘计算中任务卸载和资源分配的能耗优化方法。


技术实现要素:

6.本发明所要解决的技术问题是提供协作边缘计算中任务卸载和资源分配的能耗优化方法,通过对卸载决策、计算资源、信道分配和功率分配联合优化,目标是在时延约束下最小化能耗。
7.发明的技术解决方案如下:
8.构建协作移动边缘计算网络场景,如附图1所示,我们考虑一个云服务,多个具有mec服务器的基站和大量用户的mec系统,而正交频分多址(orthogonal frequency division multiple access,ofdma)作为其传输机制。假设有|s|个可用于无线传输的子载波,s={1,2,...,s,...,|s|},每个子载波的带宽为b。网络包含1个云端,m={1,2,...,m,...,|m|}共|m|个具有mec服务器的基站。n={1,2,...,n,...,|n|}共|n|个移动用户,每一个用户有1个任务要执行。用户n的任务un=(cn,dn,t
nmax
),cn为完成任务un所需的计算工
作量,单位为cpu周期数/bit,dn为数据的大小,单位为bit,t
nmax
表示任务un的时延约束,任务mi必须在[0,t
imax
]内完成。由于计算结果很小,我们忽略了计算结果及他的传回过程。
[0009]
此外,我们假设所有的mec服务器都属于同一个网络运营商,这样计算数据就可以在mec服务器之间进行一次分割和转发,从而实现协作执行。当一个可分割的任务被卸载到mec服务器时,它将决定该任务是在单个mec服务器上执行,还是将任务拆分,转发请求与其他mec服务器或远程云进行协作计算。该决策基于每个mec服务器的工作负载和计算资源状态。
[0010]
这样每个任务就有四种可能的卸载决策,我们定义这样每个任务就有四种可能的卸载决策,我们定义为每个任务un的卸载决策,4种可能的卸载决策如下所示:
[0011]
1)αn=1时表示任务un本地计算,否则αn=0。
[0012]
2)时表示任务un卸载到mec服务器m计算,否则m表示用户n的卸载位置,当mec服务器m有足够的计算资源来满足用户n的需求时,接收任务un后,并且独立完成任务计算。
[0013]
3)时表示任务un在mec服务器m和mec服务器k协作执行下完成计算,否则当mec服务器m接收任务un后,没有足够的计算资源来满足用户n的需求时,mec服务器m会通过x2链路来向其他拥有足够计算资源的mec服务器k发送请求,将计算剩余任务交给mec服务器k计算。
[0014]
4)时表示任务un在mec服务器m和云服务器协作执行下完成计算,否则当没有拥有足够计算资源的mec服务器k来完成用户n的计算剩余任务时,mec服务器m通过光纤链路向云服务器发送请求,mec服务器m将计算剩余任务发送给云服务器计算。
[0015]
我们定义卸载决策矩阵o={o1,o2,...,on}为n个用户的卸载决策矩阵。定义为计算资源分配矩阵,表示服务器m分配给任务un的计算资源。
[0016]
另外,设子载波分配矩阵为w={w
n,s,m
|w
n,s,m
∈{0,1},n∈n,s∈s,m∈m},w
n,s,m
=1表示子载波s将分配给用户n,将任务卸载计算到服务器m传输时使用。子载波功率分配矩阵p={p
n,s,m
|p
n,s,m
∈(0,p
max
],n∈n,s∈s,m∈m},其中p
n,s,m
表示用户n和服务器m之间分配子载波s,将任务进行卸载上传的传输功率。g
n,s,m
表示用户n和服务器m的信道增益,同时,我们假设一个平坦的衰落环境,使得信道增益矩阵在一次调度过程中保持不变,系统噪声符合零期望高斯分布,其方差用δ2表示。
[0017]
本发明所要解决的技术问题是提供一种基于深度强化学习的协作移动边缘计算联合任务卸载与资源分配的节能双层优化方法。通过对卸载决策、计算资源、信道分配和功率分配联合优化,目标是在时延约束下最小化所有用户的能耗。
[0018]
本发明提出的一种基于深度强化学习的多用户协作边缘计算中任务卸载和资源分配的能耗优化方法的步骤如下:
[0019]
1.构建协作边缘计算系统的数学模型p1,目标是最小化能耗,步骤如下:
[0020]
1)传输模型
[0021]
对于所有的卸载计算,移动用户必须首先将数据上传到mec服务器,鉴于ofdma机制,由于子载波分配,每个用户独占子载波,用户传输之间的干扰被忽略。并且,由于计算结果非常小,我们忽略了计算结果传回的过程。
[0022]
用户n将任务un传输到mec服务器m时的数据传输速率如公式(1)所示:
[0023][0024]
其中b是信道带宽,w
n,s,m
表示将子载波s分配给用户n,将任务卸载计算到服务器m传输时使用,p
n,s,m
表示用户n和服务器m之间分配子载波s,将任务进行卸载上传的传输功率,g
n,s,m
表示用户n在和服务器m的信道增益。
[0025]
任务un传输到mec服务器m的传输时间如公式(2)所示:
[0026][0027]
任务un传输到mec服务器m的传输能耗如公式(3)所示:
[0028][0029]
在mec服务器m接收到任务un后,如果当mec服务器m没有足够的资源来满足用户需求时,mec服务器会尽自己能力在时延约束之内计算一部分数据mec服务器m通过x2链路将剩下的数据转发给另一个拥有足够资源的mec服务器k,两个mec服务器协作计算,所以对于mec服务器m传输剩余数据到mec服务器k的传输时间如公式(4)所示:
[0030][0031]
其中为mec服务器m与k之间的x2链路容量,mec服务器m将剩余需要转发的数据的计算公式如公式(5)所示:
[0032][0033]
其中表示服务器m分配给任务un的计算资源,当没有mec服务器有足够的计算资源来完成用户n的剩余任务时,mec服务器m通过有线光纤链路将任务请求转发给云服务器。mec服务器m与云服务器协作计算,所以对于mec服务器m传输剩余数据到云服务器的传输时间如公式(6)所示:
[0034][0035]
其中为mec服务器m与云服务器之间的链路容量。
[0036]
2)计算模型
[0037]
mec服务器接收已卸载的任务,然后并行执行这些任务。由于我们考虑了mec服务器的处理能力的上限和在延迟约束下可以处理的任务的上限,因此我们不考虑任务串行处理和任务等待队列。
[0038]
a)αn=1,任务un在本地执行的计算模式,un在本地执行的计算时间如公式(7)所示:
[0039][0040]
其中为un本地执行分配的计算资源。
[0041]
任务un在本地执行的计算能耗如公式(8)所示:
[0042][0043]
其中k0>0是一个与用户设备cpu相关的常数。
[0044]
b)任务un卸载到mec服务器m执行的计算模式,并且mec服务器m有充足的计算资源保证任务在时延约束之内完成时,un在执行mec服务器m执行的计算时间如公式(9)所示:
[0045][0046]
其中服务器m分配的计算资源为
[0047]
任务un在执行mec服务器m执行的计算能耗如公式(10)所示:
[0048][0049]
其中k1>0是一个与mec服务器的cpu有关的常数。
[0050]
c)当mec服务器m没有足够的计算资源保证任务在时延约束之内完成时,mec服务器会尽自己能力在时延约束之内计算一部分数据剩下的数据转发给mec服务器k,由于mec服务器m计算的同时不影响剩余数据的处理,剩余数据转发传输给其他服务器计算可以同时进行,所以此时可以不考虑mec服务器m的计算时间。此时mec服务器m分配给n的计算资源为m剩下的所有计算资源。un的剩余数据在mec服务器k执行的计算时间如公式(11)所示:
[0051][0052]
其中表示服务器k分配的计算资源。
[0053]
un的剩余数据在mec服务器k执行的计算能耗如公式(12)所示:
[0054][0055]
d),当没有协作mec服务器有足够的计算资源来完成用户n的剩余任务时,mec服务器会尽自己能力在时延约束之内计算一部分数据剩下的数据转发给云端服务器cloud。此时mec服务器m分配给n的计算资源为m剩下的所有计算资源。un的剩余数据在云
端服务器执行的计算时间如公式(13)所示:
[0056][0057]
其中表示云端服务器分配的计算资源。
[0058]
un的剩余数据在云端服务器执行的计算能耗如公式(14)所示:
[0059][0060]
其中k2>0是一个与云服务器cpu有关的常数。
[0061]
3)时延模型
[0062]
对于四种决策下的任务un的时延如公式(15)-(18)所示:
[0063]
a)αn=1
[0064][0065]
b)
[0066][0067]
c)
[0068][0069]
d)
[0070][0071]
任务un的总时延如公式(19)所示:
[0072][0073]
4)能耗模型
[0074]
对于四种决策下的任务un的能耗如公式(20)-(23)所示:
[0075]
a)αn=1
[0076][0077]
b)
[0078][0079]
c)
[0080][0081]
d)
[0082][0083]
任务un的总能耗如公式(24)所示:
[0084][0085]
5)能耗最小化问题
[0086]
以最小化整个系统的总能耗为目标,包括总计算和传输能耗,优化卸载决策、计算资源、信道和功率分配,数学模型(问题)p1表示如下:
[0087][0088][0089][0090][0091][0092][0093][0094][0095]
其中(25b)表示任务的卸载决策取值范围;(25c)声明任务最多卸载到一个mec服务器m上,并且最多可以与其他服务器进行一次剩余任务的协作计算。(25d)表示mec服务器m可分配的最大计算资源移;(25e)是用户n的最大传输功率约束,小于等于p
max
;(25f)和(25g)表示每个子载波最多被分配给一个用户;(25h)确保每个任务必须在延迟约束下完成。
[0096]
2.对问题p1进行分析,将问题p1转化为双层问题分别进行求解,步骤如下:
[0097]
通过对问题p1的进一步分析,我们可以发现以下两个特征,首先,不同的卸载决策结果,分配的计算资源和无线信道资源也不同,其次,分配不同的计算资源和无线信道资源,求得的最优卸载决策也不同。由于优化变量既相互影响,又可以分为两个独立的集合,因此问题p1满足双层优化问题的特点,可以将问题p1转化为双层优化问题p2。双层优化是在保证下层优化问题最优性的前提下解决上层优化问题。本发明将卸载决策问题和无线信道资源分配问题视为上层优化问题,将计算资源视为下层优化问题,其目的是最小化所有移动用户的总能耗。
[0098]
具体来说,通过对模型分析,当卸载决策,信道和功率分配后,基于任务完成时间约束(25h),所有任务必须在时间约束之内完成,同时,根据公式(19)关于的定义,可推导出计算任务un在不同决策下的计算资源最小下界如公式(26)所示:
[0099][0100]
通过分析计算模型能耗计算公式(10)、公式(12)与公式(14)可知,计算能耗与计算资源成正比,计算资源下界公式(26)即为能耗最优值,即为计算资源分配。
[0101]
因此,通过可以将问题p1转化为双层优化问题p2,如公式(27)所示:
[0102][0103]
(25b)-(25h)(27b)
[0104][0105]
然后,我们提出了一个基于深度强化学习的双层优化算法求解问题p2,上层优化和下层优化二者相互循环迭代,后者嵌套在前者中。首先上层求解卸载决策ok,功率分配pk和信道分配wk,提供给下层。在下层优化中,采用单调优化方法,根据给定的卸载决策和通信资源分配获得相应的计算资源的最优分配rk,计算得出最优能耗后反馈给上层。
[0106]
3.求解上层优化问题,基于深度强化学习求解卸载决策ok,功率分配pk和信道分配wk,提供给下层,步骤如下:
[0107]
深度强化学习方法中有三个关键要素,即状态、动作、奖励,具体定义如下:
[0108]
·
状态(st):用st表示状态,表示环境的状态空间,n∈n为当前用户,stn(n∈n)表示当前执行到第n个任务。
[0109]
·
动作(a):用a表示动作,由三部分组成,分别是卸载决策,信道选择,功率分配。卸载决策为向量卸载决策为向量表示用户n的卸载决策选择。信道选择为向量π=[ω1,...,ωn,...,ω
|n|
],ωn={ω
n,1
,...,ω
n,s
,...,ω
n,|s|
}表示用户n的信道选择,其中ω
n,s
=1表示用户n分配信道s。功率选择为向量λ=[p1,...,pn,...,p
|n|
],其中pn={p
n,1
,...,p
n,k
,...,p
n,max-1
}表示用户n的功率选择,p
n,k
=1表示根据最大传输功率p
max
离散化后的第k个等级的功率分配给用户n。结合向量π,λ
up
,系统动作为所示:a=[o1,...,on,...,o
|n|
,ω1,...,ωn,...,ω
|n|
,p1,...,pn,...,p
|n|
]。
[0110]
·
奖励(r):一般来说,奖励函数应该与目标函数相关,在一定的状态st下,执行每个可能的动作a后得到一个奖励优化问题的目标为最小化总能耗因为奖励与总能耗的大小成负相关,因此将作为回报,使得最小的能耗对应最大的回报。
[0111]
我们提出了一个基于深度强化学习的双层优化方法,结合了dueling dqn和
double dqn技术,并且在神经网络内部参数中添加了自适应噪声来提高学习效率。在上层通过动作选择,得到卸载决策ok,功率分配pk和信道分配wk后。下层根据提供的卸载决策,功率分配和信道分配,得到计算资源分配rk,计算得出系统总能耗作为奖励反馈给上层。上层得到反馈能耗后存入经验池,更新网络权重参数。
[0112]
初始化iteration=0,最大迭代代数ι,将当前状态st,即用户n及对应的任务un作为环境信息输入到评估网络,输出为动作(动作即为卸载决策,功率分配和信道分配)对应的q值,根据∈-greedy策略选择最大q值对应的动作,或者随机选择一个动作,将动作输入下层。
[0113]
4.根据上层提供的卸载决策ok,功率分配pk和信道分配wk,下层通过单调优化求解计算资源的最优分配rk,计算得出奖励(即最优能耗)后反馈给上层,步骤如下:
[0114]
通过分析计算模型能耗计算公式(10)、公式(12)与公式(14)可知,计算资源与总计算能耗之间存在严格单调递增的关系。为了尽量减少所有移动用户的总计算能耗,分配给每个任务的计算资源应尽可能少。计算资源下界公式(26)即为能耗最优值,即为计算资源分配。在得到卸载决策ok,功率分配pk和信道分配wk后,根据公式(26)可以计算得出计算资源下界作为计算资源分配,再代入公式(27)即可计算得到的系统总能耗下层计算得到计算资源分配后,得到能耗奖励和下一个状态st'(即下一个要执行的任务),反馈给上层。
[0115]
5.上层收到下层反馈,存入经验池,更新网络参数,步骤如下:
[0116]
上层收到反馈存储4元组进经验池,4元组包括当前状态st,选择的动作a,下一个状态st',和得到的奖励这4个信息。然后再将st'输入到评估网络,跳转到步骤3,直到经验池中存储φ个4元组跳转到步骤6。
[0117]
6.训练评估网络与目标网络,步骤如下:
[0118]
i)从经验池中存储的4元组抽样出一部分,将抽样出来的多个st做为batch输入到评估网络,然后根据抽样出来的动作a选出其在评估网络中对应的q值q
eval
(st,a,ω),其中ω为评估网络在添加噪声之后的的权重参数,计算公式如(28)所示:
[0119][0120]
其中,θ为评估网络的权重参数,其中σ为添加高斯噪声的噪声尺度。
[0121]
ii)将抽样出来的多个st'做为batch输入到目标网络(评估网络与目标网络具有相同的网络结构),得到动作a'的q值q'(st',a'),取q'(st',a')中最大的q值并乘以一个系数γ,然后再加上抽样出来的奖励r,得到q
tar
(st',a',ω'),基于ddqn的计算公式如(29)所示:
[0122][0123]
其中,ω'为目标网络在添加噪声之后的的权重参数,计算公式如(30)所示:
[0124]
[0125]
其中,θ'为目标网络的权重参数。
[0126]
iii)计算损失函数反向传播更新神经网络权重参数:根据两个神经网络得到的两个q值,来计算损失值,即第2步的结果q
eval
(st,a,ω)与第3步的结果q
tar
(st',a',ω')的均方误差,然后迭代次数iteration 1,计算公式如(31)所示:
[0127]
l(ω)=e[q
tar
(st',a',ω')-q
eval
(st,a,ω)]2ꢀꢀꢀ
(31)
[0128]
利用梯度下降法来反向传播对网络权重参数ω进行更新,计算公式如(32)所示:
[0129][0130]
每经过θ步数后,将评估网络的权重ω更新到目标网络ω'上;
[0131]
7.判断算法迭代次数iteration是否大于最大迭代代数i,如果iteration》i,则迭代结束,否则跳转至步骤3在新的网络参数下继续迭代;
[0132]
训练结束后,通过训练好的神经网络,输入当前任务就能得到卸载决策,信道分配,功率分配,计算资源分配。由此就可以得到当前的最优解{o
*
,r
*
,w
*
,p
*
},以及对应的最小能耗
[0133]
有益效果:
[0134]
本发明解决了一种基于深度强化学习的协作边缘计算中任务卸载和资源分配方法。有效求得在时延约束下能源消耗的最优值,从而提高用户体验和设备能量节省。
[0135]
下面结合附图对本发明作进一步的详细描述。
附图说明
[0136]
图1是本发明网络模型的示意图;
[0137]
图2是本发明双层优化方法的流程图;
[0138]
图3是本发明提出基于深度强化学习算法的流程图。
具体实施方式
[0139]
以下将结合附图和具体实施例对本发明做进一步详细说明:
[0140]
实施例1:
[0141]
本实施例中,如图1所示为协作移动边缘计算网络模型的示意图,一个云服务,3个具有mec服务器的基站和10个移动用户设备n={1,2,...,10},所有移动用户有1个任务要执行。此外,完成用户任务所需要的计算工作量cn(n∈n)为2000周期数/bit。用户的输入数据dn(n∈n)随机分布在[1000,1500]比特内,任务的时延约束为15ms。每个移动设备的cpu计算能力随机分布在[0.1,0.9]ghz内,总共有s={1,2,...,10}信道,信道带宽b为12.5khz,最大传输功率p
max
为1.3w,背景噪声δ2为-113dbm,mec服务器的cpu频率随机分布在[2.3,2.7]ghz内。mec服务器之间的x2链路容量为5mbps,mec服务器与云服务器之间的链路容量为120mbps。另外,k0为5*10-24
,k1为10-26
,k3为10-25
。并且最大迭代次数ι=300,经验池容量φ=10000,迭代θ=10次后更新目标网络权重,添加高斯噪声的噪声尺度σ=1.01。
[0142]
本发明对卸载决策、计算资源、信道分配和功率分配联合优化的目标问题是在时延约束下最小化整个系统移动用户的总能耗。根据图2所示为本发明提出的双层优化方法的流程图。步骤如下:
[0143]
s1-1初始化经验池容量为10000,初始化迭代训练次数iteration=1,初始化生成10移动用户的10个任务un,及其对应的cn,dn,和s如表1所示,
[0144]
表1各个任务的参数表
[0145][0146]
s1-2在上层,计算10个任务的卸载决策和资源分配,及其对应的能耗;
[0147]
s1-2-1从第一个任务开始选动作,得到卸载决策,信道分配和功率分配如表2所示,然后输入到下层,
[0148]
表2第一个任务的动作
[0149] o1p
1,1,3
su1β
13
=11.0351
[0150]
s1-2-2下层收到任务及其卸载决策o1,信道分配s和功率分配p
1,1,3
后,通过严格单调关系根据公式(26)获得计算资源分配r
13
,然后代入公式(24)获得能耗这样就获得了第一个任务的卸载决策,资源分配及能耗,如表3所示,然后反馈给上层,上层收到反馈后存入经验池,进行下一个任务的动作选择。
[0151]
表3第一个任务的卸载决策及资源分配
[0152][0153]
s1-2-3重复执行s1-2-1至s1-2-210次,直到获得10个任务的卸载决策和资源分配,及其对应的能耗,如表4所示,
[0154]
表4所有10个任务的卸载决策和资源分配及对应的能耗
[0155][0156]
s1-3这样,一轮迭代就完成,迭代次数iteration加1,将所有数据存入经验池,根据公式(25)计算损失函数反向传播更新神经网络权重参数对神经网络进行训练,并且每迭代θ=10次后,即iteration为10的倍数时,更新目标网络权重,在两个神经网络参数中加入高斯噪声。然后,算法在新的神经网络参数下进行新一轮的迭代训练。
[0157]
s1-4重复执行s1-2至s1-3,直到迭代次数iteration到达最大迭次代数ι=300。此时神经网络训练完成得到全局最优解,包括任务的卸载决策o
*
,信道分配w
*
,功率分配p
*
和计算资源分配r
*
及总能耗此时得到最低总能耗为0.3774焦,如表5所示
[0158]
表5全局最优解表
[0159]
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献