【无标题】

基于LSTM预测和深度强化学习的任务卸载在物联网中的高效边缘计算

摘要

在物联网边缘计算中,任务卸载会导致额外的传输延迟和传输能耗。为了降低任务卸载所需的资源成本,提高服务器资源的利用率,本文将任务卸载问题建模为一个成本最小化的联合决策问题,该问题综合了处理延迟、处理能耗和延迟敏感任务的任务抛出率。针对上述任务卸载决策问题,提出了基于深度强化学习(DRL)和长短时记忆(LSTM)网络的在线预测卸载(OPO)算法。在模型的训练阶段,该算法利用LSTM算法实时预测边缘服务器的负载,有效地提高了DRL算法在卸载过程中的收敛精度和收敛速度。在测试阶段,利用LSTM网络预测下一个任务的特征,然后通过DRL决策模型提前为任务分配计算资源,从而进一步减少任务的响应延迟,提高系统的卸载性能。实验结果表明,该算法能有效地降低平均延迟6.25%,负载开销25.6%,任务抛出率31.7%。

1. Introduction

随着物联网的快速发展和设备规模的指数增长,传统的云计算[1]已经不能满足物联网设备的服务需求。在这种背景下,边缘计算[2]技术应运而生。边缘计算的本质是将一些小型服务器放在网络的边缘,它更靠近用户设备的位置,其位置在云服务器和终端设备之间。用户可以将最初卸载到云服务器的任务卸载到边缘服务器,以执行某些任务,从而减少任务交付的延迟,提高任务的服务质量[3]。
边缘计算的核心是计算卸载[4],即将任务从终端设备卸载到边缘服务器,以减少终端设备的计算工作量,并减少设备的计算能耗,延长其运行时间。具体来说,卸载问题包括两个方面:(1)任务是否需要卸载;以及(2)将任务卸载到哪个边缘服务器。尽管云计算领域已经对计算溢出问题进行了深入研究,但在新兴的边缘计算场景中,任务的计算溢出仍然面临着相当大的挑战。例如,当卸载任务数量较大时,或在具有多个终端设备和多个边缘的复杂场景中,如果没有合理的资源分配机制,边缘系统可能会出现负载不平衡,并影响卸载性能[5],则会产生额外的传输延迟和能量消耗。
目前,研究人员对卸载决策问题进行了大量研究,如基于传统算法[6-10]制定问题后寻求最优解,基于强化学习算法[11-14]最大化奖励以做出适当的决策行为等,上述算法没有考虑任务卸载过程中任务的动态性和可预测性,因此可能会产生不合理的卸载决策,导致任务卸载性能下降。传统的任务卸载方法只能静态优化任务卸载和资源分配。虽然深度强化学习方法能够满足当前物联网动态任务计算的要求,但大多数算法只是在模型训练过程中通过改进方法,使模型收敛更快,取得更好的效果,而忽略了任务推理测试过程的优化,这在实际场景中仍然会带来较高的响应延迟。换句话说,真实场景中任务的生成和处理与时间序列更相关[15,16],因此可以通过描述任务来进行预测。每个服务器的负载都可以通过收集系统的历史数据来预测[17,18],使用这种预测方法可以有效地分配资源,并对资源有限的任务做出卸载决策,这可以有效地减少决策时任务的响应延迟。为了解决上述问题和任务卸载中遇到的挑战,本文提出了一种在线预测卸载(OPO)算法。该算法结合长短时记忆(LSTM)和深度强化学习(DRL),根据观察到的边缘网络状况和服务器负载,实时预测任务动态信息。该算法旨在通过考虑任务处理延迟、任务容忍延迟和任务计算能耗来做出卸载决策,避免造成网络拥塞和服务器过载,从而最小化任务丢弃率,降低任务的计算成本。本文的主要贡献总结如下。

  1. 将多边缘、多设备计算场景中的计算卸载问题建模为非线性优化问题。此外,任务卸载的目标是最小化延迟和能耗方面的长期成本
  2. 通过预测任务和边缘服务器负载的特征,将任务动态加载到最佳边缘服务器。在决策模型中,预测与任务决策相结合,为不同的任务动态分配资源,进一步减少延迟,提高服务质量。
  3. 所提出的模型和方法通过实际数据集进行了广泛的评估。结果表明,本文开发的模型可以有效地降低DRL算法与深度Q网络(DQN)及其变体的成本。该算法在面对大型复杂场景时,能够保持较低的任务延迟和任务丢弃率。
    论文的其余部分组织如下。第2节回顾了相关工作。第3节给出了系统模型和问题的描述,第4节给出了模型在训练和卸载阶段的框架,并针对给定目标设计了强化学习卸载算法。第5节介绍了所提出方法的实验评估。第六部分总结了本文的工作。

