CN109388484A - 一种基于Deep Q-network算法的多资源云作业调度方法 - Google Patents

一种基于Deep Q-network算法的多资源云作业调度方法 Download PDF

Info

Publication number
CN109388484A
CN109388484A CN201810936826.7A CN201810936826A CN109388484A CN 109388484 A CN109388484 A CN 109388484A CN 201810936826 A CN201810936826 A CN 201810936826A CN 109388484 A CN109388484 A CN 109388484A
Authority
CN
China
Prior art keywords
resource
convolutional neural
neural networks
depth convolutional
deep
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810936826.7A
Other languages
English (en)
Other versions
CN109388484B (zh
Inventor
彭志平
林建鹏
崔得龙
李启锐
何杰光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Petrochemical Technology
Original Assignee
Guangdong University of Petrochemical Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong University of Petrochemical Technology filed Critical Guangdong University of Petrochemical Technology
Priority to CN201810936826.7A priority Critical patent/CN109388484B/zh
Publication of CN109388484A publication Critical patent/CN109388484A/zh
Application granted granted Critical
Publication of CN109388484B publication Critical patent/CN109388484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于Deep Q‑network算法的多资源云作业调度方法,包括四个步骤:通过云环境采集资源的当前配置信息和作业的需求信息;所述资源的当前配置信息和作业的需求信息分别以矩阵图像表示,所述包括单元格,同一种彩色的单元格表示同一个作业,同一种彩色的单元格形成的矩形包括M×N个单元格,M表示资源数,N表示时间步;根据所述矩阵图像,利用深度学习方法得到高层语义信息;根据所述高层语义信息,利用强化学习方法完成资源的实时调度规划。本发明矩阵图像能完全清晰地表示资源与作业的状态。本方法还使用了深度强化学习,将深度与强化学习进行了结合,其中深度学习主要完成环境状态感知,而强化学习完成决策,实现状态到动作的映射。

Description

一种基于Deep Q-network算法的多资源云作业调度方法
技术领域
本发明涉及云计算资源调度领域,具体涉及一种基于Deep Q-network算法的多资源云作业调度方法。
背景技术
资源调度问题是云计算领域的研究难点与热点。良好的资源分配与调度策略能够有效的利用资源,在确保用户服务质量(QoS)的同时,增加供应商的经济收益。云计算资源调度实际上是一种多约束、多目标优化的NP-hard问题。目前传统的解决决策问题的方法是在特定条件下设计具有性能保证的高效启发式算法,通用性与实用性不强,无法适应多变复杂的云环境。另外,研究人员通过将云环境下的资源调度抽象为贯序决策问题,将决策问题转化为目标函数优化问题,通过强化学习算法,寻找出资源配置的最优策略。但强化学习算法难以处理复杂高维状态空间下的资源调度问题,且存在收敛速度慢的缺点。因此,当前云计算领域的资源管理问题往往表现为复杂环境下在线决策任务的困难,而适当的解决方案取决于对系统资源环境与作业状态的理解。
申请号为CN201610261706.2的专利披露了一种基于Q学习的混合云作业调度方法,包括步骤:定义Q学习的状态空间,将云环境资源池中活跃的虚拟机数量为状态空间。该专利的不足在于活跃的虚拟机数据不能完全表示云环境内资源与作业的状态。为了让强化学习方法能处理复杂高维状态空间下的资源调度问题,状态空间得预先将云环境内资源与作业的状态信息表示出来,更优异的方法是,利用深度学习方法将状态空间解析成高层语义信息,让强化学习方法对高层语义信息进行处理。
发明内容
为解决上述问题,本发明提供一种基于Deep Q-network算法的多资源云作业调度方法,该方法将云环境内资源与作业的状态信息通过矩阵图像表示。
本发明的技术方案为:
一种基于Deep Q-network算法的多资源云作业调度方法,包括步骤:通过云环境采集资源的当前配置信息和作业的需求信息;所述资源的当前配置信息和作业的需求信息分别以矩阵图像表示,所述包括单元格,同一种彩色的单元格表示同一个作业,同一种彩色的单元格形成的矩形包括M×N个单元格,M表示资源数,N表示时间步;根据所述矩阵图像,利用深度学习方法得到高层语义信息;根据所述高层语义信息,利用强化学习方法完成资源的实时调度规划。
本发明方法从云环境采集资源的当前配置信息和作业的需求信息,将云环境内资源与作业的状态信息通过矩阵图像表示,矩阵图像包括彩色单元格和空白单元格,同一种彩色的单元格表示同一个作业,同一种彩色的单元格形成的矩形包括M×N个单元格,M表示资源数,N表示时间步;那么,资源的当前配置信息就表示成接下来N个时间步为等待服务的作业配置资源数M,作业的需求信息表示成作业需要占用资源数M,持续时间为N个时间步。矩阵图像再依次经过深度学习与强化学习,实现资源的实时调度规划。当前云计算领域的资源管理问题往往表现为复杂环境下在线决策任务的困难,而适当的解决方案取决于对系统资源环境与作业状态的理解。矩阵图像能完全清晰地表示资源与作业的状态。
进一步地,根据所述矩阵图像,利用深度学习方法得到高层语义信息的步骤为:将矩阵图像输入神经网络中得到高层语义信息。所述神经网络包括卷积层、最大池化层与全连接层,矩阵图像依次经过卷积层、最大池化层与全连接层,以高层语义信息输出。
进一步地,所述卷积层、最大池化层与全连接层的结构与参数见表格1:
表格2.卷积层、最大池化层与全连接层的结构与参数表
进一步地,所述根据所述高层语义信息,利用强化学习方法完成资源的实时调度规划的步骤为:将所述高层语义信息输入预先设计好的深度卷积神经网络中,预先设计的深度卷积神经网络的步骤包括:
采集待规划Agent与云环境进行交互的历史经验,并存储在所述经验回放记忆池D中,所述历史经验为四元组信息(st,at,Δrt,st+1),st为当前状态,at为执行动作,Δrt为对应执行动作at的回报值,st+1为执行动作at后的下一个状态;所述历史经验的获取过程为:Agent根据当前状态st,从可行的动作集中任意选择一个动作at,Agent对执行动作at进行评估,并给予回报值Δrt;Agent采集执行动作at后的作业集,并输入到资源的当前配置集群后,得到状态st+1;持续采集待规划Agent与环境进行交互的历史经验,并存储到经验回放记忆池D中,得到训练样本集D;
在经验回放记忆池D中随机采样四元组信息(st,at,Δrt,st+1),输入到深度卷积神经网络和目标深度卷积神经网络中,并做如下处理:其中初始时,深度卷积神经网络和目标深度卷积神经网络参数相同;将状态s代入深度卷积神经网络中进行前馈操作得到所有可行动作对应的预测Q值;将状态s在其四元组信息中对应的状态s′代入目标深度卷积神经网络中进行前馈操作计算网络输出的最大值其中a′为状态s′代入目标深度卷积神经网络后对应最大Q值的动作,θi表示在第i次迭代的深度卷积神经网络的参数,是用来计算第i次迭代的目标深度卷积神经网络的参数;将状态s在其四元组信息中对应的动作a的动作值Q(s,a;θi)更新为其中γ为折扣因子;根据深度卷积神经网络和目标深度卷积神经网络的输出构建损失函数为:
其中E表示数学期望;
应用随机梯度下降方法进行深度卷积神经网络和目标深度卷积神经网络参数的迭代更新,其中深度卷积神经网络中的参数实时更新,而目标深度卷积神经网络中的参数每隔C个训练回合进行更新;当达到迭代步数后,得到训练完成的深度卷积神经网络。
进一步地,Agent对动作at进行评估,并给予回报值Δrt的步骤包括:Agent计算当前作业回合的每个时间步所获得的累计折扣回报vt,采用ξ递增的贪心原则来选择动作;当作业集的所有作业回合结束时,计算作业集的不同作业回合的同个时间步的选择动作所获得的累计折扣回报值的均值,作为基准值bt,然后将每个作业回合的每个时间步选择动作所获得累计折扣回报值vt减去基准值bt,作为该动作的回报值Δrt,则Δrt=vt-bt
进一步地,ξ的初始值为0.7,最大值为0.9,每一训练回合的增幅是0.001。
进一步地,深度卷积神经网络预先设置动作空间,动作空间表示为{0,1,2,.i,…},动作空间存储所有可行动作a,当a=i表示调度作业i,a=0表示不调度任何作业。
进一步地,深度卷积神经网络将作业平均完成时间最小化作为优化目标,回报函数为R=-|J|,J为当前时间步未完成的作业数。
进一步地,所述作业平均完成时间的计算步骤包括:得到训练完成的深度卷积神经网络,Agent将采集到的矩阵图像输入神经网络和训练完成的深度卷积神经网络组成的深度强化学习网络中,得到作业平均完成时间。
进一步地,所述资源包括CPU资源与内存资源。
本发明利用深度学习方法来得到矩形图像的高层语义信息,并利用强化学习的方法来完成从云环境的端到端的实时资源的调度规划。训练过程中将在云环境中采集到的资源的当前配置信息和作业的需求信息处理成矩阵图像后作为当前状态带入神经网络中得到解析结果,然后将解析结果输入到设计好的深度卷积神经网络中,通过训练得到特定场景中Agent的每步决策动作,进而得到最优的完整路径。实际应用过程,利用训练好的深度强化学习网络,将采集到的矩阵图像输入,即可得到作业平均完成时间。本发明涉及:1、云环境采集资源的当前配置信息和作业的需求信息以矩阵图像表示。1、矩阵图像经神经网络解析处理,作为后续深度卷积网络的输入;2、深度卷积神经网络的应用:Agent在云环境中获得当前的矩阵图像,将其输入到事先设计好的深度卷积神经网络中,进行进一步的高度抽象特征提取,为后续的训练处理做准备;3、深度学习与强化学习的结合:即用深度卷积神经网络(deep recurrent Q-Network)去逼近表达强化学习(Q-Learning)方法;4、网络参数的训练:对深度卷积神经网络产生的损失函数通过随机梯度下降(SGD)法进行迭代训练,得到所需的最优参数。本发明提出的方法与诸多现有方法相比,最大的不同是根据矩阵图像表示资源与作业的状态。矩阵图像在Agent与环境进行交互的过程中完成资源调度规划。深度强化学习方法解决资源调度问题,方法设计合理,能够在不同场景下结合迁移学习实现准确的资源调度,适用性广泛。
附图说明
图1为本发明一种基于Deep Q-network算法的多资源云作业调度方法的流程图
图2为使用该发明方法的一个实施例的基本架构图
具体实施方式
以下结合附图对本发明进行进一步说明。
一种基于Deep Q-network算法的多资源云作业调度方法,如图1所示,包括步骤:通过云环境采集资源的当前配置信息和作业的需求信息;所述资源的当前配置信息和作业的需求信息分别以矩阵图像表示,所述包括单元格,同一种彩色的单元格表示同一个作业,同一种彩色的单元格形成的矩形包括M×N个单元格,M表示资源数,N表示时间步;根据所述矩阵图像,利用深度学习方法得到高层语义信息;根据所述高层语义信息,利用强化学习方法完成资源的实时调度规划。
本发明方法从云环境采集资源的当前配置信息和作业的需求信息,将云环境内资源与作业的状态信息通过矩阵图像表示,矩阵图像包括彩色单元格和空白单元格,同一种彩色的单元格表示同一个作业,同一种彩色的单元格形成的矩形包括M×N个单元格,M表示资源数,N表示时间步;那么,资源的当前配置信息就表示成接下来N个时间步为等待服务的作业配置资源数M,作业的需求信息表示成作业需要占用资源数M,持续时间为N个时间步。矩阵图像再依次经过深度学习与强化学习,实现资源的实时调度规划。当前云计算领域的资源管理问题往往表现为复杂环境下在线决策任务的困难,而适当的解决方案取决于对系统资源环境与作业状态的理解。矩阵图像能完全清晰地表示资源与作业的状态。所述资源包括CPU资源与内存资源。
具体地,根据所述矩阵图像,利用深度学习方法得到高层语义信息的步骤为:将矩阵图像输入神经网络中得到高层语义信息。所述神经网络包括卷积层、最大池化层与全连接层,矩阵图像依次经过卷积层、最大池化层与全连接层,以高层语义信息输出。
具体地,所述卷积层、最大池化层与全连接层的结构与参数见表格1:
表格3.卷积层、最大池化层与全连接层的结构与参数表
具体地,所述根据所述高层语义信息,利用强化学习方法完成资源的实时调度规划的步骤为:将所述高层语义信息输入预先设计好的深度卷积神经网络中,预先设计的深度卷积神经网络的步骤包括:
采集待规划Agent与云环境进行交互的历史经验,并存储在所述经验回放记忆池D中,所述历史经验为四元组信息(st,at,Δrt,st+1),st为当前状态,at为执行动作,Δrt为对应执行动作at的回报值,st+1为执行动作at后的下一个状态;所述历史经验的获取过程为:Agent根据当前状态st,从可行的动作集中任意选择一个动作at,Agent对执行动作at进行评估,并给予回报值Δrt;Agent采集执行动作at后的作业集,并输入到资源的当前配置集群后,得到状态st+1;持续采集待规划Agent与环境进行交互的历史经验,并存储到经验回放记忆池D中,得到训练样本集D;
在经验回放记忆池D中随机采样四元组信息(st,at,Δrt,st+1),输入到深度卷积神经网络和目标深度卷积神经网络中,并做如下处理:其中初始时,深度卷积神经网络和目标深度卷积神经网络参数相同;将状态s代入深度卷积神经网络中进行前馈操作得到所有可行动作对应的预测Q值;将状态s在其四元组信息中对应的状态s′代入目标深度卷积神经网络中进行前馈操作计算网络输出的最大值其中a′为状态s′代入目标深度卷积神经网络后对应最大Q值的动作,θi表示在第i次迭代的深度卷积神经网络的参数,是用来计算第i次迭代的目标深度卷积神经网络的参数;将状态s在其四元组信息中对应的动作a的动作值Q(s,a;θi)更新为其中γ为折扣因子;根据深度卷积神经网络和目标深度卷积神经网络的输出构建损失函数为:
其中E表示数学期望;
应用随机梯度下降方法进行深度卷积神经网络和目标深度卷积神经网络参数的迭代更新,其中深度卷积神经网络中的参数实时更新,而目标深度卷积神经网络中的参数每隔C个训练回合进行更新;当达到迭代步数后,得到训练完成的深度卷积神经网络。
具体地,Agent对动作at进行评估,并给予回报值Δrt的步骤包括:Agent计算当前作业回合的每个时间步所获得的累计折扣回报vt,采用ξ递增的贪心原则来选择动作;当作业集的所有作业回合结束时,计算作业集的不同作业回合的同个时间步的选择动作所获得的累计折扣回报值的均值,作为基准值bt,然后将每个作业回合的每个时间步选择动作所获得累计折扣回报值vt减去基准值bt,作为该动作的回报值Δrt,则Δrt=vt-bt。优选地,ξ的初始值为0.7,最大值为0.9,每一训练回合的增幅是0.001。
深度卷积神经网络预先设置动作空间,动作空间表示为{0,1,2,.i,…},动作空间存储所有可行动作a,当a=i表示调度作业i,a=0表示不调度任何作业。
深度卷积神经网络将作业平均完成时间最小化作为优化目标,回报函数为R=-|J|,J为当前时间步未完成的作业数。
所述作业平均完成时间的计算步骤包括:得到训练完成的深度卷积神经网络,Agent将采集到的矩阵图像输入神经网络和训练完成的深度卷积神经网络组成的深度强化学习网络中,得到作业平均完成时间。同时,也可以得到回报值。
本发明利用深度学习方法来得到矩形图像的高层语义信息,并利用强化学习的方法来完成从云环境的端到端的实时资源的调度规划。训练过程中将在云环境中采集到的资源的当前配置信息和作业的需求信息处理成矩阵图像后作为当前状态带入神经网络中得到解析结果,然后将解析结果输入到设计好的深度卷积神经网络中,通过训练得到特定场景中Agent的每步决策动作,进而得到最优的完整路径。实际应用过程,利用训练好的深度强化学习网络,将采集到的矩阵图像输入,即可得到作业平均完成时间。本发明涉及:1、云环境采集资源的当前配置信息和作业的需求信息以矩阵图像表示。1、矩阵图像经神经网络解析处理,作为后续深度卷积网络的输入;2、深度卷积神经网络的应用:Agent在云环境中获得当前的矩阵图像,将其输入到事先设计好的深度卷积神经网络中,进行进一步的高度抽象特征提取,为后续的训练处理做准备;3、深度学习与强化学习的结合:即用深度卷积神经网络(deep convolutional Q-Network)去逼近表达强化学习(Q-Learning)方法;4、网络参数的训练:对深度卷积神经网络产生的损失函数通过随机梯度下降(SGD)法进行迭代训练,得到所需的最优参数。本发明提出的方法与诸多现有方法相比,最大的不同是根据矩阵图像表示资源与作业的状态。矩阵图像在Agent与环境进行交互的过程中完成资源调度规划。深度强化学习方法解决资源调度问题,方法设计合理,能够在不同场景下结合迁移学习实现准确的资源调度,适用性广泛。
图2为使用该发明方法的一个实施例的基本架构图,基于该基本架构图,实现步骤如下:
第一步:状态空间表示,假设具有CPU,memory资源的集群,作业以离散时间在线方式到达集群,调度器在每个时间步选择调度一个或多个等待作业,假设作业的资源需求在到达时已知,每个作业的资源属性表示为向量ri=(ri,1,ri,2),Ti为作业的持续时间的集群。将系统的状态空间表示(当前集群中机器资源当前配置和等待调度队列中作业的资源需求)如图2左边所示,集群状态表示接下来T个时间步为等待服务的作业配置资源的情况,集群状态图像中不同颜色代表不同的作业。例如,图像中标2的地方表示2号颜色,2号颜色部分代表改作业需要占用两个单位的CPU,一个单元的内存,持续时间为两个时间步。作业队列图像表示等待调度作业的资源需求,例如,作业1需要占用两个单位CPU和三个单位的内存,持续时间为两个时间步。系统状态空间将表示成二进制矩阵的形式(彩色单位以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对状态空间的探索力度,采用ξ递增的贪心原则来选择动作(ξ的初始值为0.7,最大值为0.9,每一训练回合的增幅是0.001)。当作业集的所有作业回合结束时,计算作业集的不同作业回合的同个时间步的选择动作所获得的累计折扣回报值的均值,作为基准值bt,然后将每个作业回合的每个时间步选择动作所获得累计折扣回报值减去基准值Δrt=vt-bt,作为该动作的评估值Δrt。最后将同个作业集的20个作业回合的各个时间步的状态信息st,动作at,动作价值Δrt,下一状态信息st+1作为一条经验信息(st,at,Δrt,st+1),存储到经验池D中。直到经验池的的经验达到一定的数量,采用mini-batch训练方法,从中随机选择M=32条经验信息,采用公式1更新Q网络参数,学习率为0.001。每C个训练回合才将当前Q网络的参数值复制给目标Q网络,更新一次目标网络参数。
γ是折扣因子,决定着Agent的视野,θi表示在第i次迭代的Q网络的参数,是用来计算第i次迭代的目标Q网络参数,E表示数学期望。
第六步:测试模型。实验中使用100个不同到达序列的作业集作为训练集,20个作业集作为测试集(未出现在训练集中),每个作业集包含60个作业(80%的作业持续时间为1-3t,20%的作业持续时间为10-15t,长短作业占用的CPU,内存均在1-3个单位之间)。在每个训练回合,对同个作业集进行N=20个作业回合的仿真实验,直到调度完所有作业,回合结束。迭代总次数1000次,每训练10次即使用测试集对模型策略进行测试,记录测试作业集作业平均完工时间和总回报值。
资源调度问题是云计算领域的研究难点与热点。良好的资源分配与调度策略能够有效的利用资源,在确保用户服务质量(QoS)的同时,增加供应商的经济收益。云计算资源调度实际上是一种多约束、多目标优化的NP-hard问题。目前传统的解决决策问题的方法是在特定条件下设计具有性能保证的高效启发式算法,通用性与实用性不强,无法适应多变复杂的云环境。另外,研究人员通过将云环境下的资源调度抽象为贯序决策问题,将决策问题转化为目标函数优化问题,通过强化学习算法,寻找出资源配置的最优策略。但强化学习算法难以处理复杂高维状态空间下的资源调度问题,且存在收敛速度慢的缺点。因此,当前云计算领域的资源管理问题往往表现为复杂环境下在线决策任务的困难,而适当的解决方案取决于对系统资源环境与作业状态的理解。综上所述,本技术将强化学习的交互试错机制和深度神经网络强大的非线性泛化能力结合起来应用到复杂云环境下的资源调度领域,生成在线自适应的资源调度策略,提高作业平均完成时间具有重要的现实意义。近年来,针对云计算资源调度优化问题,国内外学者进行了大量深入的研究。云计算资源调度实际上是一种多约束、多目标优化的NP-hard问题。组织良好的云资源调度方案有利于云供应商实现收益最大化,云资源的充分利用,系统能耗的最小化,保证服务质量(Qos)。深度强化学习算法结合强化学习的交互试错机制和深度神经网络强大的非线性泛化能力,模型简单、通用,解决了强化学习面对过大的状态或动作空间而难以实用的问题。并且神经网络能够准确的掌握资源动态,提取资源环境特征,为调度决策提供有用信息,能够根据系统状态生成在线的自适应资源调度策略。

Claims (10)

1.一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,包括步骤:
通过云环境采集资源的当前配置信息和作业的需求信息;
所述资源的当前配置信息和作业的需求信息分别以矩阵图像表示,所述矩阵图像包括单元格,同一种彩色的单元格表示同一个作业,同一种彩色的单元格形成的矩形包括M×N个单元格,M表示资源数,N表示时间步;
根据所述矩阵图像,利用深度学习方法得到高层语义信息;
根据所述高层语义信息,利用强化学习方法完成资源的实时调度规划。
2.根据权利要求1所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,根据所述矩阵图像,利用深度学习方法得到高层语义信息的步骤为:
将矩阵图像输入神经网络中得到高层语义信息,所述神经网络包括卷积层、最大池化层与全连接层,矩阵图像依次经过卷积层、最大池化层与全连接层,以高层语义信息输出。
3.根据权利要求3所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,所述卷积层、最大池化层与全连接层的结构与参数见表格1:
表格1.卷积层、最大池化层与全连接层的结构与参数表
4.根据权利要求3所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,所述根据所述高层语义信息,利用强化学习方法完成资源的实时调度规划的步骤为:将所述高层语义信息输入预先设计好的深度卷积神经网络中;
预先设计深度卷积神经网络的步骤包括:
采集待规划Agent与云环境进行交互的历史经验,并存储在所述经验回放记忆池D中,所述历史经验为四元组信息(st,at,Δrt,st+1),st为当前状态,at为执行动作,Δrt为对应执行动作at的回报值,st+1为执行动作at后的下一个状态;所述历史经验的获取过程为:Agent根据当前状态st,从可行的动作集中任意选择一个执行动作at,Agent对执行动作at进行评估,并给予回报值Δrt;Agent采集执行动作at后的作业集,并输入到资源的当前配置集群后,得到状态st+1;持续采集待规划Agent与环境进行交互的历史经验,并存储到经验回放记忆池D中,得到训练样本集D;
在经验回放记忆池D中随机采样四元组信息(st,at,Δrt,st+1),输入到深度卷积神经网络和目标深度卷积神经网络中,并做如下处理:其中初始时,深度卷积神经网络和目标深度卷积神经网络参数相同;将状态s代入深度卷积神经网络中进行前馈操作得到所有可行动作a对应的预测Q值;将状态s在其四元组信息中对应的状态s′代入目标深度卷积神经网络中进行前馈操作计算网络输出的最大值其中a′为状态s′代入目标深度卷积神经网络后对应最大Q值的动作,θi表示在第i次迭代的深度卷积神经网络的参数,是用来计算第i次迭代的目标深度卷积神经网络的参数;将状态s在其四元组信息中对应的动作a的动作值Q(s,a;θi)更新为其中γ为折扣因子;根据深度卷积神经网络和目标深度卷积神经网络的输出构建损失函数为:其中E表示数学期望;
应用随机梯度下降方法进行深度卷积神经网络和目标深度卷积神经网络参数的迭代更新,其中深度卷积神经网络中的参数实时更新,而目标深度卷积神经网络中的参数每隔C个训练回合进行更新;当达到迭代步数后,得到训练完成的深度卷积神经网络。
5.根据权利要求4所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,Agent对执行动作at进行评估,并给予回报值Δrt的步骤包括:
Agent计算当前作业回合的每个时间步所获得的累计折扣回报vt,采用ξ递增的贪心原则来选择动作;
当作业集的所有作业回合结束时,计算作业集的不同作业回合的同个时间步的选择动作所获得的累计折扣回报值的均值,作为基准值bt,然后将每个作业回合的每个时间步选择动作所获得累计折扣回报值vt减去基准值bt,作为该动作的回报值Δrt,则Δrt=vt-bt
6.根据权利要求5所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,ξ的初始值为0.7,最大值为0.9,每一训练回合的增幅是0.001。
7.根据权利要求6所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,深度卷积神经网络预先设置动作空间,动作空间表示为{0,1,2,.i,…},动作空间存储所有可行动作a,当a=i表示调度作业i,a=0表示不调度任何作业。
8.根据权利要求7所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,深度卷积神经网络将作业平均完成时间最小化作为优化目标,回报函数为R=-|J|,J为当前时间步未完成的作业数。
9.根据权利要求8所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,所述作业平均完成时间的计算步骤包括:
得到训练完成的深度卷积神经网络,Agent将采集到的矩阵图像输入神经网络和训练完成的深度卷积神经网络组成的深度强化学习网络中,得到作业平均完成时间。
10.根据权利要求1所述的一种基于Deep Q-network算法的多资源云作业调度方法,其特征在于,所述资源包括CPU资源与内存资源。
CN201810936826.7A 2018-08-16 2018-08-16 一种基于Deep Q-network算法的多资源云作业调度方法 Active CN109388484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810936826.7A CN109388484B (zh) 2018-08-16 2018-08-16 一种基于Deep Q-network算法的多资源云作业调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810936826.7A CN109388484B (zh) 2018-08-16 2018-08-16 一种基于Deep Q-network算法的多资源云作业调度方法

Publications (2)

Publication Number Publication Date
CN109388484A true CN109388484A (zh) 2019-02-26
CN109388484B CN109388484B (zh) 2020-07-28

Family

ID=65418593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810936826.7A Active CN109388484B (zh) 2018-08-16 2018-08-16 一种基于Deep Q-network算法的多资源云作业调度方法

Country Status (1)

Country Link
CN (1) CN109388484B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351348A (zh) * 2019-06-27 2019-10-18 广东石油化工学院 一种基于dqn的云计算资源调度优化方法
CN110362411A (zh) * 2019-07-25 2019-10-22 哈尔滨工业大学 一种基于Xen系统的CPU资源调度方法
CN110413396A (zh) * 2019-07-30 2019-11-05 广东工业大学 一种资源调度方法、装置、设备及可读存储介质
CN110750342A (zh) * 2019-05-23 2020-02-04 北京嘀嘀无限科技发展有限公司 调度方法、装置、电子设备及可读存储介质
CN111026548A (zh) * 2019-11-28 2020-04-17 国网甘肃省电力公司电力科学研究院 一种逆向深度强化学习的电力通信设备测试资源调度方法
CN111026549A (zh) * 2019-11-28 2020-04-17 国网甘肃省电力公司电力科学研究院 一种电力信息通信设备自动化测试资源调度方法
CN111473794A (zh) * 2020-04-01 2020-07-31 北京理工大学 一种基于强化学习的结构化道路无人驾驶决策规划方法
CN111722910A (zh) * 2020-06-19 2020-09-29 广东石油化工学院 一种云作业调度及资源配置的方法
CN111738627A (zh) * 2020-08-07 2020-10-02 中国空气动力研究与发展中心低速空气动力研究所 一种基于深度强化学习的风洞试验调度方法及系统
CN111767991A (zh) * 2020-06-29 2020-10-13 重庆大学 一种基于深度q学习的测控资源调度方法
CN111862579A (zh) * 2020-06-10 2020-10-30 深圳大学 一种基于深度强化学习的出租车调度方法及系统
CN112584361A (zh) * 2020-12-09 2021-03-30 齐鲁工业大学 M2m通信中基于深度强化学习的资源调度方法及装置
CN112698911A (zh) * 2020-12-28 2021-04-23 广东石油化工学院 一种基于深度强化学习的云作业调度方法
CN114282725A (zh) * 2021-12-24 2022-04-05 山东大学 基于深度学习的瞬态油藏代理模型的构建及油藏预测方法
CN116578403A (zh) * 2023-07-10 2023-08-11 安徽思高智能科技有限公司 一种基于深度强化学习的rpa流程调度方法及系统
WO2024046649A1 (en) 2022-08-31 2024-03-07 Telefonaktiebolaget Lm Ericsson (Publ) Cloud-native test bed generation and build

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930214A (zh) * 2016-04-22 2016-09-07 广东石油化工学院 一种基于q学习的混合云作业调度方法
CN106850289A (zh) * 2017-01-25 2017-06-13 东南大学 结合高斯过程与强化学习的服务组合方法
US20170205863A1 (en) * 2016-01-14 2017-07-20 Intel Corporation Dynamically updating a power management policy of a processor
CN107231436A (zh) * 2017-07-14 2017-10-03 网宿科技股份有限公司 一种进行业务调度的方法和装置
CN107277065A (zh) * 2017-08-11 2017-10-20 厦门大学 基于强化学习的检测高级持续威胁的资源调度方法
CN107480432A (zh) * 2017-07-27 2017-12-15 广州瓦良格机器人科技有限公司 一种基于云平台的负荷分解方法
CN108037993A (zh) * 2017-11-07 2018-05-15 大国创新智能科技(东莞)有限公司 基于大数据和深度学习神经网络的云计算调度方法及系统
CN108401015A (zh) * 2018-02-02 2018-08-14 广州大学 一种基于深度强化学习的数据中心网络路由方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170205863A1 (en) * 2016-01-14 2017-07-20 Intel Corporation Dynamically updating a power management policy of a processor
CN105930214A (zh) * 2016-04-22 2016-09-07 广东石油化工学院 一种基于q学习的混合云作业调度方法
CN106850289A (zh) * 2017-01-25 2017-06-13 东南大学 结合高斯过程与强化学习的服务组合方法
CN107231436A (zh) * 2017-07-14 2017-10-03 网宿科技股份有限公司 一种进行业务调度的方法和装置
CN107480432A (zh) * 2017-07-27 2017-12-15 广州瓦良格机器人科技有限公司 一种基于云平台的负荷分解方法
CN107277065A (zh) * 2017-08-11 2017-10-20 厦门大学 基于强化学习的检测高级持续威胁的资源调度方法
CN108037993A (zh) * 2017-11-07 2018-05-15 大国创新智能科技(东莞)有限公司 基于大数据和深度学习神经网络的云计算调度方法及系统
CN108401015A (zh) * 2018-02-02 2018-08-14 广州大学 一种基于深度强化学习的数据中心网络路由方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHIPING PENG 等: "Research on Cloud Computing Resources Provisioning Based on Reinforcement Learning", 《MATHEMATICAL PROBLEMS IN ENGINEERING》 *
邓志龙 等: "一种基于深度强化学习的调度优化方法", 《西北工业大学学报》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750342A (zh) * 2019-05-23 2020-02-04 北京嘀嘀无限科技发展有限公司 调度方法、装置、电子设备及可读存储介质
CN110750342B (zh) * 2019-05-23 2020-10-09 北京嘀嘀无限科技发展有限公司 调度方法、装置、电子设备及可读存储介质
CN110351348A (zh) * 2019-06-27 2019-10-18 广东石油化工学院 一种基于dqn的云计算资源调度优化方法
CN110351348B (zh) * 2019-06-27 2022-03-11 广东石油化工学院 一种基于dqn的云计算资源调度优化方法
CN110362411A (zh) * 2019-07-25 2019-10-22 哈尔滨工业大学 一种基于Xen系统的CPU资源调度方法
CN110413396B (zh) * 2019-07-30 2022-02-15 广东工业大学 一种资源调度方法、装置、设备及可读存储介质
CN110413396A (zh) * 2019-07-30 2019-11-05 广东工业大学 一种资源调度方法、装置、设备及可读存储介质
CN111026548A (zh) * 2019-11-28 2020-04-17 国网甘肃省电力公司电力科学研究院 一种逆向深度强化学习的电力通信设备测试资源调度方法
CN111026549A (zh) * 2019-11-28 2020-04-17 国网甘肃省电力公司电力科学研究院 一种电力信息通信设备自动化测试资源调度方法
CN111026549B (zh) * 2019-11-28 2022-06-10 国网甘肃省电力公司电力科学研究院 一种电力信息通信设备自动化测试资源调度方法
CN111473794A (zh) * 2020-04-01 2020-07-31 北京理工大学 一种基于强化学习的结构化道路无人驾驶决策规划方法
CN111473794B (zh) * 2020-04-01 2022-02-11 北京理工大学 一种基于强化学习的结构化道路无人驾驶决策规划方法
CN111862579A (zh) * 2020-06-10 2020-10-30 深圳大学 一种基于深度强化学习的出租车调度方法及系统
CN111722910B (zh) * 2020-06-19 2023-07-21 广东石油化工学院 一种云作业调度及资源配置的方法
CN111722910A (zh) * 2020-06-19 2020-09-29 广东石油化工学院 一种云作业调度及资源配置的方法
CN111767991A (zh) * 2020-06-29 2020-10-13 重庆大学 一种基于深度q学习的测控资源调度方法
CN111767991B (zh) * 2020-06-29 2023-08-15 重庆大学 一种基于深度q学习的测控资源调度方法
CN111738627A (zh) * 2020-08-07 2020-10-02 中国空气动力研究与发展中心低速空气动力研究所 一种基于深度强化学习的风洞试验调度方法及系统
CN111738627B (zh) * 2020-08-07 2020-11-27 中国空气动力研究与发展中心低速空气动力研究所 一种基于深度强化学习的风洞试验调度方法及系统
CN112584361B (zh) * 2020-12-09 2021-09-07 齐鲁工业大学 M2m通信中基于深度强化学习的资源调度方法及装置
CN112584361A (zh) * 2020-12-09 2021-03-30 齐鲁工业大学 M2m通信中基于深度强化学习的资源调度方法及装置
CN112698911A (zh) * 2020-12-28 2021-04-23 广东石油化工学院 一种基于深度强化学习的云作业调度方法
CN114282725A (zh) * 2021-12-24 2022-04-05 山东大学 基于深度学习的瞬态油藏代理模型的构建及油藏预测方法
WO2024046649A1 (en) 2022-08-31 2024-03-07 Telefonaktiebolaget Lm Ericsson (Publ) Cloud-native test bed generation and build
CN116578403A (zh) * 2023-07-10 2023-08-11 安徽思高智能科技有限公司 一种基于深度强化学习的rpa流程调度方法及系统

Also Published As

Publication number Publication date
CN109388484B (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN109388484A (zh) 一种基于Deep Q-network算法的多资源云作业调度方法
Nie et al. A GEP-based reactive scheduling policies constructing approach for dynamic flexible job shop scheduling problem with job release dates
Haijiao et al. Online scheduling of image satellites based on neural networks and deep reinforcement learning
CN104635772B (zh) 一种制造系统自适应动态调度方法
CN102122251B (zh) 一种基于遗传算法的多航天器并行测试任务调度方法
CN110134146A (zh) 一种不确定环境下的分布式多无人机任务分配方法
CN110351348A (zh) 一种基于dqn的云计算资源调度优化方法
CN106802553A (zh) 一种基于强化学习的铁路机车运行操控系统混合任务调度方法
CN109409773A (zh) 一种基于合同网机制的对地观测资源动态规划方法
CN108170530A (zh) 一种基于混合元启发式算法的Hadoop负载均衡任务调度方法
Lin Context-aware task allocation for distributed agile team
CN116542445A (zh) 基于深度强化学习的装备制造车间智能调度方法和系统
Rabe et al. Combining a discrete-event simulation model of a logistics network with deep reinforcement learning
CN109615143A (zh) 基于多QoS约束的广域信息管理系统任务调度蚁群优化算法
CN114707881A (zh) 一种基于深度强化学习的作业车间自适应调度方法
CN106371924A (zh) 一种最小化MapReduce集群能耗的任务调度方法
CN114565247A (zh) 一种基于深度强化学习的车间调度方法、装置和系统
Zhang et al. Modelling and simulation of the task scheduling behavior in collaborative product development process
CN109710372A (zh) 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
Shi-jin et al. Filtered-beam-search-based algorithm for dynamic rescheduling in FMS
Dang et al. Real-time data scheduling of flexible job in papermaking workshop based on deep learning and improved fuzzy algorithm
CN113888136A (zh) 一种基于dqn算法原理的工作流调度方法
Lin et al. Deep reinforcement learning for multi-resource cloud job scheduling
Krenczyk et al. Using discrete-event simulation systems as support for production planning
WO2020062047A1 (zh) 更新调度规则的方法、设备、系统、存储介质和终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant