CN114116183A - 基于深度强化学习的数据中心业务负载调度方法及系统 - Google Patents

基于深度强化学习的数据中心业务负载调度方法及系统 Download PDF

Info

Publication number
CN114116183A
CN114116183A CN202210103845.8A CN202210103845A CN114116183A CN 114116183 A CN114116183 A CN 114116183A CN 202210103845 A CN202210103845 A CN 202210103845A CN 114116183 A CN114116183 A CN 114116183A
Authority
CN
China
Prior art keywords
task
data center
server
resource
scheduling
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
CN202210103845.8A
Other languages
English (en)
Other versions
CN114116183B (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.)
North China Electric Power University
Original Assignee
North China Electric Power University
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 North China Electric Power University filed Critical North China Electric Power University
Priority to CN202210103845.8A priority Critical patent/CN114116183B/zh
Publication of CN114116183A publication Critical patent/CN114116183A/zh
Application granted granted Critical
Publication of CN114116183B publication Critical patent/CN114116183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及一种基于深度强化学习的数据中心业务负载调度方法及系统,该方法包括:步骤S1:对异质业务负载的特征信息进行读取;步骤S2:对服务器可用计算资源进行实时监测;步骤S3:根据负载的特征信息、服务器可用资源以及实时电价,作出调度决策;步骤S4:采用马尔可夫决策过程对调度过程进行建模,以数据中心用电成本最小化为目标,使用蒙特卡洛策略梯度算法对调度器进行训练。本发明所提供的基于深度强化学习的数据中心业务负载调度方法及系统能够在保证任务执行逻辑和服务质量的前提下,实现数据中心的电费成本优化,降低云服务提供商的运营成本,有助于互联网行业的绿色低碳可持续发展。

Description

基于深度强化学习的数据中心业务负载调度方法及系统
技术领域
本发明涉及数据中心技术领域,具体涉及一种基于深度强化学习的数据中心业务负载调度管理方法及系统。
背景技术
随着数字化进程加快,人们对于计算服务的需求不断增大,云计算技术得到了迅猛发展。数据中心作为处理数据负荷的基础设施,其规模不断扩大,到2020年,全国共有约428.6万个数据中心机架。随之而来的,是数据中心运行过程中产生的巨量电能消耗。据统计,2019年全球数据中心耗电量约为总耗电量的1%,且有继续增长的趋势。这给数据中心运营商带来了巨额电费支出。因此,数据中心用电成本的优化方法成为重要的研究方向。
数据中心的一部分业务负载具有时间可调度性,也就是说,这部分业务负载的处理时间可以在满足服务要求的前提下灵活决定是否推迟一段时间执行。数据中心的服务器功率,乃至整个数据中心的电力负荷,主要是由其业务负载处理情况决定的。因此,业务负载的灵活调度可以实现数据中心的能耗的灵活调节。
如何在数据中心实际业务负载调度系统框架下,设计业务负载调度方法及系统,实现数据中心的电力负荷灵活调节和用电成本优化,是亟待解决的问题,也是本领域研究人员的研究重点。
发明内容
本发明提供的一种基于深度强化学习的数据中心业务负载调度方法及系统,能够解决上述过程中的技术问题。
本发明解决上述技术问题的技术方案如下:
第一方面,本发明提供了一种基于深度强化学习的数据中心业务负载调度方法,包括:
步骤S1:对异质业务负载的特征信息进行读取;
步骤S2:对服务器可计算资源进行实时监测;
步骤S3:根据负载的特征信息、服务器可用资源以及实时电价,作出调度决策;
步骤S4:采用马尔可夫决策过程对调度过程进行建模,以数据中心用电成本最小化为目标,并基于蒙特卡洛策略梯度算法对调度器进行训练。
在一些实施例中,所述步骤S1还包括:
将业务负载历史数据信息读取后,以任务为单位,输入业务负载调度器中;所述历史数据包括,任务的实例数、执行时间、CPU使用率、内存使用率、磁盘使用率以及依赖关系信息。
在一些实施例中,所述步骤S2包括以下步骤:
步骤S21:对每台服务器CPU,内存,磁盘资源的总量进行建模;
步骤S22:对服务器的资源使用情况进行实时监控;
步骤S23:在任务开始执行时,根据该任务资源需求,更新服务器资源使用情况,并在任务执行完成后,释放这个任务占用的计算资源。
在一些实施例中,所述步骤S3,包括:
步骤S31:业务负载调度器获取到每个任务的特性;
步骤S32:业务负载调度器根据这些任务的特性、集群中服务器的可用资源以及实时电价,作出调度决策。
在一些实施例中,所述步骤S4,包括:
步骤S41:将马尔可夫决策过程中的状态空间定义为服务器资源使用率、任务队列状态和电价,包括服务器的CPU,内存,I/O使用率,等待中任务的资源需求和实时电价;
步骤S42:将马尔可夫决策过程中的动作定义为调度器作出的调度决策;
步骤S43:将马尔可夫决策过程中的奖励定义为电费支出和任务延迟;
步骤S44:分析任务间的依赖关系,将依赖关系画成有向无环图;
步骤S45:使用业务负载系统的历史数据,对调度器进行离线训练。
第二方面,本发明提供了一种基于深度强化学习的数据中心业务负载调度系统,包括:
数据读取模块,用于对异质业务负载的特征信息进行读取;
资源管理模块,用于对服务器可计算资源进行实时监测;
业务负载调度器模块,用于负载的特征信息、服务器可用资源以及实时电价,作出调度决策;
深度强化学习训练模块,用于采用马尔可夫决策过程对调度过程进行建模,以数据中心用电成本最小化为目标,并基于蒙特卡洛策略梯度算法对调度器进行训练。
在一些实施例中,所述数据读取模块包括:
数据传输子模块,用于将业务负载历史数据信息读取后,以任务为单位,输入业务负载调度器中。
在一些实施例中,所述资源管理模块,包括:
资源建模子模块,用于对每台服务器CPU,内存,磁盘资源的总量进行建模;
资源监控子模块,用于对服务器的资源使用情况进行实时监控;
资源更新子模块,用于在任务开始执行时,根据该任务资源需求,更新服务器资源使用情况,并在任务执行完成后,释放这个任务占用的计算资源。
在一些实施例中,所述业务负载调度器模块,还包括:
任务特性获取子模块,用于业务负载调度器获取到每个任务的特性;
调度决策子模块,业务负载调度器根据这些任务的特性、集群中服务器的可用资源以及实时电价,作出调度决策。
在一些实施例中,所述深度强化学习训练模块,还包括:
状态空间定义子模块,用于将马尔可夫决策过程中的状态空间定义为服务器资源使用率、任务队列状态和电价,包括服务器的CPU,内存,I/O使用率,等待中任务的资源需求和实时电价;
动作定义子模块,用于将马尔可夫决策过程中的动作定义为调度器作出的调度决策;
奖励定义子模块,用于将马尔可夫决策过程中的奖励定义为电费支出和任务延迟;
依赖关系分析子模块,用于分析任务间的依赖关系,将依赖关系画成有向无环图;
离线训练子模块,用于使用业务负载系统的历史数据,对调度器进行离线训练。
本申请的有益效果是:
本发明所提供的基于深度强化学习的数据中心业务负载调度方法及系统能够在保证任务执行逻辑和服务质量的前提下,实现数据中心的电费成本优化,降低了云服务提供商的运营成本,有助于互联网行业的绿色低碳可持续发展。相较于传统的启发式方法,利用深度神经网络的特征提取能力,基于深度强化学习的调度器可以自适应地处理随机到达的异质任务的调度需求,从历史业务负载和电价数据中学习到最优调度策略。相较于现有的使用深度强化学习解决数据中心任务调度和能耗管理问题的方法,我们在建模中考虑了任务依赖关系和云服务质量。
附图说明
图1为本发明实施例提供一种基于深度强化学习的数据中心业务负载调度方法图一;
图2为本发明实施例提供一种基于深度强化学习的数据中心业务负载调度方法图二;
图3为本发明实施例提供一种基于深度强化学习的数据中心业务负载调度方法图三;
图4为本发明实施例提供一种基于深度强化学习的数据中心业务负载调度方法图四;
图5为本发明实施例提供一种基于深度强化学习的数据中心业务负载调度方法图五;
图6为本发明实施例提供一种基于深度强化学习的数据中心业务负载系统示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用于解释本公开,而非对本申请的限定。基于所描述的本申请的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
图1为本发明实施例提供一种基于深度强化学习的数据中心业务负载调度方法图一。
一种基于深度强化学习的数据中心业务负载调度方法,结合图1,包括S1至S4四个步骤:
步骤S1:对异质业务负载的特征信息进行读取;
具体的,读取业务负载系统历史数据,包括任务的实例数、执行时间、CPU使用率、内存使用率、磁盘使用率和依赖关系信息等。其中,一个作业内各任务间的依赖关系用有向无环图表示,子任务的执行建立在其所有父任务都已经完成的基础之上。当所有父任务完成后,该任务的状态会被标记为“已准备好”。将业务负载历史数据信息读取后,以任务为单位,将其输入业务负载调度器中。
步骤S2:对服务器可计算资源进行实时监测;
具体的,构建数据中心集群资源管理模块。首先对服务器进行建模,获取每台服务器CPU,内存,磁盘资源的总量。服务器的实时资源占用率由其上执行的所有任务决定。数据中心的电功率主要由CPU占用率决定,其表达式为:
Figure DEST_PATH_IMAGE001
其中,P
Figure 872808DEST_PATH_IMAGE002
是数据中心在t时刻的功率,n是数据中心的服务器数目;F(n)是固定功率;V(u t n)是可变功率,由任务处理情况决定;ε是基于经验得出的修正系数。u t 代表服务器的CPU使用率,由这台服务器上运行的任务的资源需求决定;P idle P peak 代表服务器空闲和满载时的平均功率值;指数r是基于经验得到的常数,通常r=1.4;
PUE是一个广泛使用的数据中心能效指标,其值等于数据中心总功耗与IT设备功耗的比值:
Figure 779322DEST_PATH_IMAGE003
其中E DC E IT 分别是数据中心总能耗。
步骤S3:根据负载的特征信息、服务器可用资源以及实时电价,作出调度决策;
具体的,构建数据中心的业务负载调度器,以实现不同的调度策略。任务被提交到调度系统中之后,业务负载调度器获取到每个任务的特性,如资源需求、任务结构、持续时间等。业务负载调度器在作出调度决策前,检查所有可行的调度动作,即满足资源约束的动作。根据这些任务的特性以及集群中服务器的可用资源,调度器根据一定的调度策略,快速作出在线调度决策,将每个任务(实例)分配到合适的各台服务器上去执行。
步骤S4:采用马尔可夫决策过程对调度过程进行建模,以数据中心用电成本最小化为目标,并基于蒙特卡洛策略梯度算法对调度器进行训练;
具体的,本申请将业务负载调度器的决策进行马尔可夫决策过程建模,利用马尔可夫模型,对数据中心业务负载的状态、动作以及调度决策进行模型的数据化构建,并根据这个模型,以及数据中心业务负载的历史数据,对调度器进行深度强化学习的训练,从而使数据中心能够追踪实时电价的变化,灵活调节电功率,在保证服务质量的前提下实现数据中心用电成本的优化。
图2为本发明实施例提供一种基于深度强化学习的数据中心业务负载调度方法图二,在一些实施例中,结合图2,所述步骤S1还包括:
步骤S11:将业务负载历史数据信息读取后,以任务为单位,输入业务负载调度器中;所述历史数据包括,任务的实例数、执行时间、CPU使用率、内存使用率、磁盘使用率以及依赖关系信息。
具体的,一个作业内各任务间的依赖关系用有向无环图表示,子任务的执行建立在其所有父任务都已经完成的基础之上。当所有父任务完成后,该任务的状态会被标记为“已准备好”。将业务负载历史数据信息读取后,以任务为单位,将其输入业务负载调度器中。
图3为本发明实施例提供一种基于深度强化学习的数据中心业务负载调度方法图三,在一些实施例中,结合图3,所述步骤S2包括以下步骤:
步骤S21:对每台服务器CPU,内存,磁盘资源的总量进行建模;
步骤S22:对服务器的资源使用情况进行实时监控;
步骤S23:在任务开始执行时,根据该任务资源需求,更新服务器资源使用情况,并在任务执行完成后,释放这个任务占用的计算资源。
具体的,构建数据中心集群资源管理模块。首先对服务器进行建模,获取每台服务器CPU,内存,磁盘资源的总量。服务器的实时资源占用率由其上执行的所有任务决定。数据中心的电功率主要由CPU占用率决定,其表达式为:
Figure 181485DEST_PATH_IMAGE004
其中,P
Figure 991309DEST_PATH_IMAGE002
是数据中心在t时刻的功率,n是数据中心的服务器数目;F(n)是固定功率;V(u t n)是可变功率,由任务处理情况决定;ε是基于经验得出的修正系数。u t 代表服务器的CPU使用率,由这台服务器上运行的任务的资源需求决定;P idle P peak 代表服务器空闲和满载时的平均功率值;指数r是基于经验得到的常数,通常r=1.4;
PUE是一个广泛使用的数据中心能效指标,其值等于数据中心总功耗与IT设备功耗的比值:
Figure 420891DEST_PATH_IMAGE005
其中E DC E IT 分别是数据中心总能耗,IT设备能耗。
图4为本发明实施例提供一种基于深度强化学习的数据中心业务负载调度方法图四,在一些实施例中,所述步骤S3,包括:
步骤S31:业务负载调度器获取到每个任务的特性;
步骤S32:业务负载调度器根据这些任务的特性、集群中服务器的可用资源以及实时电价,作出调度决策。
具体的,任务被提交到调度系统中之后,业务负载调度器获取到每个任务的特性,如资源需求、任务结构、持续时间等。业务负载调度器在作出调度决策前,检查所有可行的调度动作,即满足资源约束的动作。根据这些任务的特性以及集群中服务器的可用资源,调度器根据一定的调度策略,快速作出在线调度决策,将每个任务(实例)分配到合适的各台服务器上去执行。
图5为本发明实施例提供一种基于深度强化学习的数据中心业务负载调度方法图五,在一些实施例中,结合图5,所述步骤S4,包括:
步骤S41:将马尔可夫决策过程中的状态空间定义为服务器资源使用率、任务队列状态和电价,包括服务器的CPU,内存,I/O使用率,等待中任务的资源需求和实时电价;
步骤S42:将马尔可夫决策过程中的动作定义为调度器作出的调度决策;
步骤S43:将马尔可夫决策过程中的奖励定义为电费支出和任务延迟;
步骤S44:分析任务间的依赖关系,将依赖关系画成有向无环图;
步骤S45:使用业务负载系统的历史数据,对调度器进行离线训练。
具体的,将任务调度过程建模为马尔可夫决策过程,状态空间定义为服务器资源使用率、任务队列状态和电价三部分;包括服务器的CPU,内存,I/O使用率,等待中任务的资源需求和实时电价;对一个集群资源管理模块进行维护,来监测服务器的资源使用情况。在任务的持续时间内,这些资源会被持续占用。而任务的执行完成情况和任务的到来情况会影响准备队列中的任务集合。本发明构建的模型中,使用真实的历史电价数据,且数据中心的负荷调节不影响电力价格。
在具体实现时,将动作设计为调度系统作出的调度决策,即将一个任务分配到某台服务器上执行;将作业的依赖关系描述为有向无环图DAG,建模为“作业-任务-实例”模型,并在调度决策中以实例为最小的调度单元,在不违反依赖关系的情况下实现任务并行处理。
进一步地,在选择动作时,首先检查所有可行的调度动作,即满足资源约束的动作,由这些可行动作组成动作空间。
作为优化的技术方案,将奖励的设计分为两部分,电费支出和任务延迟。为保证服务质量,我们把平均任务延迟引入马尔可夫决策过程的奖励设置中,将其与电费成本共同优化。任务延迟r QoS 的计算方法如下:
Figure 581745DEST_PATH_IMAGE006
其中,W i D i 分别是任务j在系统中等待的时间和持续时间,N为任务数,T为一个模拟轨迹中的总时间步数。
进一步地,为优化用电成本,将数据中心在时间步t的电费支出的负数作为奖励的一部分:
Figure 990861DEST_PATH_IMAGE007
其中,q t 是时间步t的电价。
具体来说,当调度系统作出决策后,若任务j被分配到服务器i上执行,则服务器i的资源占用情况变化为:
Figure DEST_PATH_IMAGE008
其中,S是服务器的资源占用,下标CPU, MEM, I/O代表服务器的CPU,内存,I/O使用率;T是准备好的任务。
进一步地,使用业务负载系统的历史数据,对调度器进行离线训练,智能体从与环境的互动中直接学到最优调度策略,并实现在线(近实时)决策。
进一步地,我们把策略用深度神经网络来表示,也称为策略网络。策略梯度算法使用从训练中观察到的奖励,对神经网络做梯度下降来学习。策略网络由输入层、三个全连接层和输出层构成;全连接层的神经元数量是256个,采用softmax作为激活函数。将可行的任务调度决策和状态作为策略网络的输入,策略网络的输出是可行动作的概率分布。为了使得训练出来的策略是通用的,本发明使用具有不同特征的任务到达序列来进行训练。首先,使用一个任务到达序列,在当前策略下,记录s t a t s t+1 r t ,模拟出N个轨迹。用这些轨迹,计算折扣的累计回报v t 。随后使用蒙特卡洛策略梯度算法,对调度器进行训练。其中,优化器采用Adam optimizer,学习率设置为0.001。
由于任务到达的随机性,为了减小梯度估计的方差,可以添加一个基线值。策略网络的参数θ的更新公式为:
Figure 294672DEST_PATH_IMAGE009
其中,π θ(s t,a t)是在状态s t 采取动作a t 的概率,v t 是用任务到达序列模拟出的轨迹的累计回报值,b t是基线值。其中,基线值的计算方法是回报的平均值。
在具体实现时,本实施例构建上述的业务负载数据读取模块,数据中心集群资源管理模块,业务负载调度器模块,并使用策略梯度算法对策略网络(调度器)进行训练。本发明使数据中心能够追踪实时电价的变化,灵活调节电功率,在保证服务质量的前提下实现数据中心用电成本的优化。
图6为本发明第二方面实施例提供的一种基于深度强化学习的数据中心业务负载系统示意图,结合图6,一种基于深度强化学习的数据中心业务负载调度系统,包括:
数据读取模块51,用于对异质业务负载的特征信息进行读取;
具体的,通过数据读取模块51读取业务负载系统历史数据,包括任务的实例数、执行时间、CPU使用率、内存使用率、磁盘使用率和依赖关系信息等。其中,一个作业内各任务间的依赖关系用有向无环图表示,子任务的执行建立在其所有父任务都已经完成的基础之上。当所有父任务完成后,该任务的状态会被标记为“已准备好”。
资源管理模块52,用于对服务器可计算资源进行实时监测;
具体的,对服务器进行建模,获取每台服务器CPU,内存,磁盘资源的总量。服务器的实时资源占用率由其上执行的所有任务决定,并通过资源管理模块52,对服务器可用资源进行监控。
业务负载调度器模块53,用于根据负载的特征信息、服务器可用资源以及实时电价,作出调度决策;
具体的,构建数据中心的业务负载调度器,以实现不同的调度策略。任务被提交到调度系统中之后,业务负载调度器获取到每个任务的特性,如资源需求、任务结构、持续时间等。业务负载调度器在作出调度决策前,检查所有可行的调度动作,即满足资源约束的动作。根据这些任务的特性以及集群中服务器的可用资源,业务负载调度器模块53根据一定的调度策略,快速作出在线调度决策,将每个任务(实例)分配到合适的各台服务器上去执行。
深度强化学习训练模块54,用于采用马尔可夫决策过程对调度过程进行建模,以数据中心用电成本最小化为目标,并基于蒙特卡洛策略梯度算法对调度器进行训练。
具体的,通过深度强化学习训练模块54将业务负载调度器的决策进行马尔可夫决策过程建模,利用马尔可夫模型,对数据中心业务负载的状态、动作以及调度决策进行模型的数据化构建,并根据这个模型,以及数据中心业务负载的历史数据,对调度器进行深度强化学习的训练,从而使使数据中心能够追踪实时电价的变化,灵活调节电功率,在保证服务质量的前提下实现数据中心用电成本的优化。
在一些实施例中,所述数据读取模块51包括:
数据传输子模块511,用于将业务负载历史数据信息读取后,以任务为单位,输入业务负载调度器中。
具体的,将业务负载历史数据信息读取后,以任务为单位,通过数据传输子模块511将其输入业务负载调度器中。
在一些实施例中,所述资源管理模块52,包括:
资源建模子模块521,用于对每台服务器CPU,内存,磁盘资源的总量进行建模;
资源监控子模块522,用于对服务器的资源使用情况进行实时监控;
资源更新子模块523,用于在任务开始执行时,根据该任务资源需求,更新服务器资源使用情况,并在任务执行完成后,释放这个任务占用的计算资源。
具体的,利用资源建模子模块521对服务器进行建模,获取每台服务器CPU,内存,磁盘资源的总量。服务器的实时资源占用率由其上执行的所有任务决定。数据中心的电功率主要由CPU占用率决定,其表达式为:
Figure 635435DEST_PATH_IMAGE010
其中,P
Figure 814744DEST_PATH_IMAGE002
是数据中心在t时刻的功率,n是数据中心的服务器数目;F(n)是固定功率;V(u t n)是可变功率,由任务处理情况决定;ε是基于经验得出的修正系数。u t 代表服务器的CPU使用率,由这台服务器上运行的任务的资源需求决定;P idle P peak 代表服务器空闲和满载时的平均功率值;指数r是基于经验得到的常数,通常r=1.4;
PUE是一个广泛使用的数据中心能效指标,其值等于数据中心总功耗与IT设备功耗的比值:
Figure 230813DEST_PATH_IMAGE011
其中E DC E IT 分别是数据中心总能耗,IT设备能耗;并利用资源监控子模块522,对服务器的资源使用情况进行实时监控;在任务开始执行时,根据该任务资源需求,利用资源更新子模块523更新服务器资源使用情况,并在任务执行完成后,释放这个任务占用的计算资源。
在一些实施例中,所述业务负载调度器模块53,还包括:
任务特性获取子模块531,用于业务负载调度器获取到每个任务的特性;
调度决策子模块532,业务负载调度器根据这些任务的特性以及集群中服务器的可用资源,作出调度决策。
具体的,任务被提交到调度系统中之后,业务负载调度器通过任务特性获取子模块531获取到每个任务的特性,如资源需求、任务结构、持续时间等。业务负载调度器在作出调度决策前,检查所有可行的调度动作,即满足资源约束的动作。根据这些任务的特性以及集群中服务器的可用资源,调度器根据一定的调度策略,利用调度决策子模块532快速作出在线调度决策,将每个任务(实例)分配到合适的各台服务器上去执行。
在一些实施例中,所述深度强化学习训练模块54,还包括:
状态空间定义子模块541,用于将马尔可夫决策过程中的状态空间定义为服务器资源使用率、任务队列状态和电价,包括服务器的CPU,内存,I/O使用率,等待中任务的资源需求和实时电价;
具体的,状态空间定义为服务器资源使用率、任务队列状态和电价三部分;包括服务器的CPU,内存,I/O使用率,等待中任务的资源需求和实时电价;对一个集群资源管理模块进行维护,来监测服务器的资源使用情况。在任务的持续时间内,这些资源会被持续占用。而任务的执行完成情况和任务的到来情况会影响准备队列中的任务集合。本发明构建的模型中,使用真实的历史电价数据,且数据中心的负荷调节不影响电力价格。
动作定义子模块542,用于将马尔可夫决策过程中的动作定义为调度器作出的调度决策;
具体的,将动作设计为调度系统作出的调度决策,即将一个任务分配到某台服务器上执行;将作业的依赖关系描述为有向无环图DAG,建模为“作业-任务-实例”模型,并在调度决策中以实例为最小的调度单元,在不违反依赖关系的情况下实现任务并行处理。
进一步地,在选择动作时,首先检查所有可行的调度动作,即满足资源约束的动作,由这些可行动作组成动作空间
奖励定义子模块543,用于将马尔可夫决策过程中的奖励定义为电费支出和任务延迟;
具体的,作为优化的技术方案,将奖励的设计分为两部分,电费支出和任务延迟。为保证服务质量,我们把平均任务延迟引入马尔可夫决策过程的奖励设置中,将其与电费成本共同优化。任务延迟r QoS 的计算方法如下:
Figure 77546DEST_PATH_IMAGE012
其中,W i D i 分别是任务j在系统中等待的时间和持续时间,N为任务数,T为一个模拟轨迹中的总时间步数。
进一步地,为优化用电成本,将数据中心在时间步t的电费支出的负数作为奖励的一部分:
Figure 317773DEST_PATH_IMAGE013
其中,q t 是时间步t的电价。
依赖关系分析子模块544,用于分析任务间的依赖关系,将依赖关系画成有向无环图;
具体的,将动作设计为调度系统作出的调度决策,即将一个任务分配到某台服务器上执行;将作业的依赖关系描述为有向无环图DAG,建模为“作业-任务-实例”模型,并在调度决策中以实例为最小的调度单元,在不违反依赖关系的情况下实现任务并行处理
离线训练子模块545,用于使用业务负载系统的历史数据,对调度器进行离线训练。
具体的,使用业务负载系统的历史数据,对调度器进行离线训练,智能体从与环境的互动中直接学到最优调度策略,并实现在线(近实时)决策。利用深度神经网络的特征提取能力,基于深度强化学习的调度器可以自适应地处理随机到达的异质任务的调度需求。相较于现有的使用深度强化学习解决数据中心任务调度和能耗管理问题的方法,我们在建模中考虑了任务依赖关系和云服务质量。
进一步地,使用策略梯度算法,对调度器进行训练。我们把策略用深度神经网络来表示,也称为策略网络。策略梯度算法使用从训练中观察到的奖励,对神经网络做梯度下降来学习。我们使用蒙特卡洛策略梯度算法来训练策略网络。
由于任务到达的随机性,为了梯度估计的方差,可以添加一个基线值。则策略网络的参数θ的更新公式为:
Figure 187640DEST_PATH_IMAGE014
其中,π θ(s t,a t)是在状态s t 采取动作a t 的概率,v t 是回报值,b t 是基线值。
在具体实现时,本实施例构建上述的业务负载数据读取模块,数据中心集群资源管理模块,业务负载调度器模块,并使用策略梯度算法对策略网络(调度器)进行训练。本发明使数据中心能够追踪实时电价的变化,灵活调节电功率,在保证服务质量的前提下实现数据中心用电成本的优化。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。
本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
虽然结合附图描述了本申请的实施方式,但是本领域技术人员可以在不脱离本申请的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于深度强化学习的数据中心业务负载调度方法,其特征在于,包括:
步骤S1:对异质业务负载的特征信息进行读取;
步骤S2:对服务器可计算资源进行实时监测;
步骤S3:根据负载的特征信息、服务器可用资源以及实时电价,作出调度决策;
步骤S4:采用马尔可夫决策过程对调度过程进行建模,以数据中心用电成本最小化为目标,并基于蒙特卡洛策略梯度算法对调度器进行训练。
2.根据权利要求1所述的一种基于深度强化学习的数据中心业务负载调度方法,其特征在于,所述步骤S1还包括:
将业务负载历史数据信息读取后,以任务为单位,输入业务负载调度器中;所述历史数据包括,任务的实例数、执行时间、CPU使用率、内存使用率、磁盘使用率以及依赖关系信息。
3.根据权利要求1所述的一种基于深度强化学习的数据中心业务负载调度方法,其特征在于,所述步骤S2包括以下步骤:
步骤S21:对每台服务器CPU,内存,磁盘资源的总量进行建模;
步骤S22:对服务器的资源使用情况进行实时监控;
步骤S23:在任务开始执行时,根据该任务资源需求,更新服务器资源使用情况,并在任务执行完成后,释放这个任务占用的计算资源。
4.根据权利要求1所述的一种基于深度强化学习的数据中心业务负载调度方法,其特征在于,所述步骤S3,包括:
步骤S31:业务负载调度器获取到每个任务的特性;
步骤S32:业务负载调度器根据这些任务的特性、集群中服务器的可用资源以及实时电价,作出调度决策。
5.根据权利要求1所述的一种基于深度强化学习的数据中心业务负载调度方法,其特征在于,所述步骤S4,包括:
步骤S41:将马尔可夫决策过程中的状态空间定义为服务器资源使用率、任务队列状态和电价,包括服务器的CPU,内存,I/O使用率,等待中任务的资源需求和实时电价;
步骤S42:将马尔可夫决策过程中的动作定义为调度器作出的调度决策;
步骤S43:将马尔可夫决策过程中的奖励定义为电费支出和任务延迟;
步骤S44:分析任务间的依赖关系,将依赖关系画成有向无环图;
步骤S45:使用业务负载系统的历史数据,对调度器进行离线训练。
6.一种基于深度强化学习的数据中心业务负载调度系统,其特征在于,包括:
数据读取模块,用于对异质业务负载的特征信息进行读取;
资源管理模块,用于对服务器可计算资源进行实时监测;
业务负载调度器模块,用于根据负载的特征信息、服务器可用资源以及实时电价,作出调度决策;
深度强化学习训练模块,用于采用马尔可夫决策过程对调度过程进行建模,以数据中心用电成本最小化为目标,并基于蒙特卡洛策略梯度算法对调度器进行训练。
7.根据权利要求6所述的一种基于深度强化学习的数据中心业务负载调度系统,其特征在于,所述数据读取模块包括:
数据传输子模块,用于将业务负载历史数据信息读取后,以任务为单位,输入业务负载调度器中。
8.根据权利要求6所述的一种基于深度强化学习的数据中心业务负载调度系统,其特征在于,所述资源管理模块,包括:
资源建模子模块,用于对每台服务器CPU,内存,磁盘资源的总量进行建模;
资源监控子模块,用于对服务器的资源使用情况进行实时监控;
资源更新子模块,用于在任务开始执行时,根据该任务资源需求,更新服务器资源使用情况,并在任务执行完成后,释放这个任务占用的计算资源。
9.根据权利要求6所述的一种基于深度强化学习的数据中心业务负载调度系统,其特征在于,所述业务负载调度器模块,还包括:
任务特性获取子模块,用于业务负载调度器获取到每个任务的特性;
调度决策子模块,业务负载调度器根据这些任务的特性以及集群中服务器的可用资源,作出调度决策。
10.根据权利要求6所述的一种基于深度强化学习的数据中心业务负载调度系统,其特征在于,所述深度强化学习训练模块,还包括:
状态空间定义子模块,用于将马尔可夫决策过程中的状态空间定义为服务器资源使用率、任务队列状态和电价,包括服务器的CPU,内存,I/O使用率,等待中任务的资源需求和实时电价;
动作定义子模块,用于将马尔可夫决策过程中的动作定义为调度器作出的调度决策;
奖励定义子模块,用于将马尔可夫决策过程中的奖励定义为电费支出和任务延迟;
依赖关系分析子模块,用于分析任务间的依赖关系,将依赖关系画成有向无环图;
离线训练子模块,用于使用业务负载系统的历史数据,对调度器进行离线训练。
CN202210103845.8A 2022-01-28 2022-01-28 基于深度强化学习的数据中心业务负载调度方法及系统 Active CN114116183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210103845.8A CN114116183B (zh) 2022-01-28 2022-01-28 基于深度强化学习的数据中心业务负载调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210103845.8A CN114116183B (zh) 2022-01-28 2022-01-28 基于深度强化学习的数据中心业务负载调度方法及系统

