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

资源调度的方法、装置、电子设备及存储介质与流程

2021-10-19 23:30:00 来源:中国专利 TAG:调度 电子设备 装置 计算机 方法


1.本发明涉及计算机技术领域,具体涉及资源调度的方法、装置、电子设备及存储介质。


背景技术:

2.随着人工智能技术的发展及应用,对算力的要求也变得越来越大,目前常见的做法是搭建一个分布式系统集群,然后基于集群做模型的训练。对于一个集群而言,其中资源调度策略是其核心功能之一。
3.目前,在分布式系统中,其资源调度策略仍然是基于定义的规则来对提交的任务进行物理节点的分配,在实际应用中,随着提交的模型训练任务量的增加,越来越多的训练任务被堆积,而实际集群资源却得不到充分利用。
4.综上,目前亟需一种资源调度的技术,用于解决上述现有技术存在的问题。


技术实现要素:

5.由于现有方法存在上述问题,本发明提出资源调度的方法、装置、电子设备及存储介质。
6.第一方面,本发明提供了一种资源调度的方法,包括:
7.获取任务以及当前环境状态;所述任务包含资源需求量;所述当前环境状态包括多个物理节点当前的负载状态;
8.将所述任务、所述当前环境状态输入至已训练的资源调度模型,得到部署所述任务的动作描述信息;
9.根据所述动作描述信息将所述任务部署到所述动作描述信息对应的物理节点上;
10.其中,所述已训练的资源调度模型为利用不同任务以及不同环境状态进行训练后得到。
11.进一步地,所述资源调度模型包含价值网络以及目标网络,在将所述任务、所述当前环境状态输入至已训练的资源调度模型,得到部署所述任务的动作描述信息之前,还包括:
12.获取预设数量的训练样本集;每组训练样本包含第一环境状态、动作描述信息、第二环境状态、动作奖励;所述第一环境状态为执行所述动作描述信息前各个物理节点负载状态;所述第二环境状态为执行所述动作描述信息后各个物理节点负载状态;所述动作奖励为执行所述动作描述信息对应的奖励值;
13.将所述第一环境状态、所述动作描述信息输入到所述价值网络中得到第一函数值;
14.将所述第二环境状态输入到所述目标网络中得到第二函数值;
15.根据所述第一函数值、所述第二函数值确定损失函数;
16.根据所述损失函数更新所述资源调度模型的参数,得到已训练的资源调度模型。
17.进一步地,所述根据所述损失函数更新所述资源调度模型的参数,包括:
18.根据所述损失函数更新所述价值网络的参数;
19.判断所述价值网络更新次数是否达到预设阈值,若达到,则将所述价值网络的参数赋值给所述目标网络的参数。
20.进一步地,所述价值网络包含第一网络以及第二网络;所述将所述第一环境状态、所述动作描述信息输入到所述价值网络中得到第一函数值,包括:
21.将所述第一环境状态、所述任务输入至所述第一网络中,得到所述动作描述信息;
22.将所述第一环境状态、所述动作描述信息输入到所述第二网络中得到所述第一函数值。
23.进一步地,所述获取预设数量的训练样本集,包括:
24.获取所述动作描述信息对应的资源均匀度、资源饱和度;
25.根据所述资源均匀度、所述资源饱和度确定所述动作描述信息对应的动作奖励。
26.进一步地,所述根据所述资源均匀度、所述资源饱和度确定所述动作描述信息对应的动作奖励,包括:
27.通过对所述资源均匀度、所述资源饱和度进行加权求和得到所述动作描述信息对应的动作奖励。
28.进一步地,所述任务包括内存需求量、磁盘需求量以及显存需求量。
29.第二方面,本发明提供了一种资源调度的装置,包括:
30.获取模块,用于获取任务以及当前环境状态;所述任务包含资源需求量;所述当前环境状态包括多个物理节点当前的负载状态;
31.处理模块,用于将所述任务、所述当前环境状态输入至已训练的资源调度模型,得到部署所述任务的动作描述信息;根据所述动作描述信息将所述任务部署到所述动作描述信息对应的物理节点上;其中,所述已训练的资源调度模型为利用不同任务以及不同环境状态进行训练后得到。
32.进一步地,所述资源调度模型包含价值网络以及目标网络,所述处理模块还用于:
33.在将所述任务、所述当前环境状态输入至已训练的资源调度模型,得到部署所述任务的动作描述信息之前,获取预设数量的训练样本集;每组训练样本包含第一环境状态、动作描述信息、第二环境状态、动作奖励;所述第一环境状态为执行所述动作描述信息前各个物理节点负载状态;所述第二环境状态为执行所述动作描述信息后各个物理节点负载状态;所述动作奖励为执行所述动作描述信息对应的奖励值;
34.将所述第一环境状态、所述动作描述信息输入到所述价值网络中得到第一函数值;
35.将所述第二环境状态输入到所述目标网络中得到第二函数值;
36.根据所述第一函数值、所述第二函数值确定损失函数;
37.根据所述损失函数更新所述资源调度模型的参数,得到已训练的资源调度模型。
38.进一步地,所述处理模块具体用于:
39.根据所述损失函数更新所述价值网络的参数;
40.判断所述价值网络更新次数是否达到预设阈值,若达到,则将所述价值网络的参数赋值给所述目标网络的参数。
41.进一步地,所述价值网络包含第一网络以及第二网络;所述处理模块具体用于:
42.将所述第一环境状态、所述任务输入至所述第一网络中,得到所述动作描述信息;
43.将所述第一环境状态、所述动作描述信息输入到所述第二网络中得到所述第一函数值。
44.进一步地,所述处理模块具体用于:
45.获取所述动作描述信息对应的资源均匀度、资源饱和度;
46.根据所述资源均匀度、所述资源饱和度确定所述动作描述信息对应的动作奖励。
47.进一步地,所述处理模块具体用于:
48.通过对所述资源均匀度、所述资源饱和度进行加权求和得到所述动作描述信息对应的动作奖励。
49.进一步地,所述处理模块具体用于:所述任务包括内存需求量、磁盘需求量以及显存需求量。
50.第三方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的资源调度的方法。
51.第四方面,本发明还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的资源调度的方法。
52.由上述技术方案可知,本发明提供的资源调度的方法、装置、电子设备及存储介质,通过设置基于资源均匀度以及资源饱和度的动作奖励,兼顾资源分配的均匀度及单节点的资源饱和度,使得在相同硬件资源下能够承担更多的任务,从而实现对提交的任务的合理分配,以达到集群资源的有效利用。
附图说明
53.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
54.图1为本发明提供的资源调度的方法的系统框架;
55.图2为本发明提供的资源调度的方法的流程示意图;
56.图3为本发明提供的训练资源调度模型的流程示意图;
57.图4为本发明提供的资源调度的方法中价值网络的示意图;
58.图5为本发明提供的资源调度的装置的结构示意图;
59.图6为本发明提供的电子设备的结构示意图。
具体实施方式
60.下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
61.本发明实施例提供的资源调度的方法,可以适用于如图1所示的系统架构中,该系统架构包括资源调度模型100、服务器200。
62.具体的,资源调度模型100用于在输入任务以及当前环境状态后得到部署任务的动作描述信息;
63.进一步地,根据动作描述信息将任务部署到动作描述信息对应的服务器200上;
64.需要说明的是,其中,已训练的资源调度模型为利用不同任务以及不同环境状态进行训练后得到。
65.举例来说,当前环境存在3个服务器,资源调度模型100在输入任务以及当前环境状态后得到部署任务的动作描述信息为(1,0,0),表示将任务部署到第一个服务器上。
66.需要说明的是,图1仅是本发明实施例系统架构的一种示例,本发明对此不做具体限定。
67.基于上述所示意的系统架构,图2为本发明实施例提供的一种资源调度的方法所对应的流程示意图,如图2所示,该方法包括:
68.步骤201,获取任务以及当前环境状态。
69.需要说明的是,任务包含资源需求量;当前环境状态包括多个物理节点当前的负载状态。
70.在一种可能的实施方式中,任务包括内存需求量、磁盘需求量以及显存需求量。
71.本发明实施例中,任务还可以包括网络带宽需求量、磁盘i/o吞吐量等,本发明实施例对此不做具体限定。
72.以内存需求量、磁盘需求量以及显存需求量为例,对于一个任务χ,χ∈γ,其中,γ为所有任务组合。
73.本发明实施例中,针对内存空间b(0<b≤b,b∈n

)、磁盘空间c(0<c≤c,c∈n

)以及显存大小d(0≤d≤d,d∈n

),γ共有b*c*(d 1)种组合数。
74.需要说明的是,其中,n

