1.一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,包括步骤:通过云环境采集资源的当前配置信息和作业的需求信息;
所述资源的当前配置信息和作业的需求信息分别以矩阵图像表示,所述矩阵图像包括单元格,同一种彩色的单元格表示同一个作业,同一种彩色的单元格形成的矩形包括M×N个单元格,M表示资源数,N表示时间步;
根据所述矩阵图像,利用深度学习方法得到高层语义信息;
根据所述高层语义信息,利用强化学习方法完成资源的实时调度规划;
所述利用深度学习方法得到高层语义信息及利用强化学习方法完成资源的实时调度规划具体为:第一步:状态空间表示,具有CPU,memory资源的集群,作业以离散时间在线方式到达集群,调度器在每个时间步选择调度至少一个等待作业,作业的资源需求在到达时已知,每个作业的资源属性表示为向量ri=(ri,1,ri,2),Ti为作业的持续时间的集群;集群状态表示接下来T个时间步为等待服务的作业配置资源的情况,集群状态图像中不同颜色代表不同的作业;系统状态空间将表示成二进制矩阵的形式作为神经网络的输入,其中彩色单位以1表示,空白单位以0表示;状态空间固定表示M个等待调度的作业的属性,剩下未被选入调度队列的作业将积压在缓冲区backlog中,等待调入调度队列;
第二步:动作空间的表示;在每个时间步,调度器将在包含M个作业的调度队列中选择调度一到多个作业进入集群中进行服务,动作空间表示为{0,1,2,...,M},当a=i表示调度作业i,a=0表示该时间步不调度任何作业;
第三步:优化目标与回报函数设计;将最小化平均作业完成时间作为优化目标,回报函数设计为:R=-|J|,J为当前时间步系统中未完成的作业数;
第四步:网络结构的设计;在网络结构设计中采用卷积层,池化层来提升网络对状态空间的特征提取能力,优化训练过程;
第五步:训练过程;在整个训练过程中,使用100个不同到达序列的作业集,每个作业集包含60个作业;在每个训练回合,对同个作业集进行N=20个作业回合的探索;记录每个作业回合所有时间步的当前状态信息St,选择的动作a,获得的回报值r,下一个状态信息St+1,当回合结束时,计算当前作业回合的每个时间步所获得的累计折扣回报vt;为了使得增加一开始的Agent对状态空间的探索力度,采用ξ递增的贪心原则来选择动作;当作业集的所有作业回合结束时,计算作业集的不同作业回合的同个时间步的选择动作所获得的累计折扣回报值的均值,作为基准值bt,然后将每个作业回合的每个时间步选择动作所获得累计折扣回报值减去基准值Δrt=vt-bt,作为该动作的评估值Δrt;最后将同个作业集的20个作业回合的各个时间步的状态信息St,动作at,动作价值Δrt,下一状态信息St+1作为一条经验信息(St,at,Δrt,St+1),存储到经验池D中;直到经验池的经验达到一定的数量,采用mini-batch训练方法,从中随机选择M=32条经验信息,采用公式更新Q网络参数,学习率为
0.001;每C个训练回合才将当前Q网络的参数值复制给目标Q~网络,更新一次目标网络参数;所述公式为:s为更新前的状态,a为对应状态s的动作,r为回报值,s′更新后的状态,a′为对应状态s′动作,γ是折扣因子,决定着Agent的视野,θi表示在第i次迭代的Q网络的参数, 是用来计算第i次迭代的目标Q~网络参数,E表示数学期望。
2.根据权利要求1所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,根据所述矩阵图像,利用深度学习方法得到高层语义信息的步骤为:将矩阵图像输入神经网络中得到高层语义信息,所述神经网络包括卷积层、最大池化层与全连接层,矩阵图像依次经过卷积层、最大池化层与全连接层,以高层语义信息输出。
3.根据权利要求2所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,所述卷积层、最大池化层与全连接层的结构与参数见表格1:表格1.卷积层、最大池化层与全连接层的结构与参数表
Layer Convolutional Max-pool Fully-connectedInput size 40*18=720 40*18*8=5760 20*9*8=1440Filter size 2×2 2×2 ——
Stride (1,1) (2,2) ——
#Filters 8 —— ——
Activation Relu函数 —— ——
Output size 40*18*8=5760 20*9*8=1440 6((queue length+1))。
4.根据权利要求3所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,ξ的初始值为0.7,最大值为0.9,每一训练回合的增幅是0.001。
5.根据权利要求4所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,所述作业平均完成时间的计算步骤包括:得到训练完成的深度卷积神经网络,Agent将采集到的矩阵图像输入神经网络和训练完成的深度卷积神经网络组成的深度强化学习网络中,得到作业平均完成时间。