CN112799828A - 一种基于强化学习的云平台资源调度策略 - Google Patents
一种基于强化学习的云平台资源调度策略 Download PDFInfo
- Publication number
- CN112799828A CN112799828A CN202011472253.0A CN202011472253A CN112799828A CN 112799828 A CN112799828 A CN 112799828A CN 202011472253 A CN202011472253 A CN 202011472253A CN 112799828 A CN112799828 A CN 112799828A
- Authority
- CN
- China
- Prior art keywords
- cloud platform
- function
- state
- value
- tasks
- 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.)
- Pending
Links
Images
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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
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)
- Feedback Control In General (AREA)
Abstract
本发明属于云平台资源调度领域,公开了一种基于强化学习的云平台资源调度方法,包括:构建基于强化学习的云平台资源调度策略架构;改良Q‑leaning算法,使用改良的Q‑leaning算法对值函数进行优化;预处理任务,更新值函数表,得到最优策略;决策动态调整,用于细粒度动态调度任务以适应大规模云环境,实现云平台资源动态调度。本发明能够针对大规模云环境下任务异构性的特点与资源平衡负载实时性的需求,做到了有效地减少任务的排队等待时间,实现任务的负载均衡。
Description
技术领域
本发明属于云平台资源调度领域,尤其涉及一种基于强化学习的云平台资源调度方法。
背景技术
本发明涉及到的云平台资源调度策略一直以来都是云环境数据中心的主要研究方向,是学术界和产业界热衷于研究的热点。近年来,随着云计算的规模逐渐扩大,越来越多的高性能计算和大数据应用都依赖于云计算。云计算为需要大量计算和存储的应用或企业提供了底层的基础底层设施,例如:城市管理、生物医学、物流行业、智能交通等都普遍使用和推广都和云计算有着不可分割的密切关系。随着云计算与各行各业的关系愈发紧密,云用户对云服务的质量要求也抱着严格的态度,特别是一些需要实时性和低延迟的业务更要求云服务提供非常可靠的质量保证。但是随着大规模数据中心的不断升级和其本身存在的异构性,导致云计算中的资源调度问题成为了当前阻挡云计算发展的重要因素。资源调度指的是在云环境下,以多用户的多资源需要和云计算系统的可用资源为基础,为同时到达的用户分配虚拟机资源和决定资源调度的顺序。这个问题是一个涉及到多资源多类的NP-hard问题,因为不同的虚拟机的CPU数量、内存大小、存储容量都是不同的,另外,每个用户占用虚拟机的时间都是随机的,所以如何确定在哪台虚拟机上或需要多少台虚拟机来执行任务才能满足用户的需求对于我们来说是一个巨大的挑战。目前国内外已经有人研究了这类问题,研究的方向也分为多种,有传统的调度策略、启发式调度策略、基于经济学模型的调度策略、基于博弈论的调度策略、还有基于机器学习的调度策略。具体的策略例如:最早的Selvarani提出的基于成本的调度算法,Bhavisha等人提出的改进的Max-Min调度算法。基于强化学习的调度算法也有人提出来过,如:有人提出一种基于强化学习的SPRNT技术,但是这种方法没有给出云计算资源调度的整体框架,而且很难平衡能耗、负载和性能这三者。
综上所述,综合以上研究内容,为了解决平云台资源调度不平衡问题,针对云平台各台虚拟机的配置不相同的特点,提出并设计了基于强化学习的云平台资源调度策略模型,在原本Q-leaning算法的基础上进行改良,实现了基于强化学习的云平台资源实时性动态调度,降低了云资源在调度过程中的延迟性,改善了资源调度的效率,提高了云平台的可用性。
发明内容
针对现有技术存在的问题,本发明提供了一种基于强化学习的云平台资源调度策略,
本发明是这样实现的,一种基于强化学习的云平台资源调度策略包括以下步骤:
步骤一,构建基于强化学习的云平台资源调度策略架构;
步骤二,改良Q-leaning算法,使用改良的Q-leaning算法对值函数进行优化;
步骤三,预处理任务,更新值函数表,得到最优策略;
步骤四,决策动态调整,用于细粒度动态调度任务以适应云环境的大规模需要,实现云平台资源动态调度。
进一步,所述架构包括:
状态空间:建立状态空间S,云平台资源自动调度要解决的问题是寻找到一个最佳的虚拟机来执行任务,所以状态空间可表示为:
S=(1,0,...,1)
代表第一个虚拟机目前被一个任务占用,第二个虚拟机空闲,最后一个虚拟机被一个任务占用。
动作空间:根据n个任务的请求,我们将模型动作空间设为:
代表着第n个任务请求被第m个虚拟机所执行。
奖惩函数:决策动作好坏的重要衡量标准。能耗是衡量资源调用的一个重要的单位,而能耗同时受限于计算节点的资源利用率,所以兼顾到提高资源利用率和降低能耗的这两个方面,可以设奖惩函数r的计算公式为:
其中i代表第i个物理机,该物理机上有i_local个虚拟机,j代表该物理机上的第j个虚拟机,ui,j代表第i个物理机上第j个虚拟机的利用率,averwj代表任务在虚拟机j上的平均等待时间。如果任务被分配给一个虚拟机后,该物理机上的平均利用率比其他的高,并且该虚拟机的平均等待时间比其他的低,那么该调度程序将获得奖励,如果没有满足上述条件,则受到惩罚,其他为0。
进一步,所述改良Q-leaning算法包括:
在原本值函数
上进行修改,将其优化成
Q(t+1)(st,at)=(1-α)Q(t)(st,at)+α[r+γmaxQ(t)(s’,a’)-Q(t)(s,a)]
其中α≤1代表学习速率,α越大,则之前的基于强化学习所得到的结果保留越少。0≤γ≤1代表惩罚项,这个变量决定着函数的收敛速度,γ越小,则对后继状态的奖惩影响越小,不容易得到最优策略,只会容易得到次优策略;但是如果γ取值过大,则会导致函数的收敛速度变慢。
进一步,所述预处理任务以得到最优策略包括:
使用改良后的Q-leaning算法对存放在队列中的任务进行预处理,进而获取在各个时间状态下虚拟机和物理机的CPU利用率等信息,在查看每个新的状态和奖惩值后,将使奖惩函数和值函数最大的动作a设为目前状态应该采用的动作,更新状态后,不断重复该操作,然后通过
error=MAX(error|Qt-Qprevious-t)
实现状态的收敛,最终将整个Q-table表更新完毕,从中选出最大的Q值对应的动作作为最优策略。
进一步,所述决策动态调整模块包含:
步骤一:将状态-动作Q函数值表中的所有函数值全部初始化,用于设置虚拟机初试状态。Q值初始值可以随意设置成任何值,但是为了使算法的收敛速度加快,通常根据与方法相关的先验知识进行赋值操作。这里我们将设置状态- 动作Q函数值的全部函数值为0.
步骤二:将所有的任务提交到队列中等待处理。
步骤三:如果队列不为空,则对于每个状态st,通过使用ε-greedy选择动作at。
步骤四:执行动作at后获得下一个状态st和奖惩值r,再根据优化后的 Q-leaning算法更新值函数表和error值,对st和at重新赋值。
步骤五:判断队列中的任务是否为空,为空则停止算法,否则转到步骤三。
本发明的另一目的在于提供一种基于强化学习的云平台资源调度系统。
附图说明
图1是本发明实施例提供的基于强化学习的云平台资源调度策略流程图。
图2是本发明实施例提供的基于强化学习的云平台资源调度策略架构图。
图3是本发明实施例提供的决策动态调整算法流程图。
图4是本发明实施例提供的实验结果折线图。
图5是摘要附图。
下面结合附图对本发明的应用原理作详细的描述。
如摘要附图所示,本发明实施例提供的基于强化学习的云平台资源调度策略包括以下步骤:
S101:构建基于强化学习的云平台资源调度策略架构;
S102:改良Q-leaning算法,使用改良的Q-leaning算法对值函数进行优化;
S103:预处理任务,更新值函数表,得到最优策略;
S104:决策动态调整,用于细粒度动态调度任务以适应云环境的大规模需要,实现云平台资源动态调度。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于强化学习的云平台资源调度策略包括以下步骤:
S101:构建基于强化学习的云平台资源调度策略架构;
S102:改良Q-leaning算法,使用改良的Q-leaning算法对值函数进行优化;
S103:预处理任务,更新值函数表,得到最优策略;
S104:决策动态调整,用于细粒度动态调度任务以适应云环境的大规模需要,实现云平台资源动态调度。
下面结合具体实施例对本发明的应用原理作进一步的描述。
实施例1
如图2和图3所示,本发明所述基于强化学习的云平台资源调度策略包含以下步骤:
1、构建基于强化学习的云平台资源调度策略架构
状态空间:建立状态空间S,云平台资源自动调度要解决的问题是寻找到一个最佳的虚拟机来执行任务,所以状态空间可表示为:
S=(1,0,...,1)
代表第一个虚拟机目前被一个任务占用,第二个虚拟机空闲,最后一个虚拟机被一个任务占用。
动作空间:根据n个任务的请求,我们将模型动作空间设为:
代表着第n个任务请求被第m个虚拟机所执行。
奖惩函数:决策动作好坏的重要衡量标准。能耗是衡量资源调用的一个重要的单位,而能耗同时受限于计算节点的资源利用率,所以兼顾到提高资源利用率和降低能耗的这两个方面,可以设奖惩函数r的计算公式为:
其中i代表第i个物理机,该物理机上有i_local个虚拟机,j代表该物理机上的第j个虚拟机,ui,j代表第i个物理机上第j个虚拟机的利用率,averwj代表任务在虚拟机j上的平均等待时间。如果任务被分配给一个虚拟机后,该物理机上的平均利用率比其他的高,并且该虚拟机的平均等待时间比其他的低,那么该调度程序将获得奖励,如果没有满足上述条件,则受到惩罚,其他为0。
2、改良Q-leaning算法,使用改良的Q-leaning算法对值函数进行优化
在原本值函数
上进行修改,将其优化成
Q(t+1)(st,at)=(1-α)Q(t)(st,at)+α[r+γmaxQ(t)(s’,a’)-Q(t)(s,a)]
其中α≤1代表学习速率,α越大,则之前的基于强化学习所得到的结果保留越少。0≤γ≤1代表惩罚项,这个变量决定着函数的收敛速度,γ越小,则对后继状态的奖惩影响越小,不容易得到最优策略,只会容易得到次优策略;但是如果γ取值过大,则会导致函数的收敛速度变慢。
3、预处理任务以得到最优策略
使用改良后的Q-leaning算法对存放在队列中的任务进行预处理,进而获取在各个时间状态下虚拟机和物理机的CPU利用率等信息,在查看每个新的状态和奖惩值后,将使奖惩函数和值函数最大的动作a设为目前状态应该采用的动作,更新状态后,不断重复该操作,然后通过
error=MAX(error|Qt-Qprevious-t)
实现状态的收敛,最终将整个Q-table表更新完毕,从中选出最大的Q值对应的动作作为最优策略。
4、决策动态调整;
步骤一:将状态-动作Q函数值表中的所有函数值全部初始化,用于设置虚拟机初试状态。Q值初始值可以随意设置成任何值,但是为了使算法的收敛速度加快,通常根据与方法相关的先验知识进行赋值操作。这里我们将设置状态- 动作Q函数值的全部函数值为0.
步骤二:将所有的任务提交到队列中等待处理。
步骤三:如果队列不为空,则对于每个状态st,通过使用ε-greedy选择动作 at。
步骤四:执行动作at后获得下一个状态s’和奖惩值r,再根据优化后的 Q-leaning算法更新值函数表和error值,对st和at重新赋值。
步骤五:判断队列中的任务是否为空,为空则停止算法,否则转到步骤三。
图4为本发明实验数据,在该实验中我们充分考虑了函数的收敛速度,所以设置学习因子α=0.5,γ=0.9,从实验结果中可以看出在达到速率从10/s 到20/s的变化过程中,经过基于强化学习的云平台资源调度策略训练后的任务的平均响应时间要比未经过强化学习的任务的平均响应时间明显减少13%。结果表明,本实施例的基于强化学习的云平台资源调度策略能够有效做到降低任务的响应时间,提高云平台的资源利用率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.基于强化学习的云平台资源调度策略,其特征在于,所述基于强化学习的云平台资源调度策略包括以下步骤:
步骤一,构建基于强化学习的云平台资源调度策略架构;
步骤二,改良Q-leaning算法,使用改良的Q-leaning算法对值函数进行优化;
步骤三,预处理任务,更新值函数表,得到最优策略;
步骤四,决策动态调整,用于细粒度动态调度任务以适应云环境的大规模需要,实现云平台资源动态调度。
2.如权利要求1所述的基于强化学习的云平台资源调度策略,其特征在于,所述架构包括:
状态空间:建立状态空间S,云平台资源自动调度要解决的问题是寻找到一个最佳的虚拟机来执行任务,所以状态空间可表示为:
S=(1,0,...,1)
代表第一个虚拟机目前被一个任务占用,第二个虚拟机空闲,最后一个虚拟机被一个任务占用。
动作空间:根据n个任务的请求,我们将模型动作空间设为:
代表着第n个任务请求被第m个虚拟机所执行。
奖惩函数:决策动作好坏的重要衡量标准。能耗是衡量资源调用的一个重要的单位,而能耗同时受限于计算节点的资源利用率,所以兼顾到提高资源利用率和降低能耗的这两个方面,可以设奖惩函数r的计算公式为:
其中i代表第i个物理机,该物理机上有i_local个虚拟机,j代表该物理机上的第j个虚拟机,ui,j代表第i个物理机上第j个虚拟机的利用率,averwj代表任务在虚拟机j上的平均等待时间。如果任务被分配给一个虚拟机后,该物理机上的平均利用率比其他的高,并且该虚拟机的平均等待时间比其他的低,那么该调度程序将获得奖励,如果没有满足上述条件,则受到惩罚,其他为0。
4.如权利要求1所述的基于强化学习的云平台资源调度策略,其特征在于,所述预处理任务,更新值函数表,得到最优策略包含:使用改良后的Q-leaning 算法对存放在队列中的任务进行预处理,进而获取在各个时间状态下虚拟机和物理机的CPU利用率等信息,在查看每个新的状态和奖惩值后,将使奖惩函数和值函数最大的动作a设为目前状态应该采用的动作,更新状态后,不断重复该操作,然后通过
error=MAX(error|Qt-Qprevious-t)
实现状态的收敛,最终将整个Q-table表更新完毕,从中选出最大的Q值对应的动作作为最优策略。
5.如权利要求1所述的基于强化学习的云平台资源调度策略,其特征在于,所述决策动态调整模块包括以下步骤:
步骤一:将状态-动作Q函数值表中的所有函数值全部初始化,用于设置虚拟机初试状态。Q值初始值可以随意设置成任何值,但是为了使算法的收敛速度加快,通常根据与方法相关的先验知识进行赋值操作。这里我们将设置状态-动作Q函数值的全部函数值为0.
步骤二:将所有的任务提交到队列中等待处理。
步骤三:如果队列不为空,则对于每个状态st,通过使用ε-greedy选择动作at。
步骤四:执行动作at后获得下一个状态s’和奖惩值r,再根据优化后的Q-leaning算法更新值函数表和error值,对st和at重新赋值。
步骤五:判断队列中的任务是否为空,为空则停止算法,否则转到步骤三。
6.一种利用权利要求1~5任意一项所描述基于强化学习的云平台资源调度策略的系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011472253.0A CN112799828A (zh) | 2020-12-16 | 2020-12-16 | 一种基于强化学习的云平台资源调度策略 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011472253.0A CN112799828A (zh) | 2020-12-16 | 2020-12-16 | 一种基于强化学习的云平台资源调度策略 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112799828A true CN112799828A (zh) | 2021-05-14 |
Family
ID=75806727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011472253.0A Pending CN112799828A (zh) | 2020-12-16 | 2020-12-16 | 一种基于强化学习的云平台资源调度策略 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799828A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448425A (zh) * | 2021-07-19 | 2021-09-28 | 哈尔滨工业大学 | 一种基于强化学习的动态并行应用程序能耗运行时优化方法及系统 |
CN114339311A (zh) * | 2021-12-09 | 2022-04-12 | 北京邮电大学 | 一种视频云转码及分发联合决策方法及系统 |
CN115242455A (zh) * | 2022-06-27 | 2022-10-25 | 山西西电信息技术研究院有限公司 | 一种基于云计算的社交网络即时信息安全监测系统及方法 |
CN115878295A (zh) * | 2023-03-02 | 2023-03-31 | 国网江西省电力有限公司信息通信分公司 | 基于深度强化学习的软件定义安全中台调度方法 |
CN116126534A (zh) * | 2023-01-28 | 2023-05-16 | 哈尔滨工业大学(威海) | 一种云资源动态伸缩方法及系统 |
-
2020
- 2020-12-16 CN CN202011472253.0A patent/CN112799828A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448425A (zh) * | 2021-07-19 | 2021-09-28 | 哈尔滨工业大学 | 一种基于强化学习的动态并行应用程序能耗运行时优化方法及系统 |
CN113448425B (zh) * | 2021-07-19 | 2022-09-09 | 哈尔滨工业大学 | 一种基于强化学习的动态并行应用程序能耗运行时优化方法及系统 |
CN114339311A (zh) * | 2021-12-09 | 2022-04-12 | 北京邮电大学 | 一种视频云转码及分发联合决策方法及系统 |
CN115242455A (zh) * | 2022-06-27 | 2022-10-25 | 山西西电信息技术研究院有限公司 | 一种基于云计算的社交网络即时信息安全监测系统及方法 |
CN115242455B (zh) * | 2022-06-27 | 2023-08-18 | 山西西电信息技术研究院有限公司 | 一种基于云计算的社交网络即时信息安全监测系统及方法 |
CN116126534A (zh) * | 2023-01-28 | 2023-05-16 | 哈尔滨工业大学(威海) | 一种云资源动态伸缩方法及系统 |
CN115878295A (zh) * | 2023-03-02 | 2023-03-31 | 国网江西省电力有限公司信息通信分公司 | 基于深度强化学习的软件定义安全中台调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112799828A (zh) | 一种基于强化学习的云平台资源调度策略 | |
Hui et al. | Improved strategies for dynamic load balancing | |
CN107168770B (zh) | 一种低能耗的云数据中心工作流调度与资源供给方法 | |
CN104657221A (zh) | 一种云计算中基于任务分类的多队列错峰调度模型及方法 | |
CN105389206A (zh) | 一种云计算数据中心虚拟机资源快速配置方法 | |
CN103927225A (zh) | 一种多核心架构的互联网信息处理优化方法 | |
CN111782627B (zh) | 面向广域高性能计算环境的任务与数据协同调度方法 | |
WO2020248226A1 (zh) | 一种基于负载预测的Hadoop计算任务初始分配方法 | |
CN111338807A (zh) | 一种面向边缘人工智能应用的QoE感知的服务增强方法 | |
CN112363827A (zh) | 一种基于延迟因子的多资源指标Kubernetes调度方法 | |
CN115237568A (zh) | 一种面向边缘异构设备的混合权重任务调度方法及系统 | |
CN117032902A (zh) | 一种基于负载的改进离散粒子群算法的云任务调度方法 | |
CN111597038A (zh) | 一种超级计算机i/o转发结点轮询映射方法 | |
CN118138590A (zh) | 一种数据中心负载均衡方法 | |
CN112954012B (zh) | 基于负载的改进模拟退火算法的云任务调度方法 | |
CN113535356A (zh) | 一种能量感知的分层任务调度方法和装置 | |
US11954518B2 (en) | User-defined metered priority queues | |
CN114518951A (zh) | 分布式流数据处理系统虚拟化资源弹性调度管理研究 | |
CN116938947A (zh) | 一种考虑计算需求约束的任务调度策略 | |
Chhabra et al. | Qualitative parametric comparison of load balancing algorithms in parallel and distributed computing environment | |
CN112114967B (zh) | 一种基于服务优先级的gpu资源预留方法 | |
Hicham et al. | Deadline and energy aware task scheduling in cloud computing | |
CN113407313B (zh) | 资源需求感知的多队列调度方法、系统及服务器 | |
CN106293007B (zh) | 一种支持非抢占实时任务集的节能调度方法 | |
Cao et al. | A QoS-guaranteed energy-efficient VM dynamic migration strategy in cloud data centers |
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 |