技术新讯 > 电子通信装置的制造及其应用技术 > 用于DAG移动任务的深度强化学习计算卸载方法  >  正文

用于DAG移动任务的深度强化学习计算卸载方法

  • 国知局
  • 2024-08-05 11:54:55

本发明涉及移动边缘计算和边缘人工智能,尤其指一种用于dag移动任务的深度强化学习计算卸载方法。

背景技术:

1、智能移动设备应用程序内部对数据的分析、计算、存储的逻辑过程已变得极其复杂,应用内部不同程序段构成的任务模块之间通过控制相关性或数据相关性形成有向无环图(dag)约束关系构成了整个应用程序。计算卸载是边缘计算拓展各种终端计算设备的计算和存储能力的一项重要基础性关键技术,它能使计算任务能够从资源受限制的设备迁移到资源更充足的边缘设备或者云计算设施进行处理,以减少资源受限设备的处理负载,提高这些设备处理复杂应用能力,保障用户体验。然而由于边缘计算网络中各边缘设备自身轻量化的物理特性难以提供稳定的计算处理能力,并且边缘计算网络通信状态会随着环境变化发生变化,使得边缘计算网络的处理能力和通信传输能力会随机波动变化。由于以上原因,在使用现有算法(比如heft算法、tmc-pcp算法)解决边缘计算网络中dag任务计算卸载时,大多还存在着任务的总执行时间较长和边缘计算设备的工作负载较大等问题。

技术实现思路

1、本发明所要解决的技术问题是提供一种能自适应网络中边缘设备计算能力和网络通信状态变化,且能够减少dag任务的总执行时长和边缘计算设备的工作负载的计算卸载方法。

2、为了解决上述问题,本发明采用如下技术方案:

3、用于dag移动任务的深度强化学习计算卸载方法,在分布式异构边缘计算网络中,按以下步骤进行dag移动任务的计算卸载:

4、s1.先给移动设备上的每个应用增加两个计算负载量为0的结点,移动设备再向边缘计算设备发送计算卸载请求,在应用的卸载请求数据到达边缘计算设备后,边缘计算设备将任务降序排列到缓存队列中并为缓存队列中的每个任务分配一个最迟完成时间;

5、s2.协同控制器从所有边缘计算设备的缓存队列中找出就绪任务,并存入协同控制器中的一个就绪任务队列qr中,再将该队列中的就绪任务按照最迟完成时间升序排列存储;

6、s3.从就绪任务队列qr中取出队首任务tni;

7、s4.协同控制器根据当前边缘计算网络构建由多个分量构成的环境状态向量,并对每个分量元素使用反余切函数进行归一化处理;

8、s5.将归一化处理后的环境状态向量发送给协同控制器中的强化学习agent;

9、s6.从强化学习agent中返回当前任务tni要分配到的目标计算设备m*;

10、s7.计算目标计算设备m*能够执行任务tni的预计就绪时间h(m*);

11、s8.计算任务tni的父任务最大数据到达时间和在目标计算设备m*上的预计开始时间其中

12、s9.确定两个记录变量:任务tni在目标计算设备m*上父任务数据传输时间目标计算设备m*的处理器等待时间

13、s10.计算任务tni在目标计算设备m*上的执行时间和预计完成时间其中

14、s11.将任务tni分配调度到目标计算设备m*上,计算当前的奖励值reward;

15、s12.从就绪任务队列qr中取出下一个队首任务,再依次执行步骤s4~s11,直到就绪任务队列qr中所有就绪任务全部调度到设备上;

16、s13.当任意一个边缘计算设备上有一个任务处理完成时,协同控制器从所有边缘计算设备的缓存队列中找出就绪任务,并存入协同控制器中的就绪任务队列qr中,再将该队列中的就绪任务按照最迟完成时间升序排列存储,从就绪任务队列qr中取出下一个队首任务,再依次执行步骤s4~s12,直到应用n的所有计算任务全部处理完毕,且没有新应用的卸载请求再次到达时结束。

17、在步骤s1中,在对任务降序排列之前,先按以下步骤确定任务的b-level优先级:根据内部的任务间逻辑依赖约束,按b-level计算规则,以所有边缘计算设备的平均处理能力和边缘计算网络的平均数据传输率给每个任务计算b-level优先级。

18、在步骤s4中,构建的环境状态向量是由六个分量构成的向量sτ,其中向量其中,表示网络中不同边缘计算设备之间的数据传输率总和,即表示移动设备n和边缘计算设备mn之间的数据传输率;表示网络中边缘计算设备总的处理能力,即其中ρm表示边缘计算设备m的处理能力;δr表示队列qr中就绪任务的总计算负载量;δe表示所有边缘计算设备的处理器等待队列中任务计算负载量的总和;δm表示移动设备的处理器等待队列中任务计算负载量的总和;状态向量sτ的下角标τ表示当前的时刻。

