CN114691363A - 基于深度强化学习的云数据中心自适应高效资源分配方法 - Google Patents
基于深度强化学习的云数据中心自适应高效资源分配方法 Download PDFInfo
- Publication number
- CN114691363A CN114691363A CN202210309973.8A CN202210309973A CN114691363A CN 114691363 A CN114691363 A CN 114691363A CN 202210309973 A CN202210309973 A CN 202210309973A CN 114691363 A CN114691363 A CN 114691363A
- Authority
- CN
- China
- Prior art keywords
- job
- drl
- resource allocation
- data center
- state
- 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.)
- Withdrawn
Links
- 238000013468 resource allocation Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000002787 reinforcement Effects 0.000 title claims abstract description 14
- 230000006870 function Effects 0.000 claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 24
- 238000011156 evaluation Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 27
- 238000005265 energy consumption Methods 0.000 claims description 26
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 230000009471 action Effects 0.000 claims description 21
- 230000007704 transition Effects 0.000 claims description 13
- 238000009826 distribution Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 8
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 230000006399 behavior Effects 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 230000001934 delay Effects 0.000 claims description 4
- 238000011161 development Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 4
- 230000007774 longterm Effects 0.000 claims description 4
- 239000002131 composite material Substances 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 239000007788 liquid Substances 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 5
- 238000004088 simulation Methods 0.000 abstract description 4
- 238000013459 approach Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- KRQUFUKTQHISJB-YYADALCUSA-N 2-[(E)-N-[2-(4-chlorophenoxy)propoxy]-C-propylcarbonimidoyl]-3-hydroxy-5-(thian-3-yl)cyclohex-2-en-1-one Chemical compound CCC\C(=N/OCC(C)OC1=CC=C(Cl)C=C1)C1=C(O)CC(CC1=O)C1CCCSC1 KRQUFUKTQHISJB-YYADALCUSA-N 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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/5072—Grid computing
-
- 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/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Operations Research (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于深度强化学习的云数据中心自适应高效资源分配方法。首先,采用actor参数化策略(分配资源),并根据critic(评估操作)评估的分数选择操作(调度作业)。然后利用梯度上升更新资源分配策略,利用优势函数减小策略梯度的方差,提高了训练效率;我们使用来自谷歌云数据中心的真实数据进行了广泛的模拟实验。本发明方法与2种先进的基于DRL的云资源分配方法和5种经典的云资源分配方法相比,该方法在延迟和作业丢弃率方面具有更高的服务质量(Quality‑of‑Service,QoS),且能量效率更高。
Description
技术领域
本发明涉及一种基于深度强化学习的云数据中心自适应高效资源分配方法。
背景技术
云计算已经迅速发展成为最流行的计算模式之一。在云计算中,资源分配是指为满足用户和云服务提供商的需求而对计算、存储和网络资源进行分配的过程。随着云数据中心规模的不断扩大和动态变化,云资源分配出现了许多问题,如资源分配不合理、变化响应缓慢等。这些问题不仅降低了服务质量,而且还导致了较高的能源消耗和维护开销。因此设计一个自适应的、高效的云数据中心资源分配解决方案已成为当务之急。然而由于云计算中系统状态的动态性和用户需求的多样性,这是一项极具挑战性的任务,如下所述:
云数据中心的复杂性:云数据中心中存在大量不同类型的服务器,提供各种计算和存储资源,包括CPU、内存和存储单元。因此如何在云计算中有效地管理和协调异构资源是一个挑战。
用户需求的多样性:来自不同用户的作业需要异构的资源(例如CPU、内存和存储单元)和不同的持续时间(例如分钟、小时和天)。用户需求的多样性加大了云数据中心资源分配的难度。
过度的能源消耗:大量的能源消耗不仅会造成巨大的运行费用,而且会导致大里的碳排放。在谷歌云数据中心中,服务器的平均CPU利用率只有20%左右。这种能源浪费发生在不合理的资源配置方案。然而,在维护高效节能的云数据中心的同时,很难满足多样化的用户需求。
云系统的动态性:在云数据中心中,资源使用和请求等系统状态经常发生变化。在这样的动态云环境下,期望有效的资源分配能够持续满足用户作业的需求。然而,在动态云环境下,很难建立准确的资源分配模型。因此,这些动态性给云数据中心的资源自适应分带来了巨大的挑战。
云资源分配的许多经典解决方案都是基于规则、启发式和控制理论。虽然这些解决方案可以在一定程度上解决云资源分配问题,但它们通常利用云系统的先验知识(如状态转换、需求变化、能源消耗等)来制定相应的资源分配策略。因此,这些解决方案可能在特定的应用程序场景中工作的很好,但它们无法完全适应具有动态系统状态和用户需求的云环境。例如,作业调度可以通过使用基于规则的策略轻松地执行,以满足即时的用户需求。但是,他们只考虑当前的作业特点(如资源需求、工作时长)来获得短期利益。因此,它们不能从长远的角度自适应地满足用户作业的动态需求,由于资源配置不合理,可能导致作业延迟过大,造成严重的资源浪费。此外,这些解决方案可能需要多次迭代才能找到可行的资源分配方案,这导致了较高的计算复杂度和资源开销。因此它们不能有效地解决动态云环境中复杂的资源分配问题。
强化学习(Reinforcement Learning,RL)是一种具有高自适应性和低复杂度的资源分配方法。然而传统的基于RL的方法在处理复杂的云环境时存在高维状态空间的问题。为了解决这一问题,提出了利用深度神经网络,从高维状态空间中提取低维表示的深度强化学习。虽然目前有一些基于DRL的方法专注于云资源分配问题,但大多数方法都使用基于值的DRL,这可能导致在处理较大的动作空间时训练效率较低。这是因为基于值的DRL通过计算每个操作的概率来学习确定性策略。然而,在云数据中心中,作业可能会不断到来,因此操作空间可能会相当大,以持续满足调度作业的要求。因此,基于值的DRL很难快速收敛到最优策略。相比之下,基于策略的DRL(如策略梯度PG(Policy Gradient,PG))学习随机策略,通过直接输出具有概率分布的动作,可以更好地处理云数据中心中较大的动作空间,但估计策略梯度时产生的高方差可能会降低训练效率。
作为基于值和基于策略的DRL算法的协同作用,A2C(Advantage Actor-Critic,A2C)旨在解决上述问题。在A2C模型中,Actor根据Critic评估的分数来选择行为,策略梯度的方差减小,具有优势函数。而A2C采用单线程训练方式,计算资源利用不足。同时,在使用A2C时可能会出现较强的数据相关性,因为在只有一个DRL agent与环境交互的情况下,会产生相似的训练样本,导致训练结果不理想。为了解决A2C算法存在的这些问题,提出了一种低方差、高效率的异步优势Actor-Critic(A3C)算法。A3C利用多个DRL代理同时与环境交互,充分利用计算资源,提高学习速度。同时不同DRL agent采集的数据是相互独立的,因此A3C打破了数据的相关性。
发明内容
本发明的目的在于提供一种基于深度强化学习的云数据中心自适应高效资源分配方法,该方法在延迟和作业丢弃率方面具有更高的服务质量,且能量效率更高。
为实现上述目的,本发明的技术方案是:一种基于深度强化学习的云数据中心自适应高效资源分配方法,设计一种统一的资源分配模型,该资源分配模型以作业延迟、解雇率和能量效率为优化目标;在资源分配模型基础上,将云资源分配的状态空间、行为空间和奖励函数定义为马尔可夫决策过程并将其用于基于DRL(Deep Reinforcement Learning,DRL)的云资源分配方法;提出一种基于Actor-Critic DRL的资源分配方法,解决云数据中心作业调度的最优策略问题;此外基于Actor-Critic DRL的资源分配方法通过多个DRL代理间策略参数的异步更新。
在本发明一实施例中,所述基于DRL的云资源分配方法具体实现如下:
步骤S1、资源分配系统RAS(Resource Allocation System,RAS)根据不同用户作业的资源请求和云数据中心的当前状态信息生成作业调度策略;资源分配系统RAS包括基于DRL的资源控制器、作业调度器、信息收集器、能源代理;
步骤S2、作业调度器根据基于DRL的资源控制器下发的策略,从作业序列中将作业分配给云数据中心的服务器;
步骤S3、在资源分配过程中,信息收集器记录云数据中心中不同资源的使用情况和能源代理测量的当前的能耗,由基于DRL的资源控制器生成相应的作业调度策略。
在本发明一实施例中,所述DRL中的状态空间、动作空间和奖励函数定义如下:
状态空间:在状态空间S中,状态st∈S由时间步t表示的所有服务器的资源使用情况和所有到达的作业的资源请求组成;一方面, um,n是第n个资源类型在服务器虚拟机上的使用情况;另一方面,表示所有到达的作业对不同类型资源的占用请求,其中oj,n是最近到达的作业j对第n个资源类型的占用请求,表示通过时间步长t到达的所有作业的持续时间,其中dj表示作业j的持续时间;因此,云数据中心按时间步长t的状态定义为:
其中和用于表示所有服务器和到达的作业的状态,V={v1,v2,...,vm},J表示的作业序列;当作业到达或完成时,状态空间发生变化,状态空间的维度取决于服务器和到达作业的情况,由(mn+z(n+1))计算,其中m、n和z分别表示服务器的数量、资源类型和到达的作业;
动作空间:在时间步长t时,作业调度器采用的动作是根据基于DRL的资源控制器下发的作业调度策略,从作业序列中选择并执行作业;策略是根据当前资源分配系统状态生成的,作业调度器将作业分配给相应的服务器执行;一旦一个作业被调度到相应的服务器上,服务器将根据该作业的资源请求自动分配相应的资源;因此,操作空间A仅指示一个作业是否将由服务器处理,定义为:
A={at|at∈{0,1,2,...,m}} 公式(2)
其中at∈A;当at=0时,作业调度器不会在时间步长t分配作业,作业需要在作业序列中等待;否则,作业将由相应的服务器处理;
状态转移概率矩阵:该矩阵表示两种状态之间转移的概率;在时间步长t0时,无待处理作业,初始状态s0=[0,[[0],[0]]],其中三个“0”项分别表示服务器的CPU(CentralProcessing Units,CPU)使用情况、作业的占用请求和作业持续时间;在t1,作业j1被立即调度,因为可用资源是足够的;执行此操作后,状态演化为s1=[50,[[50],[d1]]];d1,第一个“50”项表示服务器的CPU使用率,第二个“50”项表示j1对CPU资源的占用请求,d1表示j1的持续时间;类似地,在将j2调度到t2之后,状态演变为s2=[80,[[50,30],[d1,d2]]];其中,状态转移概率矩阵记为IP(st+1|st,at),表示在当前状态st采取一个动作at时,过渡到下一个状态st+1的概率;过渡概率的值通过运行DRL算法得到,该算法输出在某一状态下采取不同动作的概率;
在本发明一实施例中,所述基于Actor-Critic DRL的资源分配方法采用基于角色评论的DRL框架,并采用异步更新A3C(Asynchronous Advantage Actor-Critic,A3C)来加速训练过程;具体来说,基于Actor-Critic DRL的资源分配方法结合基于值和基于策略的DRL算法;一方面,基于值的DRL利用函数逼近器来确定值函数,并采用∈-贪心来平衡探索和开发;另一方面,基于策略的DRL参数化作业调度策略,并在学习过程中直接以概率分布输出动作,而不存储它们的Q值。
多个DRL代理同时工作,并异步更新各自的作业调度策略参数;具体来说,使用相同的神经网络局部参数即调度策略初始化预定数量的DRL代理,并与相应的云数据中心环境进行交互;对于每个DRL代理,在actor和critic网络中周期性地累积梯度,并通过RMSProp优化器使用梯度上升对全局网络中的参数进行异步更新;接下来,每个DRL代理从全局网络中提取actor和critic网络的最新参数,并用它们替换局部参数;每个DRL代理将根据更新后的本地参数,继续与相应的环境交互,独立优化调度策略的本地参数;在本地培训过程中,这些DRL代理之间没有协调;基于Actor-Critic DRL的资源分配方法将通过多个DRL代理之间的异步更新机制继续训练,直到结果收敛。
相较于现有技术,本发明具有以下有益效果:
本发明提出的基于A3C的资源分配方法来有效地调度作业,以提高云数据中心的QoS和能量效率。利用谷歌云数据中心的真实跟踪数据进行了大量的仿真实验,验证了该方法在实现自适应和高效资源分配方面的有效性。具体而言,该方法在QoS(作业平均延迟和作业的平均能量消耗)和能效(作业的平均能量消耗)方面均优于LJF、Tetris、SJF、RR、PG和DQL等经典资源分配方法。此外,随着系统平均负载的增加,该方法的训练效果优于其他两种方法,且比基于DRL的两种高级方法(PG和DQL)具有更高的训练效率(更快的收敛速度)。仿真结果表明,该方法对改善云数据中心的资源分配具有重要意义。
附图说明
图1为本发明云数据中心资源分配模型;
图2为本发明MDP进程建模云资源分配的一个例子;
图3为本发明基于A3C的云资源分配方法框架;
图4为本发明单目标优化下不同系统负载下不同资源分配方法的总回报。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明一种基于深度强化学习的云数据中心自适应高效资源分配方法,设计一种统一的资源分配模型,该资源分配模型以作业延迟、解雇率和能量效率为优化目标;在资源分配模型基础上,将云资源分配的状态空间、行为空间和奖励函数定义为马尔可夫决策过程并将其用于基于DRL的云资源分配方法;提出一种基于Actor-Critic DRL的资源分配方法,解决云数据中心作业调度的最优策略问题;此外基于Actor-Critic DRL的资源分配方法通过多个DRL代理间策略参数的异步更新。
以下为本发明具体实现过程。
本发明将云数据中心的资源分配问题表述为一个无模型的DRL问题,该问题具有动态的系统状态和各种用户需求。针对资源异构、用户需求多样化、能耗大和动态环境下的云数据中心。针对A3C算法的优势,本发明提出了一种基于A3C的资源分配方案。
针对系统状态动态、用户需求异构的云数据中心,设计了一种统一的资源分配模型。该模型以作业延迟、解雇率和能量效率(作业的平均能量消耗)为优化目标。在此基础上,将云资源分配的状态空间、行为空间和奖励函数定义为马尔可夫决策过程(MDP)并将其用于基于DRL的云资源分配方案。提出了一种基于Actor-Critic DRL(A3C)的资源分配方法,有效地解决了云数据中心作业调度的最优策略问题。其中DNN用于处理云数据中心的高维状态空间问题。此外该方法通过多个DRL代理间策略参数的异步更新,大大提高了训练效率。
图1展示了云数据中心分配模型。一个基于DRL的资源控制器嵌入到资源分配系统(RAS)中。RAS根据不同用户作业的资源请求和云数据中心的当前状态信息(如服务器数量、资源使用情况、能耗等)生成作业调度策略。作业调度器根据基于DRL的资源控制器下发的策略,从作业序列中将作业分配给服务器。具体来说,将这些工作推广为数据处理工作,如用于图像处理和语音识别的深度学习(DL)模型的训练作业。对于不同的作业,它们会根据其目的显示不同的资源请求。因此,每个作业由特定的作业持续时间(例如,分钟、小时或天)和对不同类型资源的请求(例如,CPU和内存)组成。在资源分配过程中,信息采集器记录云数据中心中不同资源的使用情况和当前的能耗(由能源代理测量)。根据以上信息,基于DRL的资源控制器会生成相应的作业调度策略。
为了能够在云数据中心实现更好的服务质量和更高的能量效率。本发明提出了一种基于异步优势Actor-Critic(A3C)的云数据中心资源分配方法,该方法采用基于角色评论的DRL框架,并采用异步更新(A3C)来加速训练过程。具体来说,基于A3C的方法结合了基于值和基于策略的DRL算法。一方面,基于值的DRL利用函数逼近器来确定值还数,并采用∈-贪心来平衡探索和开发;因此,DRL代理利用现有经验选择好的作业调度操作,同时探索新的操作。另一方面,基于策略的DRL参数化了作业调度策略,并在学习过程中直接以概率分布输出动作,而不存储它们的Q值。
1、资源分配模型
为了提高服务质量和能源效率,本发明提出了一种基于DRL的资源分配方法,包括以下步骤:
步骤S1、RAS根据不同用户作业的资源请求和云数据中心的当前状态信息(如服务器数量、资源使用情况、能耗等)生成作业调度策略。
步骤S2、作业调度器根据基于DRL的资源控制器下发的策略,从作业序列中将作业分配给服务器。
步骤S3、在资源分配过程中,信息采集器记录云数据中心中不同资源的使用情况和当前的能耗(由能源代理测量)。根据以上信息,基于DRL的资源控制器会生成相应的作业调度策略。
其中DRL中的状态空间、动作空间和奖励函数定义如下:
状态空间:在状态空间S中,状态st∈S由时间步t表示的所有服务器的资源使用情况和所有到达的作业的资源请求组成。一方面, Um,n是第n个资源类型在服务器虚拟机上的使用情况。另一方面,表示所有到达的作业对不同类型资源的占用请求(时间步长t),其中oj,n是最近到达的作业j对第n个资源类型的占用请求,表示通过时间步长t到达的所有作业的持续时间。因此,云数据中心按时间步长t的状态定义为:
其中和用于表示所有服务器和到达的作业的状态,以保证清晰的表示。当作业到达或完成时,状态空间发生变化,状态空间的维度取决于服务器和到达作业的情况,由(mn+z(n+1))计算,其中m、n和z分别表示服务器的数量、资源类型和到达的作业。
动作空间:在时间步长t时,作业调度器采用的动作是根据基于DRL的资源控制器下发的作业调度策略,从作业序列中选择并执行作业。策略是根据当前系统状态生成的,作业调度器将作业分配给特定的服务器执行。一旦一个作业被调度到合适的服务器上,服务器将根据该作业的资源请求自动分配相应的资源。因此,操作空间仅指示一个作业是否将由服务器处理,定义为:
A={at|at∈{0,1,2,...,m}} 公式(2)
其中at∈A。当at=0时,作业调度器不会在时间步长t分配作业,作业需要在作业序列中等待。否则,作业将由特定的服务器处理。
状态转移概率矩阵:该矩阵表示两种状态之间转移的概率。在时间步长t0时,无待处理作业,初始状态s0=[0,[[0],[0]]],其中三个“0”项分别表示服务器的CPU使用情况、作业的占用请求和作业持续时间。在t1,作业j1被立即调度,因为可用资源是足够的。执行此操作后,状态演化为s1=[50,[[50],[d1]]];d1,第一个“50”项表示服务器的CPU使用率,第二个“50”项表示j1对CPU资源的占用请求,d1表示j1的持续时间。类似地,在将j2调度到t2之后,状态演变为s2=[80,[[50,30],[d1,d2]]]。其中,状态转移概率矩阵记为IP(st+1|st,at),表示在当前状态st采取一个动作at时,过渡到下一个状态st+1的概率。过渡概率的值通过运行DRL算法得到,该算法输出在某一状态下采取不同动作的概率。
奖励函数:通过奖励函数引导DRL agent(RAS)学习到更高折扣长期奖励的更好的作业调度策略,提高云资源分配的系统性能。因此,在时间步t时,总奖励Rt由QoS的奖励(记为)和能量效率(记为)两部分组成,定义为
其中w1和w2用于加重处罚。由于为负值,持续时间较长的作业往往等待的时间较短。对于以利润最大化为目标的云系统来说,这是明智的,因为作业持续时间越长,利润越高。此外,反映了时间步长t处的能量消耗的惩罚,定义为
在本实施例中,符号定义如下:
定义1:考虑了一个云数据中心的场景,其中有一组服务器,表示为V={v1,v2,...,vm},其中m为服务器的个数。
定义2:每个服务器提供多种类型的资源(如CPU、内存和存储单元),表示为Res={r1,r2,...,rm},其中n为资源类型个数。
定义3:考虑到有一组预期要处理的所有作业,表示为Jtotal={j1,j2,...,jp},其中p表示作业的总数。
定义4:一组作业在作业序列中等待,表示为Jseq={j1,j2,...,jq},其中q表示作业序列中等待的作业数,并且q≤p。当Jtotal的作业来了,它将首先进入Jseq。如果可用资源足够,则可以立即处理该作业。否则,该作业将在作业序列中等待调度。
定义5:由于作业延迟值的数值差异会导致梯度下降时计算时间过长,因此采用归一化算法提高训练速度和算法的收敛性。因此,Lnormal被定义为标准化的平均作业延迟,它将所有成功完成的作业的作业延迟标准化,然后取其平均值,其中Lnormal≥1并且dj是作业的持续时间。
定义6:disRate定义为作业解雇率,用于计算作业序列满时被解雇的作业的比率,其中0≤disRate≤1。
定义8:Ejob定义为作业调度过程中的能源效率(由所有成功完成的作业的平均能耗衡量)。
在云资源分配的优化过程中,DRL代理首先在环境(云数据中心)的当前系统状态st(资源使用和资源请求)下选择一个动作at(调度作业)。接下来,DRL代理收到奖励Rt(QoS和能量效率),并进入下一个状态st+1。这个过程用MDP来说明,如图2所示。
本发明提出了一种基于异步优势Actor-Critic(A3C)的云数据中心资源分配方法,该方法能够在云数据中心中实现卓越的QoS和能量效率。该方法采用基于角色评论的DRL框架,并采用异步更新(A3C)来加速训练过程。具体来说,基于A3C的方法结合了基于值和基于策略的DRL算法。一方面,基于值的DRL利用函数逼近器来确定值函数,并采用∈-贪心来平衡探索和开发;因此DRL代理利用现有经验选择好的作业调度操作,同时探索新的操作。另一方面,基于策略的DRL参数化了作业调度策略,并在学习过程中直接以概率分布输出动作,而不存储它们的Q值。
本发明提出的基于A3C的云资源分配方法的关键步骤如算法1所示。
基于式(1)中状态空间、式(2)中动作空间和式(3)中奖励函数的定义,首先对actor网络和critic网络进行加权和偏差初始化。然后,初始化actor和critic的学习速率γa和γc,并初始化TD误差折现因子β。
所提出的基于A3C的资源分配方法的优化目标是获得最大的收益。因此,即时奖励Rt(在式(7)中定义)是通过概率分布累积的:
初始化完成后,开始优化云资源分配的训练过程。为了提高优化目标,作业调度策略参数不断更新。
在一步策略规划中,目标函数的策略梯度定义为:
在此基础上,采用时域差分学习,准确估计状态值并指导策略参数的更新。
图3给出了本文提出的基于A3C云资源分配方法的框架。该方法利用了基于策略和基于值的DRL,能够处理较大的动作空间,并且在估计梯度时减小了方差。
为了提高训练效率,多个DRL代理同时工作,并异步更新各自的作业调度策略参数,如算法2所示。具体来说,使用相同的神经网络局部参数(即调度策略)初始化一定数量的DRL代理,并与相应的云数据中心环境进行交互。对于每个DRL代理,在actor和critic网络中周期性地累积梯度,并通过RMSProp优化器使用梯度上升对全局网络中的参数进行异步更新。接下来,每个DRL代理从全局网络中提取actor和critic网络的最新参数,并用它们替换局部参数。每个DRL代理将根据更新后的本地参数,继续与相应的环境交互,独立优化调度策略的本地参数。请注意,在本地培训过程中,这些DRL代理之间没有协调。基于A3C的方法将通过多个DRL代理之间的异步更新机制继续训练,直到结果收敛。
2、方法评估
本发明提出的云资源分配模型是基于TensorFlow 1.4.0实现的。以50台异构服务器为例,模拟一个云数据中心,将空闲服务器的能耗k设置为70%,将服务器的最大能耗Pmax设置为250W。因此,随着资源利用率从0%增加到100%,服务器的能耗分布在175W~250W之间。此外,来自谷歌云数据中心的真实世界跟踪数据被用作我们提出的模型的输入。数据集包含2011年5月谷歌云数据中心超过125000台服务器的不同作业的资源使用数据。更具体地说,首先从29天的谷歌数据集中随机提取50个服务器,其中每个服务器由大约100000个作业轨迹组成。接下来从每个作业跟踪中提取几个基本指标,包括机器ID、作业ID、开始时间、结束时间和相应的资源使用情况。另外作业序列长度设置为1000。
在训练过程中,使用10个DRL代理实现策略参数的异步更新。在每个DRL代理中,作业跟踪数据是分批提供给建议的模型的,其中批大小设置为64。在DNN的设计上,我们分别用200个和100个神经元构建了两个完全连通的隐藏层。此外,我们将epoch的最大数目设置为1000,奖励衰减率λ设置为0.9,还有critic的学习速度γc设置为0.01。
基于以上设置,我们进行了大量的仿真实验来评估所提出的基于A3C的云资源分配方法的性能。
为了分析所提出的云资源分配方法的有效性和优势,进行了大量的对比实验,对五种经典算法也进行了如下的评估。
随机调度算法(Random):作业按作业持续时间的随机顺序执行。
最长作业优先调度算法(Longest job first,LJF):作业按照作业持续时间的递减顺序执行。
最短作业优先调度算法(Shortest job first,SJF):作业按照作业持续时间的递增顺序执行。
轮询调度算法(Round-robin,RR):作业按照循环顺序公平地执行,时间片被使用,并以相等的比例分配给每个作业。
Tetris调度算法:作业是根据其资源需求和到达时系统资源的可用性来执行的。
如图4所示,总奖励(代表QoS)一般随着系统平均负载的增加而下降。在这种情况下,即使系统平均负载变大,所提出的方法也总能获得比其他方法更高的总回报。相比之下,其他经典方法只有在平均系统负载小于1.2时才具有可比较的性能。特别是,当平均系统负载大于2.0时,这些经典方法的性能仅略优于随机方案。当平均系统负载超过2.4时,LJF方法的性能甚至比随机方案更差。这是因为大量的作业等待处理时的平均系统负载高但LJF方法总是安排优先级最长的工作时间的作业,导致很多作业的过度等,严重降低了调度性能。相比之下,该方法始终保持良好的性能。实验结果验证了本发明方法在高系统负载的复杂环境下调度作业的优越性。
3、本发明产品使用过程
(1)RAS根据不同用户作业的资源请求和云数据中心的当前状态信息(如服务器数量、资源使用情况、能耗等)生成作业调度策略。
(2)作业调度器根据基于DRL的资源控制器下发的策略,从作业序列中将作业分配给服务器。
(3)在资源分配过程中,信息采集器记录云数据中心中不同资源的使用情况和当前的能耗(由能源代理测量)。根据以上信息,基于DRL的资源控制器会生成相应的作业调度策略。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (5)
1.一种基于深度强化学习的云数据中心自适应高效资源分配方法,其特征在于,设计一种统一的资源分配模型,该资源分配模型以作业延迟、解雇率和能量效率为优化目标;在资源分配模型基础上,将云资源分配的状态空间、行为空间和奖励函数定义为马尔可夫决策过程并将其用于基于DRL的云资源分配方法;提出一种基于Actor-Critic DRL的资源分配方法,解决云数据中心作业调度的最优策略问题;此外基于Actor-Critic DRL的资源分配方法通过多个DRL代理间策略参数的异步更新。
2.根据权利要求1所述的基于深度强化学习的云数据中心自适应高效资源分配方法,其特征在于,所述基于DRL的云资源分配方法具体实现如下:
步骤S1、资源分配系统RAS根据不同用户作业的资源请求和云数据中心的当前状态信息生成作业调度策略;资源分配系统RAS包括基于DRL的资源控制器、作业调度器、信息收集器、能源代理;
步骤S2、作业调度器根据基于DRL的资源控制器下发的策略,从作业序列中将作业分配给云数据中心的服务器;
步骤S3、在资源分配过程中,信息收集器记录云数据中心中不同资源的使用情况和能源代理测量的当前的能耗,由基于DRL的资源控制器生成相应的作业调度策略。
3.根据权利要求2所述的基于深度强化学习的云数据中心自适应高效资源分配方法,其特征在于,所述DRL中的状态空间、动作空间和奖励函数定义如下:
状态空间:在状态空间S中,状态st∈S由时间步t表示的所有服务器的资源使用情况和所有到达的作业的资源请求组成;一方面, um,n是第n个资源类型在服务器虚拟机上的使用情况;另一方面,表示所有到达的作业对不同类型资源的占用请求,其中oj,n是最近到达的作业j对第n个资源类型的占用请求,表示通过时间步长t到达的所有作业的持续时间,其中dj表示作业j的持续时间;因此,云数据中心按时间步长t的状态定义为:
其中和用于表示所有服务器和到达的作业的状态,V={v1,v2,...,vm},J表示的作业序列;当作业到达或完成时,状态空间发生变化,状态空间的维度取决于服务器和到达作业的情况,由(mn+z(n+1))计算,其中m、n和z分别表示服务器的数量、资源类型和到达的作业;
动作空间:在时间步长t时,作业调度器采用的动作是根据基于DRL的资源控制器下发的作业调度策略,从作业序列中选择并执行作业;策略是根据当前资源分配系统状态生成的,作业调度器将作业分配给相应的服务器执行;一旦一个作业被调度到相应的服务器上,服务器将根据该作业的资源请求自动分配相应的资源;因此,操作空间A仅指示一个作业是否将由服务器处理,定义为:
A={at|at∈{0,1,2,...,m}} 公式(2)
其中at∈A;当at=0时,作业调度器不会在时间步长t分配作业,作业需要在作业序列中等待;否则,作业将由相应的服务器处理;
状态转移概率矩阵:该矩阵表示两种状态之间转移的概率;在时间步长t0时,无待处理作业,初始状态s0=[0,[[0],[0]]],其中三个“0”项分别表示服务器的CPU使用情况、作业的占用请求和作业持续时间;在t1,作业j1被立即调度,因为可用资源是足够的;执行此操作后,状态演化为s1=[50,[[50],[d1]]];第一个“50”项表示服务器的CPU使用率,第二个“50”项表示j1对CPU资源的占用请求,d1表示j1的持续时间;类似地,在将j2调度到t2之后,状态演变为s2=[80,[[50,30],[d1,d2]]];其中,状态转移概率矩阵记为IP(st+1|st,at),表示在当前状态st采取一个动作at时,过渡到下一个状态st+1的概率;过渡概率的值通过运行DRL算法得到,该算法输出在某一状态下采取不同动作的概率;
4.根据权利要求1所述的基于深度强化学习的云数据中心自适应高效资源分配方法,其特征在于,所述基于Actor-Critic DRL的资源分配方法采用基于角色评论的DRL框架,并采用异步更新A3C来加速训练过程;具体来说,基于Actor-Critic DRL的资源分配方法结合基于值和基于策略的DRL算法;一方面,基于值的DRL利用函数逼近器来确定值函数,并采用∈-贪心来平衡探索和开发;另一方面,基于策略的DRL参数化作业调度策略,并在学习过程中直接以概率分布输出动作,而不存储它们的Q值。
5.根据权利要求3所述的基于深度强化学习的云数据中心自适应高效资源分配方法,其特征在于,在每个DRL代理中,critic网络对状态-动作值函数进行估计并更新参数w;另外,actor网络根据critic网络的评估值,引导作业调度策略参数的更新;对应的策略梯度定义为:
多个DRL代理同时工作,并异步更新各自的作业调度策略参数;具体来说,使用相同的神经网络局部参数即调度策略初始化预定数量的DRL代理,并与相应的云数据中心环境进行交互;对于每个DRL代理,在actor和critic网络中周期性地累积梯度,并通过RMSProp优化器使用梯度上升对全局网络中的参数进行异步更新;接下来,每个DRL代理从全局网络中提取actor和critic网络的最新参数,并用它们替换局部参数;每个DRL代理将根据更新后的本地参数,继续与相应的环境交互,独立优化调度策略的本地参数;在本地培训过程中,这些DRL代理之间没有协调;基于Actor-Critic DRL的资源分配方法将通过多个DRL代理之间的异步更新机制继续训练,直到结果收敛。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210309973.8A CN114691363A (zh) | 2022-03-28 | 2022-03-28 | 基于深度强化学习的云数据中心自适应高效资源分配方法 |
PCT/CN2022/126468 WO2023184939A1 (zh) | 2022-03-28 | 2022-10-20 | 基于深度强化学习的云数据中心自适应高效资源分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210309973.8A CN114691363A (zh) | 2022-03-28 | 2022-03-28 | 基于深度强化学习的云数据中心自适应高效资源分配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114691363A true CN114691363A (zh) | 2022-07-01 |
Family
ID=82141026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210309973.8A Withdrawn CN114691363A (zh) | 2022-03-28 | 2022-03-28 | 基于深度强化学习的云数据中心自适应高效资源分配方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114691363A (zh) |
WO (1) | WO2023184939A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115421930A (zh) * | 2022-11-07 | 2022-12-02 | 山东海量信息技术研究院 | 任务处理方法、系统、装置、设备及计算机可读存储介质 |
CN115878295A (zh) * | 2023-03-02 | 2023-03-31 | 国网江西省电力有限公司信息通信分公司 | 基于深度强化学习的软件定义安全中台调度方法 |
CN116069512A (zh) * | 2023-03-23 | 2023-05-05 | 之江实验室 | 一种基于强化学习的Serverless高效资源分配方法及系统 |
WO2023184939A1 (zh) * | 2022-03-28 | 2023-10-05 | 福州大学 | 基于深度强化学习的云数据中心自适应高效资源分配方法 |
CN117709683A (zh) * | 2024-02-02 | 2024-03-15 | 合肥喆塔科技有限公司 | 基于实时制造数据的半导体晶圆动态调度方法及设备 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117453398A (zh) * | 2023-10-27 | 2024-01-26 | 国网江苏省电力有限公司南通供电分公司 | 一种提高供电可靠性的算力调度的智能优化方法及系统 |
CN117194057B (zh) * | 2023-11-08 | 2024-01-23 | 贵州大学 | 一种基于强化学习优化边缘能耗与负载的资源调度方法 |
CN117314370B (zh) * | 2023-11-30 | 2024-03-01 | 嘉兴市信达电子科技有限公司 | 一种基于智慧能源的数据驾驶舱系统及实现方法 |
CN117472587B (zh) * | 2023-12-26 | 2024-03-01 | 广东奥飞数据科技股份有限公司 | 一种ai智算中心的资源调度系统 |
CN117539648A (zh) * | 2024-01-09 | 2024-02-09 | 天津市大数据管理中心 | 一种电子政务云平台的服务质量管理方法及装置 |
CN117634859B (zh) * | 2024-01-26 | 2024-04-12 | 清云小筑(北京)创新技术有限公司 | 基于深度强化学习的资源均衡施工排程方法、装置及设备 |
CN117667360B (zh) * | 2024-01-31 | 2024-04-16 | 湘江实验室 | 面向大模型任务的计算与通信融合的智能算网调度方法 |
CN117726143B (zh) * | 2024-02-07 | 2024-05-17 | 山东大学 | 基于深度强化学习的环境友好型微网优化调度方法及系统 |
CN117953351A (zh) * | 2024-03-27 | 2024-04-30 | 之江实验室 | 一种基于模型强化学习的决策方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026549B (zh) * | 2019-11-28 | 2022-06-10 | 国网甘肃省电力公司电力科学研究院 | 一种电力信息通信设备自动化测试资源调度方法 |
US11954526B2 (en) * | 2020-07-10 | 2024-04-09 | Guangdong University Of Petrochemical Technology | Multi-queue multi-cluster task scheduling method and system |
CN113692021B (zh) * | 2021-08-16 | 2023-11-28 | 北京理工大学 | 一种基于亲密度的5g网络切片智能资源分配方法 |
CN114691363A (zh) * | 2022-03-28 | 2022-07-01 | 福州大学 | 基于深度强化学习的云数据中心自适应高效资源分配方法 |
-
2022
- 2022-03-28 CN CN202210309973.8A patent/CN114691363A/zh not_active Withdrawn
- 2022-10-20 WO PCT/CN2022/126468 patent/WO2023184939A1/zh unknown
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023184939A1 (zh) * | 2022-03-28 | 2023-10-05 | 福州大学 | 基于深度强化学习的云数据中心自适应高效资源分配方法 |
CN115421930A (zh) * | 2022-11-07 | 2022-12-02 | 山东海量信息技术研究院 | 任务处理方法、系统、装置、设备及计算机可读存储介质 |
CN115878295A (zh) * | 2023-03-02 | 2023-03-31 | 国网江西省电力有限公司信息通信分公司 | 基于深度强化学习的软件定义安全中台调度方法 |
CN115878295B (zh) * | 2023-03-02 | 2023-05-30 | 国网江西省电力有限公司信息通信分公司 | 基于深度强化学习的软件定义安全中台调度方法 |
CN116069512A (zh) * | 2023-03-23 | 2023-05-05 | 之江实验室 | 一种基于强化学习的Serverless高效资源分配方法及系统 |
CN116069512B (zh) * | 2023-03-23 | 2023-08-04 | 之江实验室 | 一种基于强化学习的Serverless高效资源分配方法及系统 |
CN117709683A (zh) * | 2024-02-02 | 2024-03-15 | 合肥喆塔科技有限公司 | 基于实时制造数据的半导体晶圆动态调度方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2023184939A1 (zh) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114691363A (zh) | 基于深度强化学习的云数据中心自适应高效资源分配方法 | |
CN110737529B (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
CN108182115B (zh) | 一种云环境下的虚拟机负载均衡方法 | |
Chen et al. | Adaptive and efficient resource allocation in cloud datacenters using actor-critic deep reinforcement learning | |
Asghari et al. | A cloud resource management framework for multiple online scientific workflows using cooperative reinforcement learning agents | |
Tong et al. | DDQN-TS: A novel bi-objective intelligent scheduling algorithm in the cloud environment | |
Bian et al. | Neural task scheduling with reinforcement learning for fog computing systems | |
Wang et al. | Dynamic multiworkflow deadline and budget constrained scheduling in heterogeneous distributed systems | |
Zhang et al. | Strategy-proof mechanism for online time-varying resource allocation with restart | |
Hussin et al. | Efficient energy management using adaptive reinforcement learning-based scheduling in large-scale distributed systems | |
CN113535387A (zh) | 一种异构感知的gpu资源分配与调度方法及系统 | |
CN117555683A (zh) | 基于深度强化学习的云集群资源调度方法 | |
CN112306642A (zh) | 一种基于稳定匹配博弈理论的工作流调度方法 | |
Singh et al. | Market-inspired dynamic resource allocation in many-core high performance computing systems | |
CN115454585A (zh) | 一种面向边缘设备深度学习模型推理的自适应批处理和并行调度系统 | |
Li et al. | IPSOMC: An improved particle swarm optimization and membrane computing based algorithm for cloud computing | |
Pradhan et al. | Action‐Based Load Balancing Technique in Cloud Network Using Actor‐Critic‐Swarm Optimization | |
CN112698911B (zh) | 一种基于深度强化学习的云作业调度方法 | |
CN116932198A (zh) | 资源调度方法、装置、电子设备及可读存储介质 | |
Fan | Intelligent Job Scheduling on High Performance Computing Systems | |
CN114035954A (zh) | 一种基于ddqn算法的调度系统和任务调度系统 | |
Fakhartousi et al. | Autonomic Dominant Resource Fairness (A-DRF) in Cloud Computing | |
Gomathi et al. | Monarch Butterfly Optimization for Reliable Scheduling in Cloud. | |
CN115150277B (zh) | 云数据中心中基于双阈值滞后集群调度机制的节能策略 | |
Wang et al. | A Deep Reinforcement Learning Scheduler with Back-filling for High Performance Computing |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220701 |
|
WW01 | Invention patent application withdrawn after publication |