一种基于强化学习的在线多工作流调度方法技术

技术编号:35075813 阅读:12 留言:0更新日期:2022-09-28 11:41
本发明专利技术公开了一种基于强化学习的在线多工作流调度方法。本发明专利技术首先建立系统模型来表征移动设备、边缘服务器、任务和节点。其次建立节点卸载规则,移动设备可选择将节点卸载到边缘服务器上或者留在本地执行。然后建立时间线模型,记录所有任务的到达事件以及节点的执行完成事件。再建立基于强化学习的在线多工作流调度策略,定义调度问题的状态空间和动作空间,并设计调度问题的奖励函数。最后设计一种基于策略梯度的求解在线多工作流调度问题算法用于调度策略实现。本发明专利技术基于图卷积神经网络提取的特征进行卸载决策与资源分配,能够实时分析当前的工作流以及服务器的状态,复杂度低,尽可能地降低所有工作流的平均完成时间。尽可能地降低所有工作流的平均完成时间。尽可能地降低所有工作流的平均完成时间。

【技术实现步骤摘要】
一种基于强化学习的在线多工作流调度方法


[0001]本专利技术属于移动边缘计算领域,主要涉及一种基于强化学习的在线多工作流调度方法。

技术介绍

[0002]移动边缘计算(Mobile Edge Computing,MEC)网络在网络的边缘处部署具有一定计算能力的边缘服务器,通过将计算任务卸载到靠近本地用户的网络边缘处的边缘服务器上,以提供更高的服务质量。该网络具有较低的延迟、较强的安全性以及减少网络拥塞等显著优势,解决了传统云计算模式算力有限以及时延较高的问题。有效且合理的卸载决策与资源分配将有助于提高MEC网络的性能,为企业带来可观的利润。
[0003]但是,以有向无环图(Directed Acyclic Graph,DAG)表征的工作流在MEC网络环境中的在线卸载决策与资源分配的联合优化问题为非凸的NP

hard问题,传统数学方法解该类问题计算量大,复杂性高,这为MEC网络带来巨大的负担。因此在移动边缘计算环境下如何得出较好的卸载决策与资源分配,也引起了国内外学者的广泛关注。

技术实现思路