19、在步骤s7中,预计就绪时间h(m*)按下式(1)计算:

20、

21、其中,ahead(tni)表示在目标计算设备m*的处理器队列上已排在tni前面的任务队列,表示任务tnv的预计完成时间。

22、在步骤s8中,任务tni的父任务最大数据到达时间按下式(2)计算:

23、

24、其中,pre(tni)表示tni的父任务集合,表示任务tnj的预计完成时间,表示由任务tnj所在计算设备m'到tni所要调度到的目标计算设备m*之间的数据传输时间;

25、如果m'=m*,则如果m'≠m*,则

26、其中eji是任务tnj和tni之间的数据传输量,表示计算设备m'到目标计算设备m*之间的数据传输率。

27、在步骤s9中,如果小于当前时间τ,则如果大于当前时间τ,则如果h(m*)小于当前时间τ,则如果h(m*)大于当前时间τ,则

28、在步骤s10中,任务tni在目标计算设备m*上的执行时间按下式计算:

29、

30、其中,δni表示任务tni的计算负载量,为目标计算设备m*的处理能力。

31、在步骤s11中,奖励值reward按下式(3)计算:

32、reward=util-duration-penalty   (3)

33、其中,其中α和β是两个权重调节因子;其中γ是一个权重调节因子;其中lftni是任务tni的最迟完成时间,η是一个权重调节因子。

34、在步骤s5中,强化学习agent基于dqn算法,并设置有一个评估q网络和一个目标q网络,使用经验回放批量更新两个q网络。

35、在步骤s5开始之前,先训练网络直至网络的损失函数小于给定的阈值后输出稳定的深度神经网络的权重参数,然后在正式使用时由agent接收输入的环境状态向量,在步骤s6由agent把由dqn算法给出的action返回,指导任务的调度。

36、此外,在分布式异构边缘计算网络中,由协同控制器收集能够互相通信的各边缘计算设备的当前状态信息并发布给其它边缘计算设备;为每个边缘计算设备分配一个指定的服务区域并令其负责接收自身服务区域内的移动设备发来的计算卸载请求和上传的应用数据,以及在其自身服务区域内的移动设备与其他服务区域的边缘计算设备进行数据传输时作为中转站。

37、还有,上述步骤s1具体包括以下步骤:

38、s01.移动设备发送计算卸载请求前先给每个应用分别增加两个计算负载量为0的结点,一个是出口tni,即只有父任务,另一个是入口tn0,即只有子任务;

39、s02.移动设备向其所能接入的边缘计算设备发送应用数据;

40、s03.当一个应用n的卸载请求数据到达任意一个边缘计算设备后,给每个任务计算b-level优先级;

41、s04.将当前应用的任务按照b-level降序排列到一个缓存队列中;

42、s05.边缘计算设备给缓存队列中的每个任务tni分配一个最迟完成时间lftni。

43、本发明的方法在应用时,首先,调度算法对dag任务进行解耦合,将就绪任务映射到一个按照最迟完成时间升序排列的队列,并取出一个任务;其次,调度算法将边缘计算环境采样成状态向量传给dqn的agent;之后,agent接收调度算法的状态信息启动dqn深度学习算法并向调度算法发送它所选择的设备id;随后调度算法根据收到的设备id将一个就绪任务分配到对应设备上处理;等到有就绪任务处理完成之后,环境状态会改变,调度算法会取出下一个任务,且向agent重新发送环境状态,通过不断循环交互,所有就绪任务执行完毕之后回合结束。相比于heft算法与tmc-pcp算法,本发明提供的方法显著减少了任务的总执行时间(makespan)和边缘设备的工作负载,同时能自适应网络中边缘设备计算能力和网络通信状态变化。

44、值得一提的是,强化学习是机器学习的一种,它通过试错来学习。在强化学习中,智能体(agent)在环境中做出行动,并且根据行动接收反馈。强化学习的目标是学习一个能够最大化累计奖励的策略。在边缘计算任务卸载调度的背景下,强化学习可以学习异构多变的通信网络、计算设备上负载量的状态、能量消耗等信息变化,优化哪些任务需要卸载以及何时卸载,以及卸载到哪里的决策过程。强化学习算法可以从过去的卸载决策中学习,并随着时间的推移实时调整其策略以提高性能。在边缘计算中,针对应用的dag任务使用强化学习进行计算卸载,通过将计算任务转移到更强大的设备或云计算基础设施,能够提高资源受限设备的性能。

本文地址:https://www.jishuxx.com/zhuanli/20240802/260067.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。