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

边云架构下基于深度强化学习的多目标优化卸载策略的制作方法

2021-11-09 22:11:00 来源:中国专利 TAG:


1.本发明属于物联网、移动边缘计算领域,具体设计一种边云架构下基于深度强化学习的多目标优化卸载策略。


背景技术:

2.随着互联网技术的不断发展,移动设备在现代生活中扮演着越来越重要的角色。移动设备希望运行广泛而强大的应用程序,如语音识别,图像处理,增强现实,人脸识别,车联网等等。这些应用都需要更密集的计算,更高的传输速率和更低的时延。然而,移动设备的计算能力,资源限制,电池寿命,内存容量很难满足那些消耗量大,计算量高,时延极低的应用程序。移动设备要给那些新颖的应用程序提供设备是非常具有挑战性的。虽然移动用户可以将密集型的任务发送的移动云上进行计算,以此来减轻用户的负担和解决移动设备的资源限制问题,但是通过广域网到达远程公共云不仅消耗大量的资源,也会存在数据的丢失,关键的是对于延迟敏感的任务来讲,发送任务到远程公共云上的延时是不可接受的。
3.当云计算不能够满足移动终端设备需求时,移动边缘计算(mobile edge computing、mec)作为一种新的计算平台引起了研究者的关注。相比较云计算模型,mec服务器可以实现本地业务化,可以更快地响应用户请求,节省更多地网络传输开销,从而降低服务时延。mec将计算和存储能力部署在网络边缘,更贴近设备终端,设备终端请求不需要传输到核心网而是由临近的mec服务器直接处理,显著降低了传输时延,对vr和高清视频等应用具有重要意义。由于其强大的计算能力,它可以将一些计算任务卸载在临近服务器进行。当任务执行结束交互到终端时,不需要进行额外处理,这也是在另外一个方面降低了服务时延,减少了系统消耗,提高用户体验。
4.边缘计算弥补了云计算远离用户的缺点,但是虽然边缘设备可以快速响应终端设备卸载的计算任务,但边缘设备处理能力不如云计算中心强大。将云计算和边缘计算结合,令云计算弥补动边缘计算处理能力不足的缺点,例如一些对于时延不敏感的任务可以分配到云计算中心处理。对实时性要求高的计算任务则可以在边缘计算节点上处理。因此结合边缘计算节点和云计算中心的边云架构最能适应网络的发展。现有的计算卸载要么单方面考虑时延,要么单方面考虑能耗,会造成为了显著降低一方的效益导致另一方过大的结果。为了充分利用设备资源,建立边云协同架构,联合优化时延和能耗,提高用户体验质量。


技术实现要素:

5.针对终端设备资源受限问题,本发明提出了一种面向边云架构下降低多用户任务卸载完成时间和能耗开销的卸载策略,当终端设备产生多个任务以后,任务可以选择在本地卸载、mec服务器卸载或者卸载到中心云端。发明目的是通过合理的分配服务器资源,降低系统开销,解决现有技术所存在的终端设备计算能力有限的问题,提高整体系统处理任务效率。
6.本发明提供的一种卸载策略用来确定当前任务是否需要卸载,如果需要卸载,则
寻找出当前任务最佳的卸载位置(即边缘服务器端还是云端),同时优化任务的完成时间和能耗消耗。为了实现这一目标,首先确定了边云架构,然后根据边云架构进行建模,模型包括系统模型、通信模型和计算模型,然后根据建立好的模型建立联合优化模型。根据联合优化模型,结合深度强化学习算法的优点,采用深度确定性策略梯度(deep deterministic policy gradient,ddpg)算法得到最优的卸载策略,其中,ddpg算法的使用需要根据系统模型、计算模型和联合优化模型构建一个深度强化学习模型,模型包括四个部分,状态单元,动作单元,奖惩制和q值函数。利用该ddpg算法来优化深度强化学习模型,得到最优的卸载策略,同时减少系统执行任务的整体开销。
7.下面具体介绍本发明所述方法及其实现原理。
8.步骤1.建立边云架构系统模型。
9.步骤1的边缘架构下的系统模型如图1所示。在边云架构下,自下而上的是终端设备、边缘服务器和中心云。最底端的是终端设备,总共有n个终端设备,即{1,2,..,n}。每个设备终端都有一个计算密集型任务r
n
={b
n
,d
n
,τ
max
}需要执行。b
n
代表用户的计算任务数据块大小,d
n
代表任务的工作负载(任务所需的cpu周期数),代表当前任务的最大容忍延迟。当终端设备无法处理产生的任务的时候,可以将任务卸载到中层设备,中间层为边缘层,即边缘服务器,边缘服务器集合为e={e1,e2,...,e
m
}。在整个架构中有多个基站,每个集站附近都部署一个mec服务器,每个基站所覆盖的区域内都存在多个任务进行卸载计算。当mec服务器接收到任务以后,如果当前服务器计算资源有限,也可以上传到最上层云端执行任务。边缘架构的最上层为中心云,基站的数量为多个,但是中心云的数量只有一个,云服务器通过交换机与基站进行通信。任务的卸载方式为0,1,2卸载,即a={a1,a2,...,a
n
},a
n
∈{0,1,2}代表着用户产生的任务决定卸载到哪里,a
n
=0表示终端任务选择本地执行,a
n
=1表示用户任务选择边缘服务器端进行卸载执行,a
n
=2表示选择卸载到中心云端执行该任务。
10.步骤2.根据边云架构模型,制定详细的通信模型。
11.本文在边云架构中以通信链路的方式,在各计算节点间进行任务数据的传输。当系统开始产生任务后,如果终端设备不能够满足当前任务的时延和能耗的需求,任务会通过终端设备上传至边缘服务器。令m
n
表示终端设备n与其邻近边缘服务器间的信道增益,令s
n
表示终端设备n的发送功率,则本地设备n的上传速率可定义为:
[0012][0013]
其中σ2表示噪声功耗,b表示各设备间的无线信道带宽。
[0014]
当到达边缘服务器后,任务可经传输链路传送至云服务器。令h
m,cloud
表示边缘服务器e
m
与云服务器之间的信道增益,w
m
表示边缘服务器e
m
的发送功率,则边缘服务器e
m
与云服务器之间的传输速率可定义为:
[0015][0016]
本文不考虑计算节点处理后的数据下载延时,这是因为任务处理后的数据量通常远小于任务处理前的数据量,且边缘服务器至本地设备的下载速率是远高于本地设备上传速率的。
[0017]
步骤3.根据边云架构模型,制定详细的计算模型。
[0018]
在本文中,要求每一个任务作为一个完整的任务进行卸载,要么在本地执行、要么卸载执行、要么卸载到云端执行。在本文中设置了一个表示任务的每个终端设备n所需的cpu周期的值,对于每个设备n,它是一个固定的常数。
[0019]
当设备选择在本地执行其任务,我们定义为本地执行延迟,它只包括本地cpu处理时间,本地执行时间为:
[0020][0021]
本地消耗能耗为:
[0022][0023]
其中定义代表终端设备执行任务的计算能力,即终端设备单位时间运行cpu周期数。根据场景的不同,每个用户设备的计算能力都不相同。ω
local
为移动设备在每个cpu周期中的能耗系数。
[0024]
当任务选择通过通道卸载到边缘服务器上执行,在任务传输时,会产生任务传输时延,任务的传输时延为:
[0025][0026]
传输能耗为:
[0027][0028]
其中p
n
为边缘设备执行任务时候的功率,当任务被传输到边缘服务器上以后,执行任务将会产生一个执行时延。我们假设边缘服务器一次只能执行一个任务,其他任务将等待算法做出卸载决策。因此,任务可以等待移动设备的调度,并在任务队列中进行排队,等待下一个时间段卸载。执行时延为:
[0029][0030]
执行能耗为:
[0031][0032]
其中为边缘服务器计算能力,即边缘服务器单位时间运行cpu周期数,ω
mec
为边缘服务器完成每个cpu周期数的能耗系数。则该任务在边缘服务器端进行处理的总时延为:
[0033][0034]
总能耗为:
[0035][0036]
当任务分配至云端进行执行时,该任务的传输延时为本地设备传输至边缘服务器e
m
的延时与边缘服务器e
m
传输至云服务器的延时之和,再加上任务在云端执行的延时构成该任务的总延时,计算方式为:
[0037][0038]
其中表示云服务器的计算能力,即云服务器单位时间运行cpu周期数。任务的处理能耗同样包括计算能耗和传输能耗两部分,计算方式为:
[0039]
[0040]
ω
cloud
为云服务器完成每个cpu周期数的能耗系数。最后,当任务执行完成以后,微基站需要将任务的结果发送回移动设备,由于计算结果回传时间相对于任务上传数据传输时间和执行时间是极其微小的,所以在计算模型中可以忽略不计。
[0041]
为了保证在移动设备中能耗和时延最小化,我们对能量和时延进行加权求和,命名为开销。权重λ1,λ2分别为移动设备用户决策所需计算时间和能耗的加权参数,其中0≤λ1,λ2≤1(λ1, 22=1)。在不同的场景下,根据场景需求不同设置不同的参数。
[0042]
步骤4.建立面向时延和能耗的联合优化模型。
[0043]
本次发明目标旨在用户任务卸载完成时间和能耗开销联合优化,设备n进行任务处理所消耗的总代价为:
[0044][0045]
因此,所述步骤4的联合优化模型为:
[0046][0047]
步骤5.根据上述所描述的系统模型、计算模型和联合优化模型,建立深度强化学习模型。
[0048]
建立的深度强化学习模型包括:
[0049]
(1)状态单元
[0050]
模型状态单元由两部分组成s
t
=(s
c
,c
total
),s
c
是当前系统产生的所有任务的数量。c
total
是系统的总体开销,即本地设备、mec服务器和中心云的总开销。状态单元用来反映系统在每一时刻的任务数量和系统的总体开销。
[0051]
(2)动作单元
[0052]
动作单元设定为a
t
∈{0,1,2},即为t时刻的任务卸载决策。动作单元决定每一时刻每个任务选择的卸载决策,每一个动作单元都是该任务的卸载位置。每个终端设备产生任务后,都根据任务的需求在动作单元中选择合适的卸载位置。
[0053]
(3)q值函数
[0054]
在神经网络输入端输入当前状态s
t
,神经网络会输出所有动作单元a
t
对应的q值函数q(s
t
,a
n
)。在神经网络的训练过程中,我们还会用到q值函数来更新神经网络的参数,q值函数公式为:
[0055]
q(s
t
,a
t
)=r
t
γmax q(s
t 1
,a
n
)
ꢀꢀꢀꢀ
(15)
[0056]
其中γ为折扣因子。ddpg算法的目标是找到合适的卸载策略a
t
,减少系统执行所有任务的开销,所以a
t
的选择定义为:
[0057]
a
t
=argmax(q(s
t
,a
n
))
ꢀꢀꢀ
(16)
[0058]
a
t
的选择即为选取q值函数中最大值的动作a
n
,同时得到在s
t
状态下,选择动作a
t
所对应的奖惩值r
t