2.相关工作

3.系统模型

本文中的模型建立在一个多终端、多边缘网络场景上,其中终端层设备集用M={1,2,…,M}表示。在每个HMD(移动设备)上,都有一个任务队列和一个计算队列,其中任务队列存储要决定卸载的任务,计算队列处理本地执行的任务。此外,边缘层服务器集由N={1,2,…,N}表示。每个边缘服务器中包含多个计算队列,用于并行计算传输队列卸载任务。图1显示了带有移动设备和边缘节点的EC系统的说明。在下文中,我们首先分别介绍了任务模型和任务卸载决策。然后介绍了计算模型、通信模型和预测模型。

3.1任务模型
对于任何MD,在不同时隙中生成的任务由T={1,2,…,T}标识。任务的到达时间和数据大小根据实际收集的物联网数据使用。对于每个到达的任务,它首先存储在相应的MD 任务缓存队列中,然后决策模型给出任务将卸载到哪里执行。对于t∈ T时隙,终端设备m∈ M生成的新任务表示为λM(t)=(Dtm,ρtm,τtmmax)。Dtm表示任务数据大小的大小,ρtm表示该类型任务每比特所需的计算资源,τtmmax表示任务的最大允许延迟,即,当任务未在时隙t+τtmmax−1中完成时,将抛出在时隙t中生成的新任务。

3.2. 决策模型
当终端设备在时间间隔内有新任务λm(t)时,决策模型必须给出卸载方案。二进制变量xtm∈ {0,1}用于指示当前任务是否已卸载,xtm=0表示任务已在theMD上执行,xtm=1表示任务将卸载到边缘服务器上执行。ytm,n∈{0,1}表示任务卸载到的边缘服务器,当ytm,n=1时,任务卸载到边缘服务器n∈N表示执行,否则为ytm,N=0。该模型中考虑的任务是原子级任务,即任务不可细分,每个卸载的任务只能在一台边缘服务器上执行,卸载到边缘服务器执行的任务受∑N∈Nytm,n=1,m∈M、 t∈T、 xtm=1

3.3. 计算模型
3.3.1. 终端层计算模型(移动设备上MD)
(等待延迟)在MD模型中,包含两种队列:任务队列,其中存储新生成的任务,但尚未分配决策;任务计算队列,用于输出任务的计算结果。指定一个时间段内只有一个任务可以进入队列进行处理时隙生成的任务必须等到计算队列空闲时才能执行计算,即等待前一个任务完成其执行,其等待延迟τtm,wait可以用等式(1)表示。

(处理延迟)其中l表示任务的完成时间段(完成任务或被丢弃)。在计算队列中处理任务时,存在处理延迟。假设MD的处理能力(比特/秒)为f,那么计算队列中任务的处理延迟τtm,exe可以用等式(2)表示

因此,我们可以通过上述等式(如等式(3)所示)找到任务λm(t)的完成时隙l(t)

t+τtm,wait+τtm,exe表示任务执行完成时的时隙,t+τtm,max表示任务的最大允许时隙。任务λm(t)在MD上的总处理延迟τtm,MD可以用等式(4)表示

同时,本文考虑了任务处理过程中MD的能耗,它由两部分组成:(1)任务计算能耗表示为计算能力和计算时间的乘积;(2)任务等待能耗表示为等待能力和时间的乘积。因此,本地执行任务所需的能耗E如下所示

3.3.2. 边缘层计算模式
由于边缘服务器的计算资源远大于MD,当MD卸载的任务到达时,任务可以立即进入计算队列执行,因此边缘服务器上不考虑任务的等待延迟。对于设备m在时隙t中生成的任务λm(t),在边缘服务器上用λm,n(t)表示。假设边缘节点为处理任务分配的当前处理能力(比特/秒)为fECn。然后,边缘层任务的处理延迟τtm,n,exetask可以表示为:

与终端层计算类似,边缘层任务λm,n(t)的完成时隙lcompm,n(t)可以表示为

边缘服务器上任务λm,n(t)的总延迟τtm,nec可表示为