为正整数,上述内存空间、磁盘空间、显存大小的单位均为兆字节。
75.在一种可能的实施方式中,当前环境状态表示第i个物理节点t时刻的状态,即其剩余的内存资源、磁盘资源及显存资源,具体如下:
[0076][0077]
需要说明的是,其中,分别表示t时刻第i个物理节点的内存剩余量,磁盘剩余量以及显存剩余量。
[0078]
本发明实施例中,考虑三种主要资源即内存空间、磁盘空间以及显存大小,简化了问题,提升了资源调度的效率。
[0079]
步骤202,将任务、当前环境状态输入至已训练的资源调度模型,得到部署任务的动作描述信息。
[0080]
步骤203,根据动作描述信息将任务部署到对应的物理节点上。
[0081]
举例来说,当前环境存在4个物理节点,资源调度模型输出的动作描述信息为(0,0,0,1),表示将任务部署到第四个物理节点上。
[0082]
需要说明的是,其中,已训练的资源调度模型为利用不同任务以及不同环境状态进行训练后得到。
[0083]
上述方案,通过将任务、当前环境状态输入至已训练的资源调度模型,得到部署任
务的动作描述信息,从而实现对提交的任务的合理分配,以达到集群资源的有效利用。
[0084]
本发明实施例在步骤202之前,步骤流程如图3所示,具体如下:
[0085]
步骤301,获取预设数量的训练样本集。
[0086]
需要说明的是,每组训练样本包含第一环境状态、动作描述信息、第二环境状态、动作奖励。
[0087]
具体的,第一环境状态为执行动作描述信息前各个物理节点负载状态;第二环境状态为执行动作描述信息后各个物理节点负载状态;动作奖励为执行动作描述信息对应的奖励值。
[0088]
本发明实施例中,训练样本集的产生过程如下:
[0089]
s0→
a0→
r1→
s1→…→
s
t
‑1→
a
t
‑1→
r
t