[0059]
(4)奖惩值
[0060]
系统根据奖惩值得好坏决定执行的下一个动作,奖惩值大,说明该动作为是好的动作(即当前的卸载位置为较优的卸载位置),在下一次的动作a
t 1
选择中,该动作被选择的概率将会增加,因为奖惩值越大,该动作对应的q值函数也会随之增大,因此选择该动作的
概率会增加。系统优化目标是最小化开销,而深度强化学习的目标是最大化奖惩值。因此,我们设置的奖惩值应该与优化目标函数负相关。这里,我们将奖惩值定义为:
[0061][0062]
其中即当前所有任务全部在本地执行的总开销。
[0063]
步骤6.利用深度确定性策略梯度算法优化深度强化学习模型,得到最优的卸载策略和系统总开销。具体为:每一个执行者在当前状态s
t
下按照深度确定性策略梯度算法进行动作选择a
t
,选择卸载到本地、边缘服务器或者是中心云端执行。每一个执行者选择完成后,计算系统总开销,更新当前状态s
t
并进入下一个执行者的选择,同时得到当前状态返回的奖惩值r
t
。在动作单元、状态单元和奖惩值不断的交互下,卸载策略将不断被优化直到被更新到最优,得到最优的卸载策略同时最小化系统整体时延和能耗。
[0064]
有益效果
[0065]
与现有技术相比,本发明具有以下优点:
[0066]
1.本发明为了充分考虑移动终端设备、边缘服务器和中心云服务器的计算资源,设计了边云协同的模型,通过边缘服务器和中心云服务器的协同合作,提高整体架构的性能。
[0067]
2.本发明考虑了中心云和边缘服务器的资源有限性,通过模型中排队时延的设定,以联合优化最小时延和最小能耗为目标,建立基于任务卸载优化模型。
[0068]
3.在本发明中,由于优化问题为非凸问题,提出了一种基于深度强化学习的优化算法,并得到较优的结果。
附图说明
[0069]
图1为边云协同模型示意图;
[0070]
图2为计算卸载方法步骤;
[0071]
图3为系统整体开销图。
[0072]
具体实施方法
[0073]
为使本发明的目的,技术方案和优点更加清楚明白,下文中将结合附图和实例对本发明的实施例进行详细说明。
[0074]
本发明设计一种边云架构下基于深度强化学习的多目标优化卸载策略。在边云协同架构下,终端设备可以将部分计算任务卸载到边缘服务器或者中心云执行,计算所需参数由终端设备提供。选择卸载到边缘服务器或者中心云执行的任务计算过程由边缘服务器或者中心云执行,得知结果后再由边缘服务器或者中心云返回到终端设备。
[0075]
具体步骤如下:
[0076]
步骤1:根据边云协同架构,首先建立系统模型,通信模型,初始化参数,获得各个设备信息。
[0077]
本实施例中,整个系统模型自上而下为一个中心云、多个边缘服务器和多个移动设备。边缘服务器部署在基站上,每个基站的覆盖范围内有n个终端设备,终端设备集合为n,即{1,2,..,n}。假设每一个用户都会产生一个任务需要执行,每个任务用r
n
={b
n
,d
n
,τ
max
}来表示,b
n
代表用户的计算任务数据块大小,d
n
代表任务的工作负载(任务所需的cpu周
期数),τ
max
表示用户可以接受的最大延迟。任务的卸载方式为0,1,2卸载,即a={a1,a2,...,a
n
},a
n
∈{0,1,2}代表着用户产生的任务决定卸载到哪里,a
n
=0表示终端任务选择本地执行,a
n
=1表示用户任务选择边缘服务器端进行卸载执行,a
n
=2表示选择卸载到中心云端执行该任务。
[0078]
本地设备n上传边缘服务器的通信模型可定义为:其中σ2表示噪声功耗,b表示各设备间的无线信道带宽。边缘服务器e
m
与云服务器之间的通信模型可定义为:其中h
m,cloud
表示边缘服务器e
m
与云服务器之间的信道增益,w
m
表示边缘服务器e
m
的发送功率。
[0079]
步骤2:根据边云架构模型,制定计算模型。
[0080]
在本实施例中,任务本地执行的时延为其中代表每一个终端设备单位时间运行cpu周期数。本地消耗能耗为其中ω
local
为移动设备在每个cpu周期中的能耗系数。当任务选择通过通道卸载到边缘服务器上执行,在任务传输时,会产生任务传输时延,任务的传输时延为传输能耗为p
n
为边缘设备执行任务时候的功率。当任务被传输到边缘服务器上以后,执行任务将会产生一个执行时延。执行时延为执行能耗为其中为边缘服务器单位时间运行cpu周期数,ω
mec
为边缘服务器完成每个cpu周期数的能耗系数。则该任务在边缘服务器端进行处理的总时延为总能耗为
[0081]
当任务分配至云端进行执行时,该任务的传输延时为本地设备传输至边缘服务器e
m
的延时与边缘服务器e
m
传输至云服务器的延时之和,再加上任务在云端执行的延时构成该任务的总延时,计算方式为其中表示云服务器单位时间运行cpu周期数。任务n的处理能耗同样包括计算能耗和传输能耗两部分,计算方式为ω
cloud
为云服务器完成每个cpu周期数的能耗系数。
[0082]
步骤3:建立面向时延和能耗的联合优化模型。
[0083]
在本实施例中,本次发明目标旨在用户任务卸载完成时间和能耗开销联合优化,设备i进行任务处理所消耗的总代价为:联合优化模型为:
[0084]
步骤四:采用度确定性策略梯度优化算法来求解原模型中的优化问题。
[0085]
利用ddpg算法优化深度强化学习模型具体包括如下几个步骤:
[0086]
s1:初始化当前系统状态s
t
=(s
c
,c
total
),其中s
c
设定为50(所有任务的数量),c
total
初始化为0,迭代次数k为1,经验回放池大小初始化为20000;
[0087]
s2:迭代k次中时间步t的初始化为1;
[0088]
s3:在神经网络输入端输入当前状态s
t
,神经网络会输出所有动作单元a
n
对应的q值函数,选取q值函数中最大值的动作a
n
,也就是当前任务的卸载位置a
t
∈{0,1,2},同时得到在s
t
状态下,选择动作a
t
所对应的奖惩值r
t
,同时转换到下一个状态s
t 1
,下一个状态s
t 1
中s
c
更新为s
c