其中,τtm,wait表示本地模型中的等待延迟,τtranm,ndnote表示传输延迟,τtm,wait+ttranm,n+τtm,n,exe表示任务从端点卸载到边缘服务器并执行到完成所需的时间段,τtm,max表示允许的最大延迟。
(在本地等待时间 假如分配到边缘服务器去卸载 直接计算 服务器上没有等待时间)

将任务卸载到边缘服务器执行时产生的能耗eDegem可以表示为

3.4通信模型

任务仅在卸载到边缘服务器执行时才会消耗带宽资源并导致传输延迟。MDs任务在时隙xt all=[xt1,xt2,xt3···xtm]的卸载,对于卸载任务时占用的带宽是Btall=[Bt1,Bt2,Bt3···Btm]T,并且任务在卸载时受带宽约束,即xtall·Btall≤B最大。根据香农公式,我们可以找到传输率

其中,g是 信道增益和σ2表示加性高斯白噪声的功率。因此,任务的传输延迟和传输能量消耗可以从等式(11)和(12)中推导出来

总之,系统的整体模型是任务计算的时间延迟和能量消耗之间的折衷,以产生一个最小化成本问题(13),解决方案的目标是随着时间的推移最小化系统中生成的任务的总成本

约束C1–C3表示生成的任务只能选择一个计算节点进行计算处理;C4表示任务的总处理延迟,无论是本地处理还是卸载到边缘节点进行处理,都不应超过任务的最大容许延迟;C5–C6表明为任务分配的E资源不允许超过节点的最大处理能力;C7–C8表示任务的传输功率不能超过最大传输功率,同一时隙内所有卸载任务占用的带宽不应超过最大带宽资源。表1列出了本文中使用的重要符号。

3.5. 预测模型
3.5.1. 任务预测模型
在计算卸载系统中,任务生成后需要一个决策过程,从任务生成到给出决策需要一定的时间延迟。虽然任务生成是一个动态的随机过程,但考虑到任务的长期性,它将与时间有很强的相关性。
因此,基于用户设备的历史,我们可以预测在用户设备的下一个网络时隙中将生成的任务,并在实际任务到来之前提前加载服务包(例如,通过决策模型提前分配最佳计算节点)。例如,对于任何带有任务data Dt的MD∈{D1,D2,·DT},takingD1,D2,·DT−1作为输入序列,输入经过训练的LSTM预测模型,以预测下一个时隙任务数据D∼t、 因此,预测模型的优化目标是| Dt−D∼t|∝0,即尽可能提高任务数据特征预测的准确性。
如图2所示,在一个真实场景中,我们可以通过预测模型预测未来任务的信息,并为任务确定决策和分配计算资源。当实际任务到达时,如果实际任务和预测任务之间的误差在允许的阈值内,则直接卸载任务,并根据分配的决策信息计算。否则,将使用决策模型给出卸载决策,并将新任务的信息添加到训练样本的历史数据中。通过训练LSTM网络,更新网络中每个门的权重和偏差,以提高预测模型的准确性。

3.5.2. 负载预测模型
在边缘计算系统中,如果不考虑服务器负载,错误的卸载决策可能会导致负载不平衡。边缘服务器上的监控系统记录系统数据和性能指标,如CPU占用率、网络使用率和当前任务执行情况。我们可以使用记录的数据来预测未来的服务器负载。我们参考文献[30]中的负载模型,使用历史记录预测边缘服务器负载水平(边缘节点上的空闲队列数量)。输出值h∼通过使用A作为边缘服务器历史负载序列B中的输入序列,从经过训练的LSTM负载预测模型中获得。C被用作预测空闲服务器,在训练DRL时可以优先选择它作为卸载计算节点如图3所示,在DRL训练过程中,agent通过一定的概率选择动作,即以ε概率选择Q值最大的动作,以1-ε概率随机选择动作。在本文中,当原始代理选择一个随机行为时,使用随机值σ和概率ε之间的大小比较来确定它是随机行为还是预测行为,从而避免陷入局部最优。通过预测动作给出预先选择的动作(实际场景中的空闲服务器),可以减少agent的探索次数,提高算法的收敛速度

4.模型求解。
1.总体框架
在DRL模型中,预测模型与深度强化学习模型相结合。在这一部分中,我们将介绍模型训练阶段、模型推理阶段,并具体给出求解模型的算法设计。