[0004]为了解决上述问题,本专利技术提出一种基于强化学习的在线多工作流调度方法。
[0005]本专利技术包括如下步骤:
[0006]S1.建立系统模型:
[0007]移动边缘计算网络由多个移动设备和多个边缘服务器组成,移动设备的处理器频率与核数以f
n
和cpu
n
表示,边缘服务器的处理器频率与核数以f
m
>和cpu
m
表示,边缘服务器之间的带宽以及移动设备与边缘服务器之间的带宽以B表示。
[0008]每个移动设备都会在线产生相互独立的、以DAG表征的任务。每个DAG可以用一个二元组G=(V,E)来表示,其中V=(v1,

,v
k
,

,v
K
)表示该DAG里所包含的节点,E={e
kl
|v
k
∈V,v
l
∈V}表示节点之间表征连接关系的边,边e
kl
表示节点之间的约束依赖关系,即只有在节点v
k
执行完毕后,节点v
l
才能开始执行。每一个节点都可以表征为一个三元组其中W
k
表示节点v
k
的工作负载,表示节点v
k
的输入数据大小,表示节点v
k
的输出数据大小。每个移动设备和边缘服务器都有一个自己的等待队列,用于存储即将在该移动设备或边缘服务器上执行的节点。
[0009]S2.建立节点卸载规则:
[0010]移动设备以节点为单位进行卸载,可选择将节点卸载到边缘服务器上或者留在本地执行。只有在当前节点的所有前驱节点执行完毕并且数据传输完成后,当前节点才可以开始执行。本专利技术所提出的调度策略在触发调度动作后,将选出一个待分配的节点并决定其所要分配的边缘服务器或移动设备。节点v
k
在移动设备或边缘服务器上的完成时刻可由公式(1)计算:
[0011][0012][0013][0014][0015]其中公式(1)中avail表示移动设备或边缘服务器的可用时刻,表示取和avail的较大值。公式(2)表示当前节点v
k
所有前驱节点执行完成并且输出数据传输完成的时刻,其中表示节点v
l
执行完成的时刻,表示遍历节点v
k
的所有前驱节点v
l
,取与T
tran
(v
l
,v
k
)之和的最大值。公式(3)表示传输数据所需时间,若前驱节点和当前节点处在相同的移动设备或边缘服务器上执行则不需要进行数据的传输,反之则需要,公式(4)表示节点的执行所要花费的时间。
[0016]S3.建立时间线模型:
[0017]本专利技术提出了一种时间线模型,其上记录了所有DAG任务的到达事件以及节点的执行完成事件。移动设备上任务的到达过程服从参数为λ的泊松分布,即任务达到率为λ。时间线上离当前时刻最近的事件会不断被抓取,并根据被抓取的事件更新当前时刻,直到满足触发调度动作的条件。调度动作触发的条件是有可调度的节点并且边缘服务器或该节点所属的移动设备空闲时,调度动作结束后,则会继续抓取时间线上的事件。
[0018]S4.基于强化学习的在线多工作流调度策略:
[0019]需要定义调度问题的状态空间和动作空间,并设计调度问题的奖励函数,使用梯度策略进行训练,目标是使期望奖励最大化。具体包含以下子步骤:
[0020]S41.定义状态空间:
[0021]在以DAG表征的多工作流在线调度的环境下,与环境交互的智能体采用图卷积神经网络提取所有DAG的特征。通过图卷积神经网络,每个节点会自上而下聚合自己子节点的信息,同时自身作为父节点的子节点也会被其对应的父节点所聚合。通过消息一步步传递聚合可以得到每个节点的嵌入向量,其中包含每个节点关键路径值的信息。同时基于这些节点的嵌入向量,智能体可以进一步聚合而成节点所属DAG的嵌入向量,其中包括该DAG的剩余工作量的信息。再基于这些DAG的嵌入向量,智能体可以聚合得到全局的嵌入向量,其中包含全局的工作量的信息。
[0022]智能体观测环境而得的环境状态分为两部分:
[0023]在选择所要调度的节点时,智能体可观测环境状态O
node
表示为公式(5):
[0024]O
node
=[E
node
,E
DAG
,E
globa
,T
stay
,T
waste
,D
i,o
,W
node
,W
pre
]ꢀꢀꢀꢀꢀꢀꢀ
(5)
[0025]其中E
node
、E
DAG
、E
globa
分别表示节点、节点所属DAG、全局级别的嵌入向量;T
stay
表示节点所属DAG在环境中的停留时间;T
waste
表示节点在移动设备或边缘服务器上执行会等待多长时间以及移动设备或边缘服务器会等待多长时间;D
i,o
表示节点的输入与输出数据;W
node
表示节点的工作负载;W
pre
表示节点的所有父节点的工作负载之和。
[0026]在选择本次所要分配的服务器时,智能体可观测环境状态O
server
表示为公式(6):
[0027]O
server
=[st
pre
,st
server
,T
exec
,num
child
,W
child
]ꢀꢀꢀꢀ本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于强化学习的在线多工作流调度方法,其特征在于包括以下步骤:S1.建立系统模型:移动边缘计算网络由多个移动设备和多个边缘服务器组成,移动设备的处理器频率与核数以f
n
和cpu
n
表示,边缘服务器的处理器频率与核数以f
m
和cpu
m
表示,边缘服务器之间的带宽以及移动设备与边缘服务器之间的带宽以B表示;将每个移动设备在线产生相互独立的任务用有向无环图DAG表征,则每个有向无环图DAG表示为一个二元组G=(V,E)表示,其中V=(v1,...,v
k
,...,v
K
)表示该DAG里所包含的节点,E={e
kl
|v
k
∈V,v
l
∈V}表示节点之间表征连接关系的边,边e
kl
表示节点之间的约束依赖关系,即只有在节点v
k
执行完毕后,节点v
l
才能开始执行;每一个节点表征为一个三元组其中W
k
表示节点v
k
的工作负载,表示节点v
k
的输入数据大小,表示节点v
k
输出数据大小;S2.建立节点卸载规则:调度策略在触发调度动作后,选出一个待分配的节点并决定其所要分配的边缘服务器或移动设备;S3.建立时间线模型:所述时间线模型记录了所有DAG任务的到达事件以及节点的执行完成事件;移动设备上任务的到达过程服从参数为λ的泊松分布,即任务达到率为λ,时间线上离当前时刻最近的事件不断被抓取,并根据被抓取的事件更新当前时刻,直到满足触发调度动作的条件;调度动作结束后,则会继续抓取时间线上的事件;S4.基于强化学习的在线多工作流调度策略:定义调度问题的状态空间和动作空间,并设计调度问题的奖励函数,使用梯度策略进行训练;S41.定义状态空间:智能体观测环境而得的环境状态分为两部分:在选择所要调度的节点时,智能体可观测环境状态O
node
表示为公式(5):O
node
=[E
node
,E
DAG
,E
globa
,T
stay
,T
waste
,D
i,o
,W
node
,W
pre
]
ꢀꢀꢀꢀ
(5)其中E
node
、E
DAG
、E
globa
分别表示节点、节点所属DAG以及全局级别的嵌入向量;T
stay
表示节点所属DAG在环境中的停留时间;T
waste
表示节点在移动设备或边缘服务器上执行会等待多长时间以及移动设备或边缘服务器会等待多长时间;D
i,o
表示节点的输入与输出数据;W
node
表示节点的工作负载;W
pre
表示节点的所有父节点的工作负载之和;在选择所要分配的服务器时,智能体可观测环境状态O
server
表示为公式(6):O
server
=[st
pre
,s
tserver
,T
exec
,num
child
,W
child
]
ꢀꢀꢀ
(6)其中st
pre
表示该节点的前驱节点数据传输完成的时刻;st
server
表示各个服务器的可用时刻;T
exec
表示节点在各个服务器上的执行时间;num
child
表示节点的所有子节点总数以及所有后代节点总数;W
child
表示节点的所有子节点以及所有后代节点的工作负载之和;S42.定义动作空间:智能体将上述观测到的状态O
node
与O
server
分别输入基于梯度策略的两个神经网络,以从待调度的节点里选出当次要调度的节点node,以及从可用的服务器里选出所要给该节点分
配的服务器server,由公式(7)表示:A=[node,server]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)其中A表示定义的动作空间;S43.定义奖励函数:即刻奖励设定为当次动作开始到下一个动作触发的这段时间内,所有DAG任务在环境内的存在时间R,由公式(8)(9)表示:R=

∑T
stay
(G)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)T
stay
(G)=min(T
now
,T
finish
(G))

max(T
pre
,T
arrive
(G))
ꢀꢀꢀꢀ
(9)其中T
now
表示当前时刻;T
finish
(G)表示工作流G的完成时刻;T
pre
表示上一个动作执行的时刻;T
arrive
(G)表示工作流G的到达时刻;min(T
now
,T
finish
(G))表示取T
now
,T
finish
(G)的最小值;max(T
pre
,T
arrive<...

【专利技术属性】
技术研发人员:殷昱煜黄子信黄彬彬
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1