1,c
total
更新为c
total
cost
n
,cost
n
为执行当前任务n的开销。从而获得训练数据(s
t
,a
t
,r
t
,s
t 1
);
[0089]
s4:将训练数据(s
t
,a
t
,r
t
,s
t 1
)放入经验回放池中;
[0090]
s5:神经网络通过更新参数不断的最大化奖惩值r
t

[0091]
s6:不断的从经验回放池中随机抽取训练数据,不断的学习,使得奖惩值r
t
尽可能的最大化。
[0092]
s7:判断是否满足t<t,t为一次迭代k中总时间步,若是,t=t 1,进入s3,若不是,进入s8;
[0093]
s8:判断k<k,k为迭代次数最大值,若是,k=k 1,进入s2,若不是,迭代结束,状态单元中系统整体开销c
loacl
趋于稳定,整个学习过程结束,得到最后一轮迭代时动作单元中的所有任务的动作a
t
,即所有任务的最优卸载位置。同时得到状态单元中的c
loacl
,即为所有任务根据算法决策卸载执行结束时的系统总开销。
[0094]
在本实施例中,因考虑的是联合卸载时间和能耗,所以设置奖惩值时主要考虑这两个变量,然后代入优化算法中进行迭代优化,直到结果收敛到最优解为止。具体步骤参照上述的详细说明。
[0095]
通过图3可以得出,本发明能得到更优的效果,在迭代过程中,时延和能耗之和越来越低,也能快速达到收敛效果。
再多了解一些

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

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

相关文献