s
t
→…
[0090]
需要说明的是,其中,s
t
‑1表示t

1时刻的环境状态,a
t
‑1表示t

1时刻采取的动作描述信息,r
t
表示t时刻获取的动作奖励。
[0091]
具体的,获取动作描述信息对应的资源均匀度、资源饱和度;
[0092]
根据资源均匀度、资源饱和度确定动作描述信息对应的动作奖励。
[0093]
在一种可能的实施方式中,通过对资源均匀度、资源饱和度进行加权求和得到动作描述信息对应的动作奖励。
[0094]
本发明实施例中,动作奖励主要是为了保证两个指标,一是更高的资源均匀度,二是更低的资源饱和度。
[0095]
进一步地,更高的资源均匀度能够保证任务均匀分布到各个物理节点上,更低的资源饱和度能够避免对物理节点太高的负载。
[0096]
本发明实施例中,对资源均匀度φ(z)、资源饱和度ψ(z)进行加权求和得到动作描述信息对应的动作奖励的具体公式如下:
[0097]
υ(γ,s,a)=αφ(γ,s,a) βψ(γ,s,a),0<α,β≤1
[0098]
其中,α、β分别为资源均匀度φ(z)以及资源饱和度ψ(z)的加权系数。
[0099]
进一步地,资源均匀度的具体计算公式如下:
[0100][0101]
其中,avg表示对向量求平均值,