Publications (2)

Publication Number Publication Date
CN114116183A true CN114116183A (zh) 2022-03-01
CN114116183B CN114116183B (zh) 2022-04-29

Family

ID=80361888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210103845.8A Active CN114116183B (zh) 2022-01-28 2022-01-28 基于深度强化学习的数据中心业务负载调度方法及系统

Country Status (1)

Country Link
CN (1) CN114116183B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145709A (zh) * 2022-07-19 2022-10-04 华南师范大学 低碳大数据人工智能方法和医康养生态系统
CN115237581A (zh) * 2022-09-21 2022-10-25 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN115145709B (zh) * 2022-07-19 2024-05-17 华南师范大学 低碳大数据人工智能方法和医康养生态系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063327A (zh) * 2010-12-15 2011-05-18 中国科学院深圳先进技术研究院 具有功耗意识的数据中心应用服务调度方法
CN109947567A (zh) * 2019-03-14 2019-06-28 深圳先进技术研究院 一种多智能体强化学习调度方法、系统及电子设备
CN109960578A (zh) * 2017-12-22 2019-07-02 田文洪 一种基于深度强化学习的数据中心资源离线调度方法
CN113157422A (zh) * 2021-04-29 2021-07-23 清华大学 基于深度强化学习的云数据中心集群资源调度方法及装置
CN113394786A (zh) * 2021-07-20 2021-09-14 天津大学 考虑数据负载不确定性的数据中心供能系统经济运行方法
CN113675890A (zh) * 2021-09-06 2021-11-19 北京理工大学 基于td3的新能源微电网优化方法
CN113779759A (zh) * 2021-08-09 2021-12-10 华中科技大学 一种数据中心实时能量管理方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063327A (zh) * 2010-12-15 2011-05-18 中国科学院深圳先进技术研究院 具有功耗意识的数据中心应用服务调度方法
CN109960578A (zh) * 2017-12-22 2019-07-02 田文洪 一种基于深度强化学习的数据中心资源离线调度方法
CN109947567A (zh) * 2019-03-14 2019-06-28 深圳先进技术研究院 一种多智能体强化学习调度方法、系统及电子设备
CN113157422A (zh) * 2021-04-29 2021-07-23 清华大学 基于深度强化学习的云数据中心集群资源调度方法及装置
CN113394786A (zh) * 2021-07-20 2021-09-14 天津大学 考虑数据负载不确定性的数据中心供能系统经济运行方法
CN113779759A (zh) * 2021-08-09 2021-12-10 华中科技大学 一种数据中心实时能量管理方法及系统
CN113675890A (zh) * 2021-09-06 2021-11-19 北京理工大学 基于td3的新能源微电网优化方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LUQIN FAN 等: "Optimal Scheduling of Microgrid Based on Deep Deterministic Policy Gradient and Transfer Learning", 《ENERGIES》 *
YANCHANG LIANG 等: "Mobility-Aware Charging Scheduling for Shared On-Demand Electric Vehicle Fleet Using Deep Reinforcement Learning", 《IEEE TRANSACTION ON SMART GRID》 *
张学帅: "基于深度强化学习的数据中心网络 流量优化技术研究", 《中国优秀高级论文全文数据库(信息科技辑)》 *
张晓兵等: "基于虚拟机迁移的云计算资源动态调度策略", 《软件导刊》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145709A (zh) * 2022-07-19 2022-10-04 华南师范大学 低碳大数据人工智能方法和医康养生态系统
CN115145709B (zh) * 2022-07-19 2024-05-17 华南师范大学 低碳大数据人工智能方法和医康养生态系统
CN115237581A (zh) * 2022-09-21 2022-10-25 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN115237581B (zh) * 2022-09-21 2022-12-27 之江实验室 一种面向异构算力的多策略智能调度方法和装置