4.1.1. 模型训练阶段
DRL的目标是通过在每个决策中采取最佳行动来最大化总回报。DRL通常使用ε贪婪策略进行勘探和开发。勘探是对任何行动的随机选择,有可能出现更高的方向,否则,开采是行动估计最大的行动。这种随机策略可以充分探索环境状态,但需要长时间的扩展探索和较低的数据利用率。在本文的模型中,动作选择描述了任务的卸载决策,这意味着动作空间是已知的,任务是在本地执行还是卸载到边缘的一个服务器上。当代理执行随机探索时,如图4所示,本文使用LSTM来预测边缘服务器的负载,从而给出一个最优操作,即根据历史负载情况预测下一个时隙的最优服务器,在这种状态下,直接卸载到最优服务器,以获得更高的回报,并有效避免边缘服务器负载不平衡。

4.1.2. 卸载决策阶段
每个MD在不同的时间段生成不同类型的任务。当新任务生成时,系统对任务的决策请求有一个响应延迟,即系统从任务队列中获取任务信息,然后才能将任务信息放入决策模型中进行决策。对于任务,在生成任务和给出决策之间,系统存在响应延迟,队列中存在等待延迟。如图5所示,edge系统可以处理来自MD的数据,并存储处理后的记录。基于历史记录,LSTM可以预测下一个驱动任务的特征信息,并将预测的信息提供给增强学习决策模型,该模型用于为预测的任务制定卸载方案。当实际任务到达时,如果实际任务与预测任务之间的误差在允许范围内,则直接给出任务的卸载决策;否则,根据实际任务使用决策模型进行决策。通过预测任务的信息,可以预测任务的目标计算节点,有效地减少任务在系统中的响应和等待延迟。

4.2. 算法设计
本文利用深度强化学习算法DQN(deep Q Network)及其变体,将强化学习与深度学习相结合,设计了一种任务卸载决策算法。一个典型的DQN模型由代理、状态、行为和奖励组成,策略生成为π: S映射→A OF表示为获得奖励而采取的行动R,rt(st,at)表示通过选择actionatin statest和rγ0可以获得的奖励=∑T(T=0)γtrt(st,at)是长期奖励,其中→∞,γ∈[0,1],rt∈R、 圣∈S、 在∈A.
在传统的Q-学习中,每个状态-动作对都可以很容易地存储到Q-表中,因为状态空间和动作空间是离散的,并且维度很小。然而,如本文所述,当状态空间和动作空间维数较大时,很难将所有状态-动作对放入Q表中。为了解决这个问题,DRL中的DQN模型结合了深度神经网络和Q学习算法,将Q表转换为Q网络,并使用神经网络拟合最优Q函数。DQN主要依赖于以下关键技术。
深度Q网络(DQN):DQN中有两个结构相同但参数不同的神经网络,即目标网络̃Q(s′,a′;̃θ)和主网络Q(s,a;θ)。当迭代更新网络时,该算法首先使用目标网络生成目标Q值作为标签f(t),然后使用损失函数损失(θ)更新主网络的参数。引入目标网络后,目标网络产生的目标Q值在时间j上保持不变,这可以减少当前Q值与目标Q值之间的相关性,提高算法的稳定性。目标网络每一步都会用Q网络参数θ更新参数̃θ。
回放内存:**(relay buffer)**为了打破数据之间的相关性,DQN使用经验回放方法来解决这个问题。与环境交互后,代理以(st、at、rt、st+1)的形式存储在重播缓冲区中。当执行评估更新时,代理在每个时间步从重播缓冲区中随机选择一小组经验元组(st、at、rt、st+1),然后算法通过优化损失函数来更新网络参数,使用经验重播不仅可以提高训练效率,还可以减少训练过程中产生的过度拟合问题。
双DQN:(加的)**我们根据状态s’选择动作a’的过程,以及估计Q(s’,a’)使用的是同一张Q值表,或者说使用的同一个网络参数,这可能导致选择过高的估计值,从而导致过于乐观的值估计。为了避免这种情况的出现,我们可以对选择和衡量进行解耦,从而就有了双Q学习。**为了解决高估问题,提出了双DQN。DQ每次都用max表示最大值,以及该最大值之间的差值
和加权平均值引入了一个误差,这将导致长期累积后的高估。双DQN由QA和QB两个网络组成,它利用这两个网络交替进行状态估计和动作输出。也就是说,一个网络用于选择动作,另一个网络用于根据所选动作更新Q值。双DQN将选择对应于Q值的动作和评估对应于该动作的Q值这两个步骤分离开来,使学习过程更加稳定可靠,从而消除了贪婪算法带来的高估,获得了更准确的Q估计。Double DQN没有直接从目标网络中查找参数更新的标签值,而是查找与最大Q值inqa对应的操作,然后使用此选定操作计算参数更新inqb的目标值(公式括号里是error)
决斗DQN:与DQN相比,决斗DQN将Q网络分为两部分,第一部分仅与状态有关,具体的动作a与此部分无关,称为值函数部分,称为asVπ(s),第二部分与状态和动作a都有关,这部分称为动作优势函数,称为asAπ(s,a),终值函数可以表示为 (李老师图)

这个方程不能确定vπ(s)和aπ(s,a)在最终输出中的作用。为了反映这种可识别性,动作优势函数通常是单个动作优势函数减去一个状态下所有动作优势函数的平均值,这可以确保该状态下每个动作优势函数的相对顺序保持不变,并且可以缩小Q值的范围,消除冗余自由度,并提高了算法的稳定性。实践中使用的组合公式如下。
??????

4.2.1. 决策模型元素
(1)代理
在该模型中,每个MD被视为一个代理(相当于一个调度器),它根据环境的当前状态选择下一个动作,并通过与环境的持续交互提高代理做出决策的能力。agent的目标是在任何状态下都能做出最优的行为,从而使边缘计算系统的总成本最小化。

(2) 状态
在每个时隙的开始,每个代理观察环境的状态,包括MD任务的属性、等待队列状态、传输队列状态、带宽信息和边缘节点的实时负载,所有状态都与代理选择的操作密切相关。其中H(t)表示每个边缘节点上的历史负载水平,q是时隙t—1的边缘节点状态信息。
(3) action
基于当前状态,代理首先决定是否需要卸载新生成的任务以进行计算,即xtm;如果需要卸载,则选择卸载哪个服务器,即ytm;在卸载变速箱时,还可以选择适当的变速箱功率,即ptm。
(公式所以图中的那个集合就表示{(x1,x2,…,xn+1+1)|xi=0或1},里面的元素有2^n个,比如(0,0,…,0),(0,0,…,1)等)

(4) 奖励
在观察到slott时刻的状态后,代理根据策略采取行动,然后在slott+1时刻收到奖励,同时更新调度策略网络,以便在下一个时隙做出最佳决策。每个代理的目标是通过优化从状态到行为的映射,使其长期折扣回报最大化,从而使代理在与环境的持续交互中倾向于做出最佳决策。奖励功能如下所示,详细设计见第4.2.2节。

4.2.2. 奖赏函数的设计
奖赏函数通常是根据系统模型的目标函数来设计的,它通过做出最优的卸载决策来最小化处理延迟和能量消耗的总成本。在本文的模型中,无论任务是否卸载,任务都可能超过可容忍的延迟限制。这些任务被认为是不成功的任务,但也会消耗相应的资源。为了减少整个系统中的任务数量,并使系统的成本最小化,必须设计合理的奖励函数。
对于只考虑节省本地能源消耗的MDS来说,卸载是首选的。如果所有MDs都卸载任务,边缘服务器将过载,MDs的空闲状态也是计算资源的浪费,因此需要同时考虑任务的执行延迟和能耗。当一项任务在不超过给定容差延迟的情况下成功完成时,将给予相应的奖励;当任务超过容忍延迟时,该任务将被视为被丢弃并受到惩罚。通过这种设计,无论任务是在本地执行还是在边缘服务器上执行,只要在指定的时间内完成,操作都会得到奖励。在本文中,对于仅在指定时间内完成且消耗最少能量的任务,执行延迟越短,任务获得的回报越大,整个系统的成本最低。为了与本文模型中的目标一致,我们使用了负奖励。当系统目标函数处于最低水平时,DRL可以获得最大回报。基于上述考虑,报酬函数设计如下

相应任务的惩罚是多少

本文的DRL算法结构是基于DQN参数更新改进的双DQN和神经网络结构改进的双DQN算法相结合,然后将LSTM预测算法迁移到DRL决策算法。本文提出了一种基于深度强化学习算法的在线预测卸载(OPO)算法来解决建模问题,算法1给出了模型训练的具体过程。

在算法中,概率为1−ε的第8-14行选择随机操作或LSTM predict操作a,第21-25行是参考DoubleDQN更新方法的网络参数更新

你可能感兴趣的:(edge,前端,缓存)