为哈达玛积,μ,σ为各个物理节点的内存、磁盘及显存使用率的平均值及方差,ξ为一个极小值。
[0102]
具体的,μ,σ具体计算公式如下:
[0103][0104]
需要说明的是,其中为第i个物理节点关于资源m的总量,k为物理节点的总数。
[0105]
进一步地,本发明实施例中资源饱和度的具体计算公式如下:
[0106][0107]
其中,的具体计算如下:
[0108][0109]
其中,τ
m
表示对m资源容忍的物理节点剩余量,clip(value,min)表示若value值小于min值,则该函数的值为min值。
[0110]
步骤302,将第一环境状态、动作描述信息输入到价值网络中得到第一函数值。
[0111]
本发明实施例中,建立如公式1的映射,具体如下:
[0112][0113]
其中,a为动作描述信息,a∈{v1…
v
k
},v
k
表示第k个物理节点,a
*
为选择的最优动作描述信息。
[0114]
举例来说,当前环境存在3个服务器,a
*
为(0,0,1),表示将任务部署到第三个物理节点上。
[0115]
需要说明的是,第一函数值为价值网络在第一环境状态输入后选择最优动作描述信息对应的输出,最优动作描述信息是使得第一函数值最大的动作描述信息。
[0116]
进一步地,本发明实施例中,价值网络包含第一网络以及第二网络。
[0117]
具体的,在步骤302中,将第一环境状态、任务输入至第一网络中,得到动作描述信息;
[0118]
将第一环境状态、动作描述信息输入到第二网络中得到第一函数值。
[0119]
进一步地,如图4所示,state vector为当前环境状态向量,h为隐藏层,o为输出层,在本发明实施例中,t时刻的环境状态表示为如下形式:
[0120][0121]
需要说明的是,其中,表示第k个物理节点t时刻的状态。
[0122]
在一种可能的实施方式中,表示第i个物理节点t时刻的状态即其剩余的内存资源、磁盘资源及显存资源,具体如下:
[0123][0124]
需要说明的是,其中,分别表示t时刻第i个物理节点的内存剩余量,磁盘剩余量以及显存剩余量。
[0125]
进一步地,图4中的task vector从任务γ中采样所得,具体如下:
[0126][0127]
需要说明的是,其中,分别表示t时刻任务对应的内存需求量、磁盘需求量及显存需求量。
[0128]
进一步地,actor vector为第一网络输出的动作描述信息概率向量,具体如下:
[0129][0130]
需要说明的是,其中,p
i
表示选择第i个物理节点的概率。
[0131]
上述方案,由于动作描述信息为选择服务器,通过将第一环境状态、任务输入至第一网络中得到动作描述信息,将动作描述信息与任务关联,从而实现对提交的任务的合理分配,以达到集群资源的有效利用。
[0132]
步骤303,将第二环境状态输入到目标网络中得到第二函数值。
[0133]
需要说明的是,第二函数值为目标网络在第二环境状态输入后选择最优动作描述信息对应的输出,最优动作描述信息是使得第二函数值最大的动作描述信息。
[0134]
步骤304,根据第一函数值、第二函数值确定损失函数。
[0135]
步骤305,根据损失函数更新资源调度模型的参数,得到已训练的资源调度模型。
[0136]
具体的,根据损失函数更新价值网络的参数;
[0137]
判断价值网络更新次数是否达到预设阈值,若达到,则将价值网络的参数赋值给目标网络的参数。
[0138]
本技术实施例中,每当价值网络更新次数达到预设阈值后,将价值网络的参数赋值给目标网络的参数。
[0139]
本发明实施例中,价值网络与目标网络拥有相同的网络结构,采用延迟更新方法,经过多个批次的训练后,将价值网络的网络结构的权重更新到目标网络中。
[0140]
上述方案,通过设置基于资源均匀度以及资源饱和度的动作奖励,兼顾资源分配的均匀度及单节点的资源饱和度,使得在相同硬件资源下能够承担更多的任务,从而实现对提交的任务的合理分配,以达到集群资源的有效利用。
[0141]
基于同一发明构思,图5示例性的示出了本发明实施例提供的一种资源调度的装置,该装置可以为一种资源调度的方法的流程。
[0142]
所述装置,包括:
[0143]
获取模块501,用于获取任务以及当前环境状态;所述任务包含资源需求量;所述当前环境状态包括多个物理节点当前的负载状态;
[0144]
处理模块502,用于将所述任务、所述当前环境状态输入至已训练的资源调度模型,得到部署所述任务的动作描述信息;根据所述动作描述信息将所述任务部署到所述动作描述信息对应的物理节点上;其中,所述已训练的资源调度模型为利用不同任务以及不同环境状态进行训练后得到。
[0145]
进一步地,所述资源调度模型包含价值网络以及目标网络,所述处理模块502还用于:
[0146]
在将所述任务、所述当前环境状态输入至已训练的资源调度模型,得到部署所述任务的动作描述信息之前,获取预设数量的训练样本集;每组训练样本包含第一环境状态、动作描述信息、第二环境状态、动作奖励;所述第一环境状态为执行所述动作描述信息前各个物理节点负载状态;所述第二环境状态为执行所述动作描述信息后各个物理节点负载状态;所述动作奖励为执行所述动作描述信息对应的奖励值;
[0147]
将所述第一环境状态、所述动作描述信息输入到所述价值网络中得到第一函数值;
[0148]
将所述第二环境状态输入到所述目标网络中得到第二函数值;
[0149]
根据所述第一函数值、所述第二函数值确定损失函数;
[0150]
根据所述损失函数更新所述资源调度模型的参数,得到已训练的资源调度模型。
[0151]
进一步地,所述处理模块502具体用于:
[0152]
根据所述损失函数更新所述价值网络的参数;
[0153]
判断所述价值网络更新次数是否达到预设阈值,若达到,则将所述价值网络的参数赋值给所述目标网络的参数。
[0154]
进一步地,所述价值网络包含第一网络以及第二网络;所述处理模块具体用于:
[0155]
将所述第一环境状态、所述任务输入至所述第一网络中,得到所述动作描述信息;
[0156]
将所述第一环境状态、所述动作描述信息输入到所述第二网络中得到所述第一函数值。
[0157]
进一步地,所述处理模块502具体用于:
[0158]
获取所述动作描述信息对应的资源均匀度、资源饱和度;
[0159]
根据所述资源均匀度、所述资源饱和度确定所述动作描述信息对应的动作奖励。
[0160]
进一步地,所述处理模块502具体用于:
[0161]
通过对所述资源均匀度、所述资源饱和度进行加权求和得到所述动作描述信息对应的动作奖励。
[0162]
进一步地,所述处理模块502具体用于:所述任务包括内存需求量、磁盘需求量以及显存需求量。
[0163]
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图6,所述电子设备具体包括如下内容:处理器601、存储器602、通信接口603和通信总线604;
[0164]
其中,所述处理器601、存储器602、通信接口603通过所述通信总线604完成相互间的通信;所述通信接口603用于实现各设备之间的信息传输;
[0165]
所述处理器601用于调用所述存储器602中的计算机程序,所述处理器执行所述计算机程序时实现上述资源调度的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:获获取任务以及当前环境状态;所述任务包含资源需求量;所述当前环境状态包括多个物理节点当前的负载状态;将所述任务、所述当前环境状态输入至已训练的资源调度模型,得到部署所述任务的动作描述信息;根据所述动作描述信息将所述任务部署到所述动作描述信息对应的物理节点上;其中,所述已训练的资源调度模型为利用不同任务以及不同环境状态进行训练后得到。
[0166]
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述资源调度的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:获取任务以及当前环境状态;所述任务包含资源需求量;所述当前环境状态包括多个物理节点当前的负载状态;将所述任务、所述当前环境状态输入至已训练的资源调度模型,得到部署所述任务的动作描述信息;根据所述动作描述信息将所述任务部署到所述动作描述信息对应的物理节点上;其中,所述已训练的资源调度模型为利用不同任务以及不同环境状态进行训练后得到。
[0167]
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明
的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,用户生活模式预测装置,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0168]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0169]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,用户生活模式预测装置,或者网络设备等)执行各个实施例或者实施例的某些部分所述的用户生活模式预测方法。
[0170]
此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0171]
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0172]
此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0173]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