Also Published As

Publication number Publication date
CN114116183B (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
Yuan et al. TTSA: An effective scheduling approach for delay bounded tasks in hybrid clouds
Han et al. Tailored learning-based scheduling for kubernetes-oriented edge-cloud system
WO2021088207A1 (zh) 云计算集群混部作业调度方法、装置、服务器及存储装置
CN103365727B (zh) 一种云计算环境中的主机负载预测方法
CN103092683A (zh) 用于数据分析的基于启发式的调度
Alarifi et al. Energy-efficient hybrid framework for green cloud computing
CN113992676B (zh) 端边云架构和完全信息下分层联邦学习的激励方法及系统
Bashar Autonomic scaling of cloud computing resources using BN-based prediction models
CN106020715A (zh) 存储池容量管理
Tang Large-scale computing systems workload prediction using parallel improved LSTM neural network
Lu et al. A GRU-based prediction framework for intelligent resource management at cloud data centres in the age of 5G
CN115237581B (zh) 一种面向异构算力的多策略智能调度方法和装置
Moradi A centralized reinforcement learning method for multi-agent job scheduling in Grid
CN114116183B (zh) 基于深度强化学习的数据中心业务负载调度方法及系统
CN106101196A (zh) 一种基于概率模型的云渲染平台任务调度系统及方法
CN110111214A (zh) 一种基于优先级的用户用能管理方法及系统
CN115686846B (zh) 边缘计算中融合图神经网络和强化学习的容器集群在线部署方法
García-Galán et al. Fuzzy scheduling with swarm intelligence-based knowledge acquisition for grid computing
Zhang et al. Application of Machine Learning Optimization in Cloud Computing Resource Scheduling and Management
CN113014649B (zh) 一种基于深度学习的云物联负载均衡方法、装置及设备
Ranjan et al. SLA-based coordinated superscheduling scheme for computational Grids
Tuli et al. Optimizing the Performance of Fog Computing Environments Using AI and Co-Simulation
Zhao et al. RAS: a task scheduling algorithm based on resource attribute selection in a task scheduling framework
Subramanian et al. Real time non-linear cloud workload forecasting using the holt-winter model
Ding et al. Data locality-aware and QoS-aware dynamic cloud workflow scheduling in Hadoop for heterogeneous environment

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