一种基于优先级和强化学习的云边端协作计算卸载方法
未命名
10-19
阅读:121
评论:0
1.本发明属于计算机应用技术领域,具体涉及一种基于优先级和强化学习的云边端协作计算卸载方法。
背景技术:
2.随着移动通信和物联网(iot)的快速发展,各种iot设备数量显著增加,大量计算密集型任务迅速涌现,也对iot设备的数据计算能力和电池寿命提出了更高的要求。然而,由于大多数iot设备电池寿命的限制,受限的计算资源无法满足日益复杂的应用需求。目前,云计算范式和边缘计算范式都可以作为该问题的解决方案。对于计算密集型的任务而言,将任务卸载至云服务器可以减少用户设备的负担,但云端数据中心通常情况下在地理位置上远离用户设备,由此导致iot设备和云端数据中心之间产生较高的通信延迟,这对于许多资源密集型、时延敏感型的iot应用而言往往是不可接受的;在边缘计算中,计算资源被部署到距离设备较近的位置,如智能网关、接入点和基站等。区别于云计算,iot设备上传的一些所需计算量较小的任务可以直接在边缘节点处理,能够显著减少通信延迟和网络的带宽需求。然而边缘服务器节点的计算能力是有限的,当大量的任务同时被卸载至边缘服务器,或iot设备的任务需要更多计算资源时,边缘服务器将难以满足这些复杂的应用需求。
3.由于这些单一的云计算或边缘计算无法解决所有卸载问题,结合云计算中计算资源丰富的特点和边缘计算中通信成本低、响应时间短、网络适应性强的优势,联合考虑云和边缘计算的异构性构建云-边-端协作计算架构可以作为一种可行的解决方案,它可以提供比单独的云计算或边缘计算更好的计算性能和传输性能。在目前已有研究中,一部分工作没有考虑现实场景中任务的复杂性,在执行卸载时只将每个计算任务视为不可分割的整体,并没有考虑到计算任务之间的依赖性,例如文献“wu h,wolter k,jiao p,et al.eedto:an energy-efficient dynamic task offloading algorithm for blockchain-enabled iot-edge-cloud orchestrated computing[j].ieee internet of things journal,2020,8(4):2163-2176.”。一部分工作考虑了任务之间的依赖关系,但他们的工作通常只在两层卸载架构(云-边架构或边缘端架构等)中执行,而未考虑到云-边-端协作场景,或未考虑到随机依赖关系,例如文献“an x,fan r,hu h,et al.joint task offloading and resource allocation for iot edge computing with sequential task dependency[j].ieee internet of things journal,2022.”。由于计算子任务之间通信成本的复杂性等因素,在云-边-端架构中进行卸载决策是具有挑战性的。
技术实现要素:
[0004]
针对现有技术的不足,本发明提出一种基于优先级和强化学习的云边端协作计算卸载方法。该方法考虑在三层的云-边-端协同架构下进行计算卸载策略的决策。该系统存在多个iot设备,多个边缘服务器以及一个远程云服务器,且每个iot设备上会执行一个由
多个存在任务依赖的子任务构成的应用。在该场景下,每个子任务仅能在本地计算、卸载至边缘服务器进行计算和卸载至云服务器三者中选择其一。为了得到该场景下的计算卸载策略,我们采用了一种基于任务优先级和深度强化学习的计算卸载策略算法,目标是在动态环境下对子任务进行调度,优化所有设备的平均时延和平均能耗,以达到系统的收益最大化。
[0005]
本发明的目的至少通过如下技术方案之一实现。
[0006]
一种基于优先级和强化学习的云边端协作计算卸载方法,包括以下步骤:
[0007]
s1、系统模型构建:建立拥有多个iot设备、多个边缘服务器和一个云数据中心的云-边-端协作系统模型,包括任务依赖模型、任务优先级队列模型、通信模型和计算模型;
[0008]
s2、问题公式化:构建任务卸载决策的优化目标及其相应的约束条件;
[0009]
s3、计算卸载:根据任务信息计算优先级队列,使用强化学习方法获取任务卸载策略,实现云边端协作的卸载调度。
[0010]
进一步地,步骤s1中,云-边-端协作系统模型中包括u个iot设备、配备有n核服务器的m个边缘节点即边缘服务器,和一个远程云服务器c;每个iot设备都有一个应用需要执行,该应用由k个相互依赖的子任务构成;每个iot设备通过无线链路连接到该iot设备可访问的边缘服务器,边缘服务器通过有线链路连接到远程云服务器c;
[0011]
定义为第u个iot设备上运行的应用完成的截止时间,u=1~u,对于第u个iot设备上运行的应用中包括的第k个子任务j
u,k
,子任务属性j
u,k
可写作:
[0012][0013]
其中,k表示每个子任务的索引,k的取值为1~k;ω
u,k
为该运行该子任务所需的计算资源,即计算每比特任务所需要的cpu周期,ω
u,k
取决于任务的计算复杂度;d
u,k
为该子任务的数据大小;为该子任务完成的截止时间。
[0014]
进一步地,步骤s1中,云-边-端协作系统模型中的任务依赖模型具体如下:
[0015]
考虑将第u个iot设备上运行的应用拆分为k个子任务,其任务依赖关系可以使用有向无环图dag进行表示,即gu=(vu,eu),其中),其中表示为包括每一个子任务的节点集合;eu={e(j
u,i
,j
u,j
)|j
u,i
≠j
u,j
}表示为任务间数据依赖的边集合,即有向边e(j
u,i
,j
u,j
)描述了任意两个子任务节点j
u,i
和j
u,j
之间的优先约束,要求子任务j
u,i
的直接前驱任务j
u,j
未完成时,子任务j
u,j
不能开始执行;
[0016]
记第u个iot设备上运行的应用中包括的第k个子任务j
u,k
的直接前驱任务集合为pre(j
u,k
),直接后继任务集合为suc(j
u,k
),终止节点为j
u,k
;定义没有直接前驱任务的任务节点为起始任务节点,没有直接后继任务的任务节点为终止任务节点;起始节点可以有多个,应用可以并行执行这些任务;终止节点只能有一个,表示应用的完成节点。
[0017]
为了表达任务依赖关系,定义在第u个iot设备上运行应用的开始时间为stu,第u个iot设备上运行的应用中包括的第k个子任务j
u,k
可以开始执行的时刻为子任务的准备时间rt
u,k
,子任务j
u,k
运行结束的时刻为完成时间ft
u,k
;根据任务依赖关系,可以得到子任务的准备时间rt
u,k
如下:
[0018][0019]
进一步地,步骤s1中,云-边-端协作系统模型中的任务优先级队列模型具体如下:
[0020]
为了保证任务依赖关系,定义最迟完成时间lct和最迟执行时间let;其中第u个iot设备上运行的应用中包括的第k个子任务的最迟完成时间lct
u,k
代表该任务最迟需要在lct时刻完成,通过下式计算:
[0021][0022]
其中,为第u个iot设备上运行应用的截止时间,为第u个iot设备上运行子任务j
u,k
的截止时间,为子任务在采用卸载位置l时不考虑排队时间的时延;最迟完成时间lct
u,k
可以递归地从终止节点开始计算;
[0023]
基于lct
u,k
,定义第u个iot设备上运行的应用中包括的第k个子任务的最迟执行时间let
u,k
,即任务最迟应在let
u,k
时刻执行,let
u,k
表明了当前子任务的紧急程度,即该子任务的优先级顺序;let
u,k
通过下式计算:
[0024][0025]
将let
u,k
升序排列可以得到所有子任务调度的任务优先级队列q;该优先级队列q保证了任务依赖的子任务之间的调度顺序。
[0026]
进一步地,步骤s1中,云-边-端协作系统模型中的通信模型考虑iot设备通过无线信道上传至边缘服务器的速率,根据香农公式,可以得到第u个iot设备卸载子任务至第m个边缘服务器的传输速率m=1~m,具体如下:
[0027][0028]
其中,b
u,m
为第u个iot设备到第m个边缘服务器的信道带宽,为第u个iot设备的发送功率,l
u,m
为第u个iot设备u与第m个边缘服务器之间的距离,l0为参考距离,μ为路径损耗指数,h为路径损耗常数,σ2为加性高斯白信道噪声的方差。
[0029]
进一步地,步骤s1中,云-边-端协作系统模型中的计算模型包括本地计算模型、边缘计算模型和云计算模型,具体如下:
[0030]
本地计算即不进行卸载,直接在iot设备上处理子任务;在本地计算模型中,定义为第u个iot设备的计算能力,因此子任务j
u,k
的执行时间表示为:
[0031]
[0032]
由于计算资源的限制,假设iot设备在任意时间内只能处理一个子任务;记为子任务j
u,k
在第u个iot设备上的最早可执行时间,为子任务j
u,k
在第u个iot设备上的最早可用时间,则子任务j
u,k
在第u个iot设备上的最早可执行时间为:
[0033][0034]
相应的本地完成时间表示为:
[0035][0036]
每一个计算周期的能耗被定义为ε=κf2,其中κ为能量因子,取决于芯片架构,一般取10-27
;因此本地计算相对应的能量消耗可以表示为:
[0037][0038]
在边缘计算模型中,对于卸载至边缘服务器上计算的子任务,子任务j
u,k
的处理依次包括两个阶段:
[0039]
iii.传输阶段,子任务从iot设备经过无线上行链路信道发送至边缘服务器。由于信道容量有限,子任务可能需要等待信道空闲时才能够上传,且上传的数据具有一定大小,数据的传输过程也会产生时延;
[0040]
iv.计算阶段,子任务上传至边缘服务器后,边缘服务器的计算资源可能被占用,此时需要在队列中等待,并在边缘服务器上完成计算;
[0041]
对于传输阶段,定义at
u,k
为第u个iot设备上运行的应用中包括的第k个子任务j
u,k
的信道最早可用时间,即该时刻为信道最早空闲的时间,此时可以将任务经过无线信道发送至边缘服务器;定义est
u,k
为子任务j
u,k
的最早可发送时间,即iot设备可以将子任务j
u,k
通过无线信道发送至边缘服务器的最早时间,est
u,k
取决于信道是否空闲;子任务的最早可发送时间为:
[0042][0043]
其中,为子任务j
u,k
传输至第m个边缘服务器的信道最早可用时间;
[0044]
定义任务最早到达时间eat
u,k
为子任务j
u,k
最早到达至对应边缘服务器的时间,其计算公式如下:
[0045][0046]
其中,为子任务j
u,k
从第u个iot设备传输至第m个边缘服务器的信道传输时间,计算公式如下:
[0047][0048]
对于第二阶段,定义qt
u,k,m
为子任务j
u,k
在第m个边缘服务器上的等待时间,为第m个边缘服务器的第n个核的计算能力,n=1~n;子任务j
u,k
在第m个边缘服务器的第n
个核上执行所需的执行时间如下:
[0049][0050]
相应的子任务j
u,k
在第m个边缘服务器的第n核上的完成时间为:
[0051][0052]
定义第u个iot设备空闲时的运行功率为则子任务j
u,k
在第m个边缘服务器上的边缘端执行能耗为:
[0053][0054]
其中,为第u个iot设备的发送功率,为iot设备除了将卸载至第m个边缘服务器的子任务j
u,k
上传以外的空闲时间,即包括子任务j
u,k
等待信道空闲的时间、子任务j
u,k
在边缘端排队的时间和子任务j
u,k
在边缘端执行的时间;
[0055]
在云计算模型中,iot设备将任务上传至云端同样需要先将数据传输至边缘端,该过程会经历以下两个阶段:
[0056]
iii.上传阶段,子任务从iot设备经过无线上行链路信道发送至边缘服务器,再由边缘服务器转发至云服务器;由于信道容量有限,且上传的数据具有一定大小,数据的传输过程会产生时延;
[0057]
iv.云服务器计算阶段,云服务器接收到子任务后,将立即对子任务进行计算,因此该阶段的延迟为子任务在云服务器的计算延迟;
[0058]
对于边缘服务器上传至云服务器,记边缘服务器与云服务器之间的有线传输速率为r
ec
,则可以得到子任务j
u,k
从边缘端传输至云端的时间为:
[0059][0060]
对于第二阶段,记f
cloud
为云服务器的计算能力,则子任务j
u,k
在云服务器上的执行时间为:
[0061][0062]
综上,子任务j
u,k
经过第m个边缘服务器上传并在云服务器端的完成时间为:
[0063][0064]
子任务j
u,k
经过第m个边缘服务器上传并云服务器端进行计算的能耗可以通过下式计算:
[0065][0066]
其中,为iot设备除了将经第m个边缘服务器中转的子任务j
u,k
上传以外的空闲时间,即包括子任务j
u,k
等待信道空闲的时间、子任务j
u,k
由边缘端传输至云端以及子任务j
u,k
在云端执行的时间。
[0067]
进一步地,步骤s2中,所述任务卸载决策的优化目标及其相应的约束条件如下:
[0068]
定义对于每一个子任务j
u,k
,都有相应的卸载策略o
u,k
,
[0069]
其中,x
u,k
表示本地执行,表示子任务j
u,k
卸载至边缘服务器,表示子任务j
u,k
由边缘服务器中转后卸载至云服务器,满足以下约束:
[0070][0071][0072]
其中,公式(20)、公式(21)表示每次在三个卸载策略中只能选择其中一个,且若选择卸载/中转至边缘服务器,只能选择其中一个边缘服务器进行卸载/中转;
[0073]
根据公式(8)、公式(14)、公式(18)得到第u个iot设备执行应用的时延为:
[0074]
tu=ft
u,k-stu#(22)
[0075]
根据公式(9)、公式(15)、公式(19)得到第u个iot设备执行应用总能耗为:
[0076][0077]
将时间序列划分为个时隙,满足在任一时隙τ内,假设任一任务占用的带宽大小不变;记为时隙τ内第u个iot设备执行第k个子任务占用的带宽,在任一时隙τ内,所有任务占用的总带宽不超过给定的带宽上限b
max
:
[0078][0079]
记为时隙τ内边缘服务器m核心的占用情况;在任一时隙τ,任何边缘服务器上同时执行的任务不超过其核心数,即任何边缘服务器上被占用的核心都不能超过其核心数量上限:
[0080][0081]
目标是在满足卸载策略的约束、任务依赖关系和资源约束关系下优化任务卸载决策,以最小化系统中所有iot设备的平均能耗和平均时延。
[0082]
进一步地,系统整体的卸载策略定义为γ=[o
1,1
,o
1,2
,
…
,o
u,k
],该优化问题模型
公式化如下:
[0083][0084][0085][0086][0087][0088][0089][0090][0091]
其中,公式(20)-(21)表示每一个子任务卸载策略的约束,即每个子任务只能在本地计算、卸载至边缘计算和卸载至云端计算三者中选择其一,且选择卸载至边缘端或云端时,仅能选择其中一个边缘服务器进行卸载或中转;约束c1表示任何设备的任何子任务的执行必须在其限定的最大截止时间内完成;公式(2)表示了任务依赖关系的约束,即子任务j
u,k
只有在其所有前驱任务完成时才能开始执行。公式(24)-(25)表示在任意时隙,信道占用不能超过其信道大小限制,且任何边缘服务器上运行的任务个数都不能超过其配备的核心个数。
[0092]
进一步地,步骤s3中,根据任务信息计算优先级队列,使用强化学习方法获取任务卸载策略,实现云边端协作的卸载调度,具体如下:
[0093]
首先根据步骤s2中的优化问题模型,确定状态空间、动作空间和奖励函数;设任务优先级队列中子任务的决策步为t={1,2,
…
,t,
…
,u*k},状态空间设置为其中j
t
表示决策步t时应处理的子任务的固有属性,包括每比特所需计算量、数据大小和子任务的截止时间;f表示为本地设备、边缘服务器和云服务器的计算资源集合;l
t
表示决策步t时应处理的子任务对应的iot设备与所有基站之间的距离;表示决策步t时信道的排队情况和剩余带宽数;表示决策步t时边缘服务器上排队执行的任务个数和边缘服务器上剩余资源的情况;动作空间设置为
其中a
t
=0表示决策步t时应处理的子任务在本地执行,a
t
∈{1,
…
,m,
…
,m}表示决策步t时应处理的子任务卸载至边缘服务器m执行,a
t
∈{m+1,
…
,m+v,
…
,2m}表示决策步t时应处理的子任务经第v个边缘服务器中转后,上传至云服务器上执行;
[0094]
记we表示能耗权重,wd表示时延权重,奖励函数设置为:
[0095][0096]
其中,t
t
,e
t
分别表示在决策步t时应处理的子任务采取动作a
t
之后的时延与能耗,分别表示在决策步t时应处理的子任务在采取本地计算的时延和能耗。
[0097]
进一步地,对于每一个决策步t,智能体从环境中获得当前决策步t的环境状态s
t
,并从动作空间a中根据策略π(a
t
|s
t
)选择一个动作a
t
,其中策略π(a
t
|s
t
)是智能体得到环境状态s
t
时选择动作a
t
的概率;之后,环境会根据状态转移概率p(s
t+1
|s
t
,a
t
)进入下一个状态s
t+1
,并根据奖励函数r(s
t
,a
t
)给智能体返回一个奖励r
t
;根据上述过程,智能体的一轮训练过程如下:
[0098]
s3.1、重置环境,得到初始系统状态s0,设置当前决策步t=0,并初始化优先级队列q;
[0099]
s3.2、根据公式(3)-(4),计算每个子任务j
u,k
的lct
u,k
和let
u,k
,并将每个子任务j
u,k
的let
u,k
升序排序,放入优先级队列中;
[0100]
s3.3、从优先级队列q中选择最高优先级的子任务j
u,k
;
[0101]
s3.4、收集当前决策步t的子任务状态和系统状态作为当前状态s
t
,并从环境中得到用于屏蔽不可用动作的mask
t
;
[0102]
s3.5、使用mask
t
计算策略π
θ
并选择动作a
t
;
[0103]
s3.6、在环境中执行动作a
t
,获得即时奖励r(s
t
,a
t
)和下一状态s
t+1
;
[0104]
s3.7、存储(s
t
,a
t
,r
t
,s
t+1
)至缓存d;
[0105]
s3.8、判断优先级队列是否为空;若优先级队列为空,则根据下式计算优势
[0106]
估计
[0107][0108]
执行步骤s3.9;否则,决策步t=t+1,返回步骤s3.3;
[0109]
s3.9、重复以下步骤k次:从缓存d中随机选择大小为s的小批量样本进行学习,并更新网络参数θ;
[0110]
s3.10、清空缓存d,一轮训练过程结束。
[0111]
与现有技术相比,本发明具有如下的优点与技术效果:
[0112]
1、在建立系统模型中,考虑到在云-边-端协作架构下设备运行应用存在任务依赖关系的场景,并使用有向无环图来建模这些任务依赖关系。相比于现有技术,该方法能够在依赖关系及资源受限的条件下进行有效的调度与获取任务卸载策略。
[0113]
2、在构建任务卸载决策的优化函数及其相应的约束条件中,考虑到iot设备和多核边缘服务器的资源约束,应用的任务依赖性约束,以及物联网设备处于基站的重叠区域
的情况,在优化目标上对所有iot设备的平均能耗与平均时延进行了权衡优化。
[0114]
3、本发明可以在具有任务依赖性的云-边-端协作场景中,通过基于任务优先级和深度强化学习的卸载调度算法,实现所有iot设备的平均能耗和平均延迟最小化。
附图说明
[0115]
图1为本发明具体实施中多个iot设备、多个边缘服务器和一个远程云计算中心的云-边-端协同系统模型示意图。
[0116]
图2为本发明具体实施中任务依赖模型的示意图。
[0117]
图3为本发明具体实施中智能体与环境交互示意图。
[0118]
图4为本发明实施例提供的基于优先级和强化学习的云边端协作计算卸载方法的收敛性分析图。
[0119]
图5为本发明实施例提供的基于优先级和强化学习的云边端协作计算卸载方法在不同子任务数下平均能量消耗示意图。
[0120]
图6为本发明实施例提供的基于优先级和强化学习的云边端协作计算卸载方法在不同子任务数下平均时延示意图。
具体实施方式
[0121]
为了使本发明的技术方案及优点更加清楚明白,以下结合附图,进行进一步的详细说明,但本发明的实施和保护不限于此。
[0122]
实施例:
[0123]
一种基于优先级和强化学习的云边端协作计算卸载方法,包括以下步骤:
[0124]
s1:系统模型构建:建立拥有多个iot设备、多个边缘服务器和一个云数据中心的云-边-端协作系统模型,包括任务依赖模型、任务优先级队列模型、通信模型和计算模型;
[0125]
如图1所示,步骤s1中,考虑云-边-端协同系统模型中包括u个iot设备、配备有n核服务器的m个边缘节点,和一个远程云服务器c;每个iot设备都有一个应用需要执行,该应用由k个相互依赖的子任务构成;每个iot设备通过无线链路连接到该iot设备可访问的边缘服务器,边缘服务器通过有线链路连接到远程云服务器。
[0126]
对于iot设备u上运行的应用,定义为该应用完成的截止时间,对于第u个iot设备上运行的应用中包括的第k个子任务j
u,k
,子任务属性j
u,k
可写作:
[0127][0128]
其中,k表示每个子任务的索引,k的取值为1~k;ω
u,k
为该运行该子任务所需的计算资源,即计算每比特任务所需要的cpu周期,它取决于任务的计算复杂度;d
u,k
为该子任务的数据大小;为该子任务完成的截止时间。
[0129]
所述系统模型构建中的任务依赖模型考虑将用户设备u上运行的应用拆分为k个子任务,如图2所示,其任务依赖关系可以使用有向无环图dag进行表示,即gu=(vu,eu),其中表示为包含每一个子任务的节点集合;eu={e(j
u,i
,j
u,j
)|j
u,i
≠j
u,j
}表示为任务间数据依赖的边集合,即有向边e(j
u,i
,j
u,j
)描述了任意两个子任务节点j
u,i
和j
u,j
之间的优先约束,要求子任务j
u,i
的直接前驱任务j
u,j
未完成时,子任务j
u,j
不
能开始执行。记子任务j
u,k
的直接前驱任务集合为pre(j
u,k
),直接后继任务集合为suc(j
u,k
),终止节点为j
u,k
。定义没有直接前驱任务的任务节点为起始任务节点,没有直接后继任务的任务节点为终止任务节点。起始节点可以有多个,应用可以并行执行这些任务;终止节点只能有一个,表示应用的完成节点。
[0130]
为了在任务优先级模型中表达任务依赖关系,定义在用户设备u上运行应用的开始时间为stu,子任务j
u,k
可以开始执行的时刻为子任务的准备时间rt
u,k
,子任务j
u,k
运行结束的时刻为完成时间ft
u,k
。根据任务依赖关系,可以得到子任务的准备时间rt
u,k
如下:
[0131][0132]
所述系统模型构建中的任务优先级队列模型具体如下:
[0133]
为了保证任务依赖关系,定义最迟完成时间lct和最迟执行时间let。其中最迟完成时间lct代表该任务最迟需要在lct时刻完成,通过下式计算:
[0134][0135]
其中为子任务在采用卸载位置l时不考虑排队时间的时延。最迟完成时间lct可以递归地从终止节点开始计算。
[0136]
基于lct,定义最迟执行时间let,即任务最迟应在let时刻执行,它表明了当前子任务的紧急程度,即该子任务的优先级顺序。let通过下式计算:
[0137][0138]
将let
u,k
升序排列可以得到所有子任务调度的任务优先级队列q。该优先级队列q保证了任务依赖的子任务之间的调度顺序。
[0139]
进一步地,步骤s1中,所述系统模型构建中的通信模型考虑iot设备通过无线信道上传至边缘服务器的速率,根据香农公式,可以得到设备u卸载子任务至边缘服务器m的传输速率为:
[0140][0141]
其中b
u,m
为用户设备u到边缘服务器m的信道带宽,为用户设备的发送功率,l
u,m
为用户设备u与边缘服务器m之间的距离,l0为参考距离,μ为路径损耗指数,h为路径损耗常数,σ2为加性高斯白信道噪声的方差。
[0142]
所述系统模型构建中的计算模型包括本地计算模型、边缘计算模型和云计算模型,具体如下:
[0143]
(1)本地计算模型:本地计算即在iot设备上处理子任务。定义为本地设备u
的计算能力,因此子任务j
u,k
的执行时间表示为:
[0144][0145]
由于计算资源的限制,我们假设用户设备在任意时间内只能处理一个子任务。记为子任务j
u,k
在本地设备上的最早可执行时间,为用户设备上的最早可用时间,则本地设备最早可执行时间为:
[0146][0147]
相应的本地完成时间表示为:
[0148][0149]
每一个计算周期的能耗被定义为ε=κf2,其中κ为能量因子,取决于芯片架构,一般取10-27
;因此本地计算相对应的能量消耗可以表示为:
[0150][0151]
(2)边缘计算模型:对于卸载至边缘服务器上计算的子任务,子任务j
u,k
的处理依次包括两个阶段:
[0152]
i.传输阶段,任务从iot设备经过无线上行链路信道发送至边缘服务器。由于信道容量有限,任务可能需要等待信道空闲时才能够上传,且上传的数据具有一定大小,数据的传输过程也会产生时延;
[0153]
ii.计算阶段,任务上传至边缘服务器后,边缘服务器的计算资源可能被占用,此时需要在队列中等待,并在边缘服务器上完成计算。
[0154]
对于传输阶段,定义at
u,k
为第u个iot设备上处理第k个子任务j
u,k
的信道最早可用时间,即该时刻为信道最早空闲的时间,此时可以将任务经过无线信道发送至边缘服务器;定义est
u,k
为子任务的最早可发送时间,即iot设备可以将子任务通过无线信道发送至边缘服务器的最早时间,它取决于信道是否空闲。子任务的最早可发送时间为:
[0155][0156]
其中为子任务j
u,k
传输至第m个边缘服务器的信道最早可用时间。
[0157]
定义任务最早到达时间eat
u,k
为任务最早到达至对应边缘服务器的时间,其计算公式如下:
[0158][0159]
其中为在信道传输的时间,计算公式如下:
[0160][0161]
对于第二阶段,定义qt
u,k,m
为子任务j
u,k
在边缘服务器m上的等待时间,为第m个边缘服务器的第n个核的计算能力。任务在边缘服务器m的第n个核上执行所需的执行时间如下:
[0162][0163]
相应的子任务的完成时间为:
[0164][0165]
定义用户设备空闲时的运行功率为则边缘端执行能耗为:
[0166][0167]
其中为第u个iot设备的发送功率,为iot设备除了将卸载至第m个边缘服务器的子任务j
u,k
上传以外的空闲时间,即包括子任务j
u,k
等待信道空闲的时间、子任务j
u,k
在边缘端排队的时间和子任务j
u,k
在边缘端执行的时间。
[0168]
(3)云计算模型:iot设备将任务上传至云端同样需要先将数据传输至边缘端,该过程会经历以下两个阶段:
[0169]
i.上传阶段,子任务从iot设备经过无线上行链路信道发送至边缘服务器,再由边缘服务器转发至云服务器。由于信道容量有限,且上传的数据具有一定大小,数据的传输过程会产生时延。
[0170]
ii.云服务器计算阶段,云服务器接收到任务后,将立即对其进行计算,因此该阶段的延迟为任务在云服务器的计算延迟。
[0171]
对于边缘服务器上传至云服务器,记边缘服务器与云服务器之间的有线传输速率为r
ec
,则可以得到任务从边缘端传输至云端的时间为:
[0172][0173]
对于第二阶段,记为云服务器的计算能力,则子任务在云服务器上的执行时间为:
[0174][0175]
综上,任务在云服务器端的完成时间为:
[0176][0177]
云端的能耗可以通过下式计算:
[0178][0179]
其中为iot设备除了将经第m个边缘服务器中转的子任务j
u,k
上传以外的空闲时间,即包括子任务j
u,k
等待信道空闲的时间、子任务j
u,k
由边缘端传输至云端以及子任务j
u,k
在云端执行的时间。
[0180]
s2:问题公式化:构建任务卸载决策的优化函数及其相应的约束条件;
[0181]
所述问题公式化中的优化目标与约束条件如下:
[0182]
定义对于每一个子任务j
u,k
,都有相应的卸载策略:其中x
u,k
表示本地执行,表示卸载至边缘服务器表示由边缘服务器m中转后卸载至云服务器,满足以下约束:
[0183][0184][0185]
公式(20)、公式(21)表示每次在三个卸载策略中只能选择其中一个,且若选择卸载/中转至边缘服务器,只能选择其中一个边缘服务器进行卸载/中转。
[0186]
根据公式(8)、公式(14)、公式(18)得到用户u执行应用的时延为:
[0187]
tu=ft
u,k-stu#(22)
[0188]
根据公式(9)、公式(15)、公式(19)得到用户u执行应用总能耗为:
[0189][0190]
将时间序列划分为个时隙,满足在任一时隙τ内,假设任一任务占用的带宽大小不变。记为时隙τ内用户u执行子任务k占用的带宽,在任一时隙τ内,所有任务占用的总带宽不超过给定的带宽上限b
max
:
[0191][0192]
记为时隙τ边缘服务器m核心的占用情况。在任一时隙τ,任何边缘服务器上同时执行的任务不超过其核心数,即任何边缘服务器上被占用的核心都不能超过其核心数量上限:
[0193][0194]
目标是在满足卸载策略的约束、任务依赖关系和资源约束关系下优化任务卸载决策,以最小化系统中所有用户设备的平均能耗和平均时延。系统整体的卸载策略定义为γ=[o
1,1
,o
1,2
,
…
,o
u,k
],该优化问题公式化如下:
[0195][0196]
[0197][0198]
(2),(20)-(21),(24)-(25)
[0199]
其中,公式(20)-(21)表示每一个子任务卸载策略的约束,即每个子任务只能在本地计算、卸载至边缘计算和卸载至云端计算三者中选择其一,且选择卸载至边缘端或云端时,仅能选择其中一个边缘服务器进行卸载或中转;约束c1表示任何设备的任何子任务的执行必须在其限定的最大截止时间内完成;公式(2)表示了任务依赖关系的约束,即子任务j
u,k
只有在其所有前驱任务完成时才能开始执行。公式(24)-(25)表示在任意时隙,信道占用不能超过其信道大小限制,且任何边缘服务器上运行的任务个数都不能超过其配备的核心个数。
[0200]
s3:计算卸载:根据任务信息计算优先级队列,使用强化学习方法获取任务卸载策略,实现云边端协作的卸载调度。
[0201]
如图3所示,所述的计算卸载方法具体如下:
[0202]
首先根据所述优化问题模型,确定状态空间、动作空间和奖励函数。设任务优先级队列中子任务的决策步为t={1,2,
…
,t,
…
,u*k},状态空间设置为其中j
t
表示决策步t时应处理的子任务的固有属性,包括每比特所需计算量、数据大小和子任务的截止时间;f表示为本地设备、边缘服务器和云服务器的计算资源集合;lu表示决策步t时应处理的子任务对应的iot设备与所有基站之间的距离;表示决策步t时信道的排队情况和剩余带宽数;表示决策步t时边缘服务器上排队执行的任务个数和边缘服务器上剩余资源的情况;动作空间设置为其中a
t
=0表示决策步t时应处理的子任务在本地执行,a
t
∈{1,
…
,m,
…
,m}表示决策步t时应处理的子任务卸载至边缘服务器m执行,a
t
∈{m+1,
…
,m+v,
…
,2m}表示决策步t时应处理的子任务经第v个边缘服务器中转后,上传至云服务器上执行。记we表示能耗权重,wd表示时延权重,奖励函数设置为:
[0203][0204]
其中,t
t
,e
t
分别表示在决策步t时应处理的子任务采取动作a
t
之后的时延与能耗,分别表示在决策步t时应处理的子任务在本地计算的时延和能耗。
[0205]
对于每一个决策步t,智能体从环境中获得当前的环境状态s
t
,并从动作空间a中根据策略π(a
t
|s
t
)选择一个动作a
t
,其中策略π(a
t
|s
t
)是智能体得到环境状态s
t
时选择动作a
t
的概率。之后,环境会根据状态转移概率p(s
t+1
|s
t
,a
t
)进入下一个状态s
t+1
,并根据奖励函数r(s
t
,a
t
)给智能体返回一个奖励r
t
。根据上述过程,智能体的一轮训练过程如下:
[0206]
s3.1、重置环境,得到初始系统状态s0,设置当前决策步t=0,并初始化优先级队列q;
[0207]
s3.2、根据公式(3)-(4),计算每个子任务的lct和let,并将每个子任务的let升序排序,放入优先级队列中;
[0208]
s3.3、从优先级队列q中选择最高优先级的子任务;
[0209]
s3.4、收集当前的子任务状态和系统状态作为当前状态s
t
,并从环境中得到用于屏蔽不可用动作的mask
t
;
[0210]
s3.5、使用mask
t
计算策略π
θ
并选择动作a
t
;
[0211]
s3.6、在环境中执行动作a
t
,获得即时奖励r(s
t
,a
t
)和下一状态s
t+1
;
[0212]
s3.7、存储(s
t
,a
t
,r
t
,s
t+1
)至缓存d;
[0213]
s3.8、判断优先级队列是否为空;若优先级队列为空,则根据下式计算优势估计否则,决策步t=t+1,返回步骤3.3。
[0214][0215]
s3.9、重复以下步骤k次:从缓存d中随机选择大小为s的小批量样本进行学习,并更新网络参数θ。
[0216]
s3.10、清空缓存d,一轮训练过程结束。
[0217]
在一个实施例中,本发明在pc机上使用python语言进行编程仿真实现。该仿真中,iot设备的个数为25,每一iot设备上运行应用包含的子任务个数为15,iot设备的计算能力随机分配1.2-1.5g cycles/s,边缘服务器的计算能力为2.6-3.0g cycles/s,云服务器的计算能力为6g cycles/s。图4为所提出的方法在训练过程中的平均奖励收敛性分析图。对于所提出的基于优先级和强化学习的云边端协作计算卸载方法,每一个回合下的平均奖励值随着智能体与系统环境的不断迭代而逐渐增加,且在600个回合左右时,平均奖励值趋于稳定。
[0218]
在一个实施例中,图5和图6分别为与四种不同方案对比的平均能耗与平均时延示意图,四种方案分别为本地计算方案(oln)、边缘端优先卸载方案(efo)、云端优先卸载方案(cfo)和随机选择的卸载方案(rso)。本地计算方案表示所有的计算任务都在其所在的iot设备上执行;边缘端优先卸载方案表示计算任务优先卸载到边缘服务器上执行;云端优先卸载方案表示计算任务优先卸载到云服务器上执行;随机选择的卸载方案表示在本地、边缘服务器和云服务器三者中对每个计算任务随机生成一种卸载策略。该仿真中,iot设备的个数为25,每一iot设备上运行应用包含的子任务个数从5到25。从图5和图6可以看出,本发明的方案在iot设备的平均能耗与平均时延上均低于其他四种方案,验证了本发明的可行性和高效性。
[0219]
上述流程为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
技术特征:
1.一种基于优先级和强化学习的云边端协作计算卸载方法,其特征在于,包括以下步骤:s1、系统模型构建:建立拥有多个iot设备、多个边缘服务器和一个云数据中心的云-边-端协作系统模型,包括任务依赖模型、任务优先级队列模型、通信模型和计算模型;s2、问题公式化:构建任务卸载决策的优化目标及其相应的约束条件;s3、计算卸载:根据任务信息计算优先级队列,使用强化学习方法获取任务卸载策略,实现云边端协作的卸载调度。2.根据权利要求1所述的一种基于优先级和强化学习的云边端协作计算卸载方法,其特征在于,步骤s1中,云-边-端协作系统模型中包括u个iot设备、配备有n核服务器的m个边缘节点即边缘服务器,和一个远程云服务器c;每个iot设备都有一个应用需要执行,该应用由k个相互依赖的子任务构成;每个iot设备通过无线链路连接到该iot设备可访问的边缘服务器,边缘服务器通过有线链路连接到远程云服务器c;定义为第u个iot设备上运行的应用完成的截止时间,u=1~u,对于第u个iot设备上运行的应用中包括的第k个子任务j
u,k
,子任务属性j
u,k
可写作:其中,k表示每个子任务的索引,k的取值为1~k;ω
u,k
为该运行该子任务所需的计算资源,即计算每比特任务所需要的cpu周期,ω
u,k
取决于任务的计算复杂度;d
u,k
为该子任务的数据大小;为该子任务完成的截止时间。3.根据权利要求1所述的一种基于优先级和强化学习的云边端协作计算卸载方法,其特征在于,步骤s1中,云-边-端协作系统模型中的任务依赖模型具体如下:考虑将第u个iot设备上运行的应用拆分为k个子任务,其任务依赖关系可以使用有向无环图dag进行表示,即g
u
=(v
u
,e
u
),其中),其中表示为包括每一个子任务的节点集合;e
u
={e(j
u,i
,j
u,j
)|j
u,i
≠j
u,j
}表示为任务间数据依赖的边集合,即有向边e(j
u,i
,j
u,j
)描述了任意两个子任务节点j
u,i
和j
u,j
之间的优先约束,要求子任务j
u,i
的直接前驱任务j
u,j
未完成时,子任务j
u,j
不能开始执行;记第u个iot设备上运行的应用中包括的第k个子任务j
u,k
的直接前驱任务集合为pre(j
u,k
),直接后继任务集合为suc(j
u,k
),终止节点为j
u,k
;定义没有直接前驱任务的任务节点为起始任务节点,没有直接后继任务的任务节点为终止任务节点;起始节点可以有多个,应用可以并行执行这些任务;终止节点只能有一个,表示应用的完成节点;为了表达任务依赖关系,定义在第u个iot设备上运行应用的开始时间为st
u
,第u个iot设备上运行的应用中包括的第k个子任务j
u,k
可以开始执行的时刻为子任务的准备时间rt
u,k
,子任务j
u,k
运行结束的时刻为完成时间ft
u,k
;根据任务依赖关系,可以得到子任务的准备时间rt
u,k
如下:。4.根据权利要求3所述的一种基于优先级和强化学习的云边端协作计算卸载方法,其
特征在于,步骤s1中,云-边-端协作系统模型中的任务优先级队列模型具体如下:为了保证任务依赖关系,定义最迟完成时间lct和最迟执行时间let;其中第u个iot设备上运行的应用中包括的第k个子任务的最迟完成时间lct
u,k
代表该任务最迟需要在lct时刻完成,通过下式计算:其中,为第u个iot设备上运行应用的截止时间,为第u个iot设备上运行子任务j
u,k
的截止时间,为子任务在采用卸载位置l时不考虑排队时间的时延;最迟完成时间lct
u,k
可以递归地从终止节点开始计算;基于lct
u,k
,定义第u个iot设备上运行的应用中包括的第k个子任务的最迟执行时间let
u,k
,即任务最迟应在let
u,k
时刻执行,let
u,k
表明了当前子任务的紧急程度,即该子任务的优先级顺序;let
u,k
通过下式计算:将let
u,k
升序排列可以得到所有子任务调度的任务优先级队列q;该优先级队列q保证了任务依赖的子任务之间的调度顺序。5.根据权利要求1所述的一种基于优先级和强化学习的云边端协作计算卸载方法,其特征在于,步骤s1中,云-边-端协作系统模型中的通信模型考虑iot设备通过无线信道上传至边缘服务器的速率,根据香农公式,可以得到第u个iot设备卸载子任务至第m个边缘服务器的传输速率具体如下:其中,b
u,m
为第u个iot设备到第m个边缘服务器的信道带宽,为第u个iot设备的发送功率,l
u,m
为第u个iot设备u与第m个边缘服务器之间的距离,l0为参考距离,μ为路径损耗指数,h为路径损耗常数,σ2为加性高斯白信道噪声的方差。6.根据权利要求1所述的一种基于优先级和强化学习的云边端协作计算卸载方法,其特征在于,步骤s1中,云-边-端协作系统模型中的计算模型包括本地计算模型、边缘计算模型和云计算模型,具体如下:本地计算即不进行卸载,直接在iot设备上处理子任务;在本地计算模型中,定义为第u个iot设备的计算能力,因此子任务j
u,k
的执行时间表示为:由于计算资源的限制,假设iot设备在任意时间内只能处理一个子任务;记为
子任务j
u,k
在第u个iot设备上的最早可执行时间,为子任务j
u,k
在第u个iot设备上的最早可用时间,则子任务j
u,k
在第u个iot设备上的最早可执行时间为:相应的本地完成时间表示为:每一个计算周期的能耗被定义为ε=κf2,其中κ为能量因子,取决于芯片架构,一般取10-27
;因此本地计算相对应的能量消耗可以表示为:在边缘计算模型中,对于卸载至边缘服务器上计算的子任务,子任务j
u,k
的处理依次包括两个阶段:i.传输阶段,子任务从iot设备经过无线上行链路信道发送至边缘服务器;由于信道容量有限,子任务可能需要等待信道空闲时才能够上传,且上传的数据具有一定大小,数据的传输过程也会产生时延;ii.计算阶段,子任务上传至边缘服务器后,边缘服务器的计算资源可能被占用,此时需要在队列中等待,并在边缘服务器上完成计算;对于传输阶段,定义at
u,k
为第u个iot设备上运行的应用中包括的第k个子任务j
u,k
的信道最早可用时间,即该时刻为信道最早空闲的时间,此时可以将任务经过无线信道发送至边缘服务器;定义est
u,k
为子任务j
u,k
的最早可发送时间,即iot设备可以将子任务j
u,k
通过无线信道发送至边缘服务器的最早时间,est
u,k
取决于信道是否空闲;子任务的最早可发送时间为:其中,为子任务j
u,k
传输至第m个边缘服务器的信道最早可用时间;定义任务最早到达时间eat
u,k
为子任务j
u,k
最早到达至对应边缘服务器的时间,其计算公式如下:其中,为子任务j
u,k
从第u个iot设备传输至第m个边缘服务器的信道传输时间,计算公式如下:对于第二阶段,定义qt
u,k,m
为子任务j
u,k
在第m个边缘服务器上的等待时间,为第m个边缘服务器的第n个核的计算能力,n=1~n;子任务j
u,k
在第m个边缘服务器的第n个核上执行所需的执行时间如下:
相应的子任务j
u,k
在第m个边缘服务器的第n核上的完成时间为:定义第u个iot设备空闲时的运行功率为则子任务j
u,k
在第m个边缘服务器上的边缘端执行能耗为:其中,为第u个iot设备的发送功率,为iot设备除了将卸载至第m个边缘服务器的子任务j
u,k
上传以外的空闲时间,即包括子任务j
u,k
等待信道空闲的时间、子任务j
u,k
在边缘端排队的时间和子任务j
u,k
在边缘端执行的时间;在云计算模型中,iot设备将任务上传至云端同样需要先将数据传输至边缘端,该过程会经历以下两个阶段:i.上传阶段,子任务从iot设备经过无线上行链路信道发送至边缘服务器,再由边缘服务器转发至云服务器;由于信道容量有限,且上传的数据具有一定大小,数据的传输过程会产生时延;ii.云服务器计算阶段,云服务器接收到子任务后,将立即对子任务进行计算,因此该阶段的延迟为子任务在云服务器的计算延迟;对于边缘服务器上传至云服务器,记边缘服务器与云服务器之间的有线传输速率为r
ec
,则可以得到子任务j
u,k
从边缘端传输至云端的时间为:对于第二阶段,记f
cloud
为云服务器的计算能力,则子任务j
u,k
在云服务器上的执行时间为:综上,子任务j
u,k
经过第m个边缘服务器上传并在云服务器端的完成时间为:子任务j
u,k
经过第m个边缘服务器上传并云服务器端进行计算的能耗可以通过下式计算:其中,为iot设备除了将经第m个边缘服务器中转的子任务j
u,k
上传以外的空闲时
间,即包括子任务j
u,k
等待信道空闲的时间、子任务j
u,k
由边缘端传输至云端以及子任务j
u,k
在云端执行的时间。7.根据权利要求6所述的一种基于优先级和强化学习的云边端协作计算卸载方法,其特征在于,步骤s2中,所述任务卸载决策的优化目标及其相应的约束条件如下:定义对于每一个子任务j
u,k
,都有相应的卸载策略o
u,k
,其中,x
u,k
表示本地执行,表示子任务j
u,k
卸载至边缘服务器,表示子任务j
u,k
由边缘服务器中转后卸载至云服务器,满足以下约束:由边缘服务器中转后卸载至云服务器,满足以下约束:其中,公式(20)、公式(21)表示每次在三个卸载策略中只能选择其中一个,且若选择卸载/中转至边缘服务器,只能选择其中一个边缘服务器进行卸载/中转;根据公式(8)、公式(14)、公式(18)得到第u个iot设备执行应用的时延为:t
u
=ft
u,k-st
u
#(22)根据公式(9)、公式(15)、公式(19)得到第u个iot设备执行应用总能耗为:将时间序列划分为个时隙,满足在任一时隙τ内,假设任一任务占用的带宽大小不变;记为时隙τ内第u个iot设备执行第k个子任务占用的带宽,在任一时隙τ内,所有任务占用的总带宽不超过给定的带宽上限b
max
:记为时隙τ内边缘服务器m核心的占用情况;在任一时隙τ,任何边缘服务器上同时执行的任务不超过其核心数,即任何边缘服务器上被占用的核心都不能超过其核心数量上限:目标是在满足卸载策略的约束、任务依赖关系和资源约束关系下优化任务卸载决策,以最小化系统中所有iot设备的平均能耗和平均时延。8.根据权利要求7所述的一种基于优先级和强化学习的云边端协作计算卸载方法,其特征在于,系统整体的卸载策略定义为γ=[o
1,1
,o
1,2
,
…
,o
u,k
],该优化问题模型公式化如下:
p1:p2:s.t.c1:s.t.c1:s.t.c1:s.t.c1:s.t.c1:s.t.c1:其中,公式(20)-(21)表示每一个子任务卸载策略的约束,即每个子任务只能在本地计算、卸载至边缘计算和卸载至云端计算三者中选择其一,且选择卸载至边缘端或云端时,仅能选择其中一个边缘服务器进行卸载或中转;约束c1表示任何设备的任何子任务的执行必须在其限定的最大截止时间内完成;公式(2)表示了任务依赖关系的约束,即子任务j
u,k
只有在其所有前驱任务完成时才能开始执行;公式(24)-(25)表示在任意时隙,信道占用不能超过其信道大小限制,且任何边缘服务器上运行的任务个数都不能超过其配备的核心个数。9.根据权利要求8所述的一种基于优先级和强化学习的云边端协作计算卸载方法,其特征在于,步骤s3中,根据任务信息计算优先级队列,使用强化学习方法获取任务卸载策略,实现云边端协作的卸载调度,具体如下:首先根据步骤s2中的优化问题模型,确定状态空间、动作空间和奖励函数;设任务优先级队列中子任务的决策步为t={1,2,
…
,t,
…
,u*k},状态空间设置为其中j
t
表示决策步t时应处理的子任务的固有属性,包括每比特所需计算量、数据大小和子任务的截止时间;f表示为本地设备、边缘服务器和云服务器的计算资源集合;l
t
表示决策步t时应处理的子任务对应的iot设备与所有基站之间的距离;表示决策步t时信道的排队情况和剩余带宽数;表示决策步t时边缘服务器上排队执行的任务个数和边缘服务器上剩余资源的情况;动作空间设置为其中a
t
=0表示决策步t时应处理的子任务在本地执行,a
t
∈
{1,
…
,m,
…
,m}表示决策步t时应处理的子任务卸载至边缘服务器m执行,a
t
∈{m+1,
…
,m+v,
…
,2m}表示决策步t时应处理的子任务经第v个边缘服务器中转后,上传至云服务器上执行;记w
e
表示能耗权重,w
d
表示时延权重,奖励函数设置为:其中,t
t
,e
t
分别表示在决策步t时应处理的子任务采取动作a
t
之后的时延与能耗,分别表示在决策步t时应处理的子任务在采取本地计算的时延和能耗。10.根据权利要求9所述的一种基于优先级和强化学习的云边端协作计算卸载方法,其特征在于,对于每一个决策步t,智能体从环境中获得当前决策步t的环境状态s
t
,并从动作空间a中根据策略π(a
t
|s
t
)选择一个动作a
t
,其中策略π(a
t
|s
t
)是智能体得到环境状态s
t
时选择动作a
t
的概率;之后,环境会根据状态转移概率p(s
t+1
|s
t
,a
t
)进入下一个状态s
t+1
,并根据奖励函数r(s
t
,a
t
)给智能体返回一个奖励r
t
;根据上述过程,智能体的一轮训练过程如下:s3.1、重置环境,得到初始系统状态s0,设置当前决策步t=0,并初始化优先级队列q;s3.2、根据公式(3)-(4),计算每个子任务j
u,k
的lct
u,k
和let
u,k
,并将每个子任务j
u,k
的let
u,k
升序排序,放入优先级队列中;s3.3、从优先级队列q中选择最高优先级的子任务j
u,k
;s3.4、收集当前决策步t的子任务状态和系统状态作为当前状态s
t
,并从环境中得到用于屏蔽不可用动作的mask
t
;s3.5、使用mask
t
计算策略π
θ
并选择动作a
t
;s3.6、在环境中执行动作a
t
,获得即时奖励r(s
t
,a
t
)和下一状态s
t+1
;s3.7、存储(s
t
,a
t
,r
t
,s
t+1
)至缓存d;s3.8、判断优先级队列是否为空;若优先级队列为空,则根据下式计算优势估计s3.8、判断优先级队列是否为空;若优先级队列为空,则根据下式计算优势估计执行步骤s3.9;否则,决策步t=t+1,返回步骤s3.3;s3.9、重复以下步骤k次:从缓存d中随机选择大小为s的小批量样本进行学习,并更新网络参数θ;s3.10、清空缓存d,一轮训练过程结束。
技术总结
本发明公开了一种基于优先级和强化学习的云边端协作计算卸载方法。所述方法包括:建立拥有多个IoT设备、多个边缘服务器和一个云数据中心的云-边-端协作系统模型,包括任务依赖模型、任务优先级队列模型、通信模型和计算模型;构建任务卸载决策的优化目标及其相应的约束条件;根据任务信息计算优先级队列,使用强化学习方法获取任务卸载策略,实现云边端协作的卸载调度。本发明用以解决现有算法在云边端协作的物联网场景下不能有效获取任务卸载策略的问题,同时本发明方法能够有效的降低IoT设备的平均能耗与平均时延。IoT设备的平均能耗与平均时延。IoT设备的平均能耗与平均时延。
技术研发人员:刘发贵 汤恬恬
受保护的技术使用者:华南理工大学
技术研发日:2023.03.24
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/