CN105930214B - 一种基于q学习的混合云作业调度方法 - Google Patents
一种基于q学习的混合云作业调度方法 Download PDFInfo
- Publication number
- CN105930214B CN105930214B CN201610261706.2A CN201610261706A CN105930214B CN 105930214 B CN105930214 B CN 105930214B CN 201610261706 A CN201610261706 A CN 201610261706A CN 105930214 B CN105930214 B CN 105930214B
- Authority
- CN
- China
- Prior art keywords
- agent
- job
- study
- value
- moment
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于Q学习的混合云作业调度方法,使用多agent并行学习,即每个agent独立进行最优策略学习,当某个agent最先得到满足error<θ条件的策略时,就进行agent间的知识迁移。本发明通过分析用户作业在云环境中的执行流程,以最小化用户作业完成时间和等待时间为优化目标,设计了一种基于强化学习的混合云作业调度方法,并采用并行多agent技术加速最优策略的收敛,提高了云资源的利用率,降低了用户等级协议的违约率。
Description
技术领域
本发明涉及云作业调度领域,具体涉及一种基于强化学习的混合云作业调度方法。
背景技术
作业调度是云计算的关键技术之一,对于满足用户需求和提高云服务提供商服务质量和经济效益具有重要意义。作业调度是云计算的关键技术之一,对于满足用户需求和提高云服务提供商服务质量和经济效益具有重要意义。现有的云作业调度算法,或针对于计算密集型云作业,或集中于数据密集型云作业,鲜见针对混合型作业的调度算法。而真实的云计算环境中,不同用户提交的作业类型往往不同,而不同类型云作业的要求也往往不同,针对单一作业类型设计的调度方法往往不能满足不同类型作业调度的要求,导致违反用户等级协议的约定。
发明内容
本发明的目的是解决现有技术的缺陷,提供一种能够提高云资源的利用率,降低用户等级协议的违约率的云作业调度方法,采用的技术方案如下:
一种基于Q学习的混合云作业调度方法,其特征在于,使用多agent并行学习,即每个agent独立进行最优策略学习,当某个agent最先得到满足error<θ条件的策略时,就进行agent间的知识迁移,具体包括:
定义Q学习中的状态空间:将云环境资源池中活跃的虚拟机数量为状态空间;
定义Q学习中的动作集合A:动作集合中包括2个动作,分别为接受当前被调度作业和拒绝当前被调度作业;
定义系统的立即回报函数:其中,jobi.ini表示作业执行的指令数,jobi.fsize表示作业大小,VMj.proc表示虚拟机处理速度,VMj.bw表示虚拟机带宽;
初始化Q(s,a),其中Q(s,a)为二维表格,行s为系统状态,列a为动作集合;
初始化系统状态S;
S3:迭代执行S31至S36:
S31:将s设置为当前状态;
S32:使用贪心策略从动作集合A中选择动作;
S33:执行所选择的动作,计算记录当前的回报函数,得到立即回报值r和下一个系统状态S’;
S34:按式Qt=Qt+α*(r+γ*Qt+1-Qt),更新Q(s,a),其中α∈(0,1)是学习速率,γ∈(0,1)是时间折扣因子,Qt指的是t时刻的Q值,即t时刻的Q(s,a),Qt+1表示t+1时刻的Q值;
S35:计算error=MAX(error|Qt-Qprevious-t),Qprevious-t指时刻t前一时刻的Q值;
S36:判断error<θ是否成立,若否则返回S31,若是进行agent间的知识迁移,其中θ为固定比较值,根据需要设定。
本发明结合云计算环境中的作业调度以及强化学习的特点,将云环境资源池中活跃着的虚拟机数量定义为强化学习的状态空间。假设云平台中当前活跃着的虚拟机数量为m,则状态空间可表示为si=(s1,s2,...,sm)∈S,其中,sj表示第j台虚拟机,则本发明中每个决策时刻(云作业调度时刻),下一个状态仅仅取决于当前状态,从而使得本发明满足马尔科夫性。
本发明中,活跃是指虚拟机能够接受用户作业并立即执行,区别于处于关机状态和睡眠状态的虚拟机。
本发明所述的动作集合中包括2个动作,分别为接受当前被调度作业和拒绝当前被调度作业,可用向量(0,1)表示,其中0表示拒绝,1表示接受。假设当前用户作业i被调度到虚拟机j,则动作空间可表示为ai=(0,0,1,0...,0)∈A,表示当前用户作业i被调度到第3台虚拟机。
对于不同类型的用户作业,作业调度策略应能够根据作业类型不同进行区分,即根据不同用户作业对虚拟资源的不同需求进行合理调度,本发明定义作业期望执行时间进行作业调度有效性衡量,公式如下:
式(1)中,jobi.ini表示作业执行的指令数,jobi.fsize表示作业大小,VMj.proc表示虚拟机处理速度,VMj.bw表示虚拟机带宽,同时以上式作为回报函数。
根据以上定义,本发明的优化目标可定义为:
式(2)表明本发明的优化目标为当前用户作业在满足截止时间(deadline)要求下,调度到最小完成时间(mks)和最小平均等待时间(awt)的虚拟机上。
进一步地,本发明中,所述的知识迁移是指若某一agent最快学习到最优策略,则用该agent的Q值表替换其他agent的Q值表。
与现有技术相比,本发明的有益效果:
本发明通过分析用户作业在云环境中的执行流程,以最小化用户作业完成时间和等待时间为优化目标,设计了一种基于强化学习的混合云作业调度方法,并采用并行多agent技术加速最优策略的收敛,提高了云资源的利用率,降低了用户等级协议的违约率。
附图说明
图1是本发明的流程图;
图2是本发明实施例中不同作业调度方法各虚拟机完成用户作业时间比较示意图;
图3是本发明实施例中不同作业调度方法的用户作业的完成时间比较示意图;
图4是本发明实施例中不同作业调度方法平均等待时间比较示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细描述。
实施例:
如图1所示,一种基于Q学习的混合云作业调度方法,使用多agent并行学习,即每个agent独立进行最优策略学习,当某个agent最先得到满足error<θ条件的策略时,就进行agent间的知识迁移,具体包括:
定义Q学习中的状态空间:将云环境资源池中活跃的虚拟机数量为状态空间;
定义Q学习中的动作集合A:动作集合中包括2个动作,分别为接受当前被调度作业和拒绝当前被调度作业;
定义系统的立即回报函数:其中,jobi.ini表示作业执行的指令数,jobi.fsize表示作业大小,VMj.proc表示虚拟机处理速度,VMj.bw表示虚拟机带宽;
初始化Q(s,a),其中Q(s,a)为二维表格,行s为系统状态,列a为动作集合;
初始化系统状态S;
S3:迭代执行S31至S36:
S31:将s设置为当前状态;
S32:使用贪心策略从动作集合A中选择动作;
S33:执行所选择的动作,计算记录当前的回报函数,得到立即回报值r和下一个系统状态S’;
S34:按式Qt=Qt+α*(r+γ*Qt+1-Qt),更新Q(s,a),其中α∈(0,1)是学习速率,γ∈(0,1)是时间折扣因子,Qt指的是t时刻的Q值,即t时刻的Q(s,a),Qt+1表示t+1时刻的Q值;
S35:计算error=MAX(error|Qt-Qprevious-t),Qprevious-t指时刻t前一时刻的Q值;
S36:判断error<θ是否成立,若否则返回S31,若是进行agent间的知识迁移,其中θ为固定比较值,根据需要设定。
本实施例结合云计算环境中的作业调度以及强化学习的特点,将云环境资源池中活跃着的虚拟机数量定义为强化学习的状态空间。假设云平台中当前活跃着的虚拟机数量为m,则状态空间可表示为si=(s1,s2,...,sm)∈S,其中,sj表示第j台虚拟机,则本实施例中每个决策时刻(云作业调度时刻),下一个状态仅仅取决于当前状态,从而使得本实施例满足马尔科夫性。
本实施例所述的动作集合中包括2个动作,分别为接受当前被调度作业和拒绝当前被调度作业,可用向量(0,1)表示,其中0表示拒绝,1表示接受。假设当前用户作业i被调度到虚拟机j,则动作空间可表示为ai=(0,0,1,0...,0)∈A,表示当前用户作业i被调度到第3台虚拟机。
对于不同类型的用户作业,作业调度策略应能够根据作业类型不同进行区分,即根据不同用户作业对虚拟资源的不同需求进行合理调度,本实施例定义作业期望执行时间进行作业调度有效性衡量,公式如下:
式(1)中,jobi.ini表示作业执行的指令数,jobi.fsize表示作业大小,VMj.proc表示虚拟机处理速度,VMj.bw表示虚拟机带宽,同时以上式作为回报函数。
根据以上定义,本实施例的优化目标可定义为:
式(2)表明本实施例的优化目标为当前用户作业在满足截止时间(deadline)要求下,调度到最小完成时间(mks)和最小平均等待时间(awt)的虚拟机上。
进一步地,本实施例中,所述的知识迁移是指若某一agent最快学习到最优策略,则用该agent的Q值表替换其他agent的Q值表。
Claims (1)
1.一种基于Q学习的混合云作业调度方法,其特征在于,使用多agent并行学习,即每个agent独立进行最优策略学习,当某个agent最先得到满足error<θ条件的策略时,就进行agent间的知识迁移,具体包括:
定义Q学习的状态空间:将云环境资源池中活跃的虚拟机数量定义为状态空间;
定义Q学习中的动作集合A:动作集合中包括2个动作,分别为接受当前被调度作业和拒绝当前被调度作业;
定义系统的立即回报函数:
其中,jobi.ini表示作业执行的指令数,jobi.fsize表示作业大小,VMj.proc表示虚拟机处理速度,VMj.bw表示虚拟机带宽;
初始化Q(s,a),其中Q(s,a)为二维表格,行s为状态空间,列a为动作集合;
初始化状态空间S;
S3:迭代执行S31至S36:
S31:将s设置为当前状态;
S32:使用贪心策略从动作集合A中选择动作;
S33:执行所选择的动作,计算记录当前的立即回报函数,得到立即回报值r和下一个状态空间S’;
S34:按式Qt=Qt+α(r+γ*Qt+1-Qt),更新Q(s,a),其中α∈(0,1)是学习速率,γ∈(0,1)是时间折扣因子,Qt指的是t时刻的Q值,即t时刻的Q(s,a),Qt+1表示t+1时刻的Q值;
S35:计算error=MAX(error|Qt-Qprevious-t),Qprevious-t指时刻t前一时刻的Q值;
S36:判断error<θ是否成立,若不成立则返回S31,若成立进行agent间的知识迁移,知识迁移是指若某一agent最快学习到最优策略,则用该agent的Q值表替换其他agent的Q值表;其中θ为固定比较值,根据需要设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610261706.2A CN105930214B (zh) | 2016-04-22 | 2016-04-22 | 一种基于q学习的混合云作业调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610261706.2A CN105930214B (zh) | 2016-04-22 | 2016-04-22 | 一种基于q学习的混合云作业调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105930214A CN105930214A (zh) | 2016-09-07 |
CN105930214B true CN105930214B (zh) | 2019-04-26 |
Family
ID=56836157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610261706.2A Active CN105930214B (zh) | 2016-04-22 | 2016-04-22 | 一种基于q学习的混合云作业调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105930214B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411749B (zh) * | 2016-10-12 | 2019-07-30 | 国网江苏省电力公司苏州供电公司 | 一种基于q学习的用于软件定义网络的路径选择方法 |
CN108476084B (zh) * | 2016-12-02 | 2020-05-08 | 华为技术有限公司 | Q学习中调整状态空间边界的方法和装置 |
CN109725988B (zh) * | 2017-10-30 | 2021-10-01 | 北京京东尚科信息技术有限公司 | 一种任务调度方法和装置 |
CN108021451B (zh) * | 2017-12-07 | 2021-08-13 | 上海交通大学 | 一种雾计算环境下的自适应容器迁移方法 |
CN110020862B (zh) * | 2018-01-10 | 2021-10-29 | 中国移动通信有限公司研究院 | 一种业务风险评估方法、装置和计算机可读存储介质 |
CN108972546B (zh) * | 2018-06-22 | 2021-07-20 | 华南理工大学 | 一种基于强化学习的机器人恒力曲面跟踪方法 |
CN109388484B (zh) * | 2018-08-16 | 2020-07-28 | 广东石油化工学院 | 一种基于Deep Q-network算法的多资源云作业调度方法 |
CN110347478A (zh) * | 2019-07-08 | 2019-10-18 | 白紫星 | 一种基于强化学习的无模型数据中心资源调度算法 |
CN110515735A (zh) * | 2019-08-29 | 2019-11-29 | 哈尔滨理工大学 | 一种基于改进q学习算法的多目标云资源调度方法 |
CN111722910B (zh) * | 2020-06-19 | 2023-07-21 | 广东石油化工学院 | 一种云作业调度及资源配置的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192354B1 (en) * | 1997-03-21 | 2001-02-20 | International Business Machines Corporation | Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge |
CN104635772A (zh) * | 2014-12-08 | 2015-05-20 | 南京信息工程大学 | 一种制造系统自适应动态调度方法 |
CN104657221A (zh) * | 2015-03-12 | 2015-05-27 | 广东石油化工学院 | 一种云计算中基于任务分类的多队列错峰调度模型及方法 |
CN105354085A (zh) * | 2015-10-30 | 2016-02-24 | 广东石油化工学院 | 一种云工作流作业调度方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8276143B2 (en) * | 2008-03-10 | 2012-09-25 | Oracle America, Inc. | Dynamic scheduling of application tasks in a distributed task based system |
US8762304B2 (en) * | 2009-11-03 | 2014-06-24 | Hewlett-Packard Development Company, L.P. | Policy scheduling |
-
2016
- 2016-04-22 CN CN201610261706.2A patent/CN105930214B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192354B1 (en) * | 1997-03-21 | 2001-02-20 | International Business Machines Corporation | Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge |
CN104635772A (zh) * | 2014-12-08 | 2015-05-20 | 南京信息工程大学 | 一种制造系统自适应动态调度方法 |
CN104657221A (zh) * | 2015-03-12 | 2015-05-27 | 广东石油化工学院 | 一种云计算中基于任务分类的多队列错峰调度模型及方法 |
CN105354085A (zh) * | 2015-10-30 | 2016-02-24 | 广东石油化工学院 | 一种云工作流作业调度方法 |
Non-Patent Citations (1)
Title |
---|
一种基于Q学习的分布式多任务流调度算法;肖正,马胜祥,张世永;《小型微型计算机系统》;20100430;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105930214A (zh) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930214B (zh) | 一种基于q学习的混合云作业调度方法 | |
Liu et al. | Online multi-workflow scheduling under uncertain task execution time in IaaS clouds | |
US11989647B2 (en) | Self-learning scheduler for application orchestration on shared compute cluster | |
CN106776005B (zh) | 一种面向容器化应用的资源管理系统及方法 | |
CN106020927B (zh) | 一种云计算系统中任务调度与资源配置的通用方法 | |
CN111538598A (zh) | 联邦学习建模方法、装置、设备及可读存储介质 | |
EP3229150B1 (en) | Streaming graph optimization method and apparatus | |
Lim et al. | Zico: Efficient {GPU} memory sharing for concurrent {DNN} training | |
CN104834561A (zh) | 一种数据处理方法及装置 | |
Kamthe et al. | A stochastic approach to estimating earliest start times of nodes for scheduling DAGs on heterogeneous distributed computing systems | |
CN106371924B (zh) | 一种最小化MapReduce集群能耗的任务调度方法 | |
CN111738446A (zh) | 深度学习推理引擎的调度方法、装置、设备和介质 | |
CN106874112B (zh) | 一种结合负载均衡的工作流回填方法 | |
US20230351145A1 (en) | Pipelining and parallelizing graph execution method for neural network model computation and apparatus thereof | |
CN104820616A (zh) | 一种任务调度的方法及装置 | |
EP3983950A1 (en) | Neural network training in a distributed system | |
CN106293947A (zh) | 虚拟化云环境下gpu‑cpu混合资源分配系统和方法 | |
Ye et al. | SHWS: Stochastic hybrid workflows dynamic scheduling in cloud container services | |
Geng et al. | A task scheduling algorithm based on priority list and task duplication in cloud computing environment | |
Lu et al. | Fairness-efficiency allocation of CPU-GPU heterogeneous resources | |
Brahmam et al. | VMMISD: An Efficient Load Balancing Model for Virtual Machine Migrations via Fused Metaheuristics With Iterative Security Measures and Deep Learning Optimizations | |
CN113205128A (zh) | 基于无服务器计算的分布式深度学习性能保证方法 | |
CN113132471A (zh) | 云服务预算优化调度方法、装置、设备和存储介质 | |
CN104834571B (zh) | 一种应用于云工作流调度的数据预取方法 | |
CN111930485A (zh) | 一种基于性能表现的作业调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |