CN112764932B - 基于深度强化学习的计算密集型工作负载高能效分配方法 - Google Patents
基于深度强化学习的计算密集型工作负载高能效分配方法 Download PDFInfo
- Publication number
- CN112764932B CN112764932B CN202110107119.9A CN202110107119A CN112764932B CN 112764932 B CN112764932 B CN 112764932B CN 202110107119 A CN202110107119 A CN 202110107119A CN 112764932 B CN112764932 B CN 112764932B
- Authority
- CN
- China
- Prior art keywords
- fully
- connected network
- server
- workload
- intensive
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000002787 reinforcement Effects 0.000 title claims abstract description 16
- 238000005265 energy consumption Methods 0.000 claims abstract description 56
- 230000006870 function Effects 0.000 claims abstract description 45
- 230000009471 action Effects 0.000 claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims abstract description 21
- 238000012549 training Methods 0.000 claims abstract description 13
- 210000002569 neuron Anatomy 0.000 claims description 18
- 230000004913 activation Effects 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 claims description 9
- 230000003068 static effect Effects 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract description 4
- 239000003795 chemical substances by application Substances 0.000 description 30
- 238000004088 simulation Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 239000000872 buffer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 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
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E40/00—Technologies for an efficient electrical power generation, transmission or distribution
- Y02E40/70—Smart grids as climate change mitigation technology in the energy generation sector
-
- Y—GENERAL 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
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开的一种基于深度强化学习的计算密集型工作负载高能效分配方法,旨在解决数据中心同时运行两种类型工作负载的场景下,采用自适应调整并优化参数的机制,高能效分配计算密集型工作负载的问题。本发明实现的步骤为:生成训练集,构建具有动态性服务器的能耗函数,构建状态动作集合,搭建计算密集型工作负载高能效分配智能体,采用深度强化学习训练智能体,分配数据中心的计算密集型工作负载。本发明的方法在服务器数量相同的条件下进一步降低了服务器能耗,提高了服务器能效,应用场景更广。
Description
技术领域
本发明属于计算机技术领域,更进一步涉及资源分配技术领域中的一种基于深度强化学习的工作负载分配方法。本发明可用于计算服务器组成的数据中心中,实现对计算密集型工作负载的分配,以满足工作负载对计算资源的动态需求,实现数据中心中服务器的以高能效为目标的工作负载有效分配。
背景技术
数据中心服务器的能耗由计算资源的利用率决定,利用率越高能耗的增长越快,利用率过低又会导致服务器静态能耗的占比过高。工作负载分配可以改变服务器的计算资源利用率,从而调整数据中心中的服务器的能耗。计算密集型工作负载对计算资源的需求量大,运行时间长,对能耗的影响更大。对计算密集型工作负载的有效分配可以使得服务器的计算资源利用率更加均衡,避免出现部分服务器利用率过高和过低的情况,从而降低服务器能耗。目前,常用的基于启发式算法的工作负载分配,由于缺乏与服务器环境状态信息以及工作负载信息的交互,忽视了分配后服务器状态的变化所带来的能耗方面的影响,缺乏自适应调整并优化模型参数的机制,仅能为特定数据中心环境的工作负载进行分配,无法适应计算密集型工作负载和常规类型工作负载对计算资源的动态性需求变化,在进一步降低服务器能耗方面受到一定程度的限制。
国网江苏省电力有限公司南京供电分公司在其申请的专利文献“一种面向时延和能耗的电力物联网工作负载分配方法”(申请号:202010079874.6申请日:2020.02.04申请公布号:CN 11131412 A)中公开了一种面向时延和能耗的工作负载分配方法。该方法的步骤是,第一步:将计算任务分发到边缘服务器节点,构建工作负载分配模型;第二步:以终端的时延和能耗作为优化目标,建立工作负载分配的多目标优化函数;第三步:通过启发式的基于分解的多目标进化算法求解优化函数,得到工负载分配方案,应用到终端上执行。该方法存在的不足之处是,采用启发式算法求解工作负载分配问题,没有考虑分配后服务器状态(如计算资源利用率)的变化,启发式算法的原有固定策略将不再适合变化后的服务器状态,无法在工作负载对计算资源动态性需求的情况下自适应的调整优化策略,在进一步降低服务器能耗提高能效方面受到一定程度的限制。
Yonggang Wen等人在其发表论文“Efficient Compute-Intensive JobAllocation in Data Centers via Deep Reinforcement Learning”(IEEE Transactionson Parallel and Distributed Systems,2020,31(6):1474-1485)中提出一种基于深度Q网络DQN(Deep Q Network)算法的计算密集型工作负载分配方法。该方法步骤是,第一步:收集到达数据中心计算密集型工作负载集合的计算资源需求;第二步:采集数据中心服务器的状态信息,包括计算资源利用率,空闲计算资源量和温度;第三步:将状态信息和资源需求送入决策中心;第四步:决策中心内采用DQN算法的智能体依据当前策略对计算密集型工作负载进行分配决策;第五步:采用长短记忆网络对下一时刻的服务器状态进行预测;第六步:依据预测结果的可行性将计算密集型工作负载分配到服务器上运行。该方法存在的不足之处是,分配时仅考虑计算密集这一种类型的工作负载对服务器计算资源利用率的影响,采用的DQN算法在自适应调整优化策略时,未考虑服务器上常规类型工作负载对计算资源的动态性需求,因此优化得到策略存在不足,在进一步降低服务器能耗提高能效方面受到一定程度的限制。
发明内容:
本发明的目的在于针对上述已有技术的不足,提出一种基于深度强化学习的计算密集型工作负载高能效分配方法,用于解决现有的计算密集型工作负载分配方法中缺乏自适应调整并优化模型参数的机制,仅能为特定数据中心环境的工作负载进行分配,无法适应计算密集型工作负载和常规类型工作负载对计算资源的动态性需求变化的问题。
实现本发明目的的技术思路是:根据数据中心中每个服务器的计算资源利用率,建立具有动态性的服务器能耗函数,适用于计算密集型工作负载和常规类型工作负载对计算资源的动态性需求的场景;使用深度强化学习,自适应调整并优化计算密集型工作负载高能效分配智能体的权重参数,实现计算密集型工作负载高能效分配。
为实现上述目的,发明采用的技术方案包括如下步骤:
(1)生成训练集:
将数据中心内计算密集型工作负载的物理核需求数量组成训练集;
(2)构建动态性服务器的能耗函数:
(2a)按照下式,计算数据中心中每个服务器在每个时隙的每种计算资源的利用率:
其中,表示数据中心中第m个服务器在第t个时隙的第c种计算资源的利用率,m∈{1,...,M},M表示数据中心中服务器的总数,t表示数据中心运行的时隙序号,t∈{1,...,T},T表示时隙的总数,T≥100,N表示数据中心内计算密集型工作负载的总数,∑表示求和操作,n表示计算密集型工作负载的序号,an,m(t)表示在第t个时隙第n个计算密集型工作负载在第m个服务器上的分配决策值,an,m(t)∈{0,1},Dn表示第n个计算密集型工作负载所请求的物理核得总数,Nm表示数据中心中第m个服务器在第t个时隙所能提供的最大物理核的总数,vm(t)表示数据中心中第m个服务器在第t个时隙所有常规类型的工作负载对该服务器计算资源的利用率;
(2b)按照下式,构建每个服务器的能耗函数:
其中,Pm(t)表示第m个服务器在第t个时隙的能耗,0≤Pm(t)≤1,Em表示第m个服务器的静态能耗,0<Em≤0.5,α表示取值小于0.5的能耗系数,β表示取值小于1的能耗系数;
(3)构建状态动作集合:
(3a)将数据中心在每个时隙的所有服务器计算资源利用率数值组成的利用率子集合,将每个服务器的能耗数值组成能耗子集合,将每个服务器的空闲物理核数量组成物理核子集合,将每个计算密集型工作负载所请求的物理核数量组成请求子集合,将每个物理服务器的序号组成子集合;
(3b)将五个子集合组成状态动作集合;
(4)构建计算密集型工作负载高能效分配智能体:
(4a)搭建第一全连接网络和第二全连接网络,两个网络的结构相同,均由输入层、第一全连接层和第二全连接层组成,设置输入层的神经元的个数等于状态动作集合中元素的个数,第一全连接层的神经元数量设置为300,采用激活函数tanh实现,第二全连接层的神经元数量设置为1,采用激活函数ReLU实现;
(4b)搭建第三全连接网络和第四全连接网络,两个网络的结构相同,均由输入层、第一全连接层和第二全连接层组成,设置输入层的神经元的个数等于状态动作集合中元素的个数,第一全连接层的神经元数量设置为300,采用激活函数ReLU实现,第二全连接层的神经元数量设置为1,采用激活函数ReLU实现;
(4c)将第一全连接网络网络、第三全连接网络网络、第二全连接网络网络和第四全连接网络网络互相连接成计算密集型工作负载高能效分配智能体;
(5)采用深度强化学习训练计算密集型工作负载高能效分配智能体:
(5a)设定第一和第二全连接网络网络的神经网络权重参数均设置为一个相同的随机数,第三和第四全连接网络网络的神经网络权重参数均设置为一个相同的随机数,将第一全连接网络网络学习率设置为0.001,第二全连接网络网络的学习率设置为0.01,第三全连接网络网络的学习率设置为0.002,第四全连接网络网络的学习率设置为0.01;
(5b)将当前的状态动作集合输入到计算密集型工作负载分配智能体中,第一全连接网络网络输出一个满足服务器低能耗目标计算密集型工作负载的服务器序号,将该序号分配给该计算密集型工作负载,输出该服务器根据奖励函数计算的分配操作的奖励值;将状态动作集合,工作负载的服务器序号,服务器的奖励值组成一个经验数据子集合,将该子集合存入到个数为的103经验回放缓存中;
(5c)判断经验回放缓存是否已储存满,若是,则执行步骤(5d),否则,将执行完分配操作的状态动作集合作为当前状态动作集合后执行步骤(5b);
(5d)从经验回放缓存区随机提取64个经验数据子集合,将所选数据子集合中的分配操作前的状态动作集合输入到计算密集型工作负载分配智能体中,第三全连接网络输出第一个状态价值,第四全连接网络输出第二个状态价值,第二神经网络输出动作价值;
(5e)将所选经验数据子集合中服务器的奖励值、第一个状态价值、第二个状态价值和动作价值代入到均方误差函数中,计算密集型工作负载分配智能体的损失值,利用梯度反向传播方法迭代更新计算密集型工作负载分配智能体中第三全连接网络网络的权重参数,直到智能体的损失值最小为止,得到更新后第三全连接网络的权重参数;
(5f)将第一个动作价值代入到性能评估函数,计算性能评估值,利用梯度反向传播方法迭代更新计算密集型工作负载分配智能体中第一全连接网络的权重参数,直到智能体的性能评估值最大为止,得到更新后第一全连接网络网络的权重参数;
(5g)将更新后的第一全连接网络的权重参数代入到软更新函数,计算第二全连接网络的权重参数,更新当前第二全连接网络的权重参数;将更新后的智能体中第三全连接网络的权重参数代入到软更新函数,计算第四全连接网络的权重参数,更新当前第四全连接网络的权重参数;
(5h)判断奖励函数是否收敛,若是,得到训练好的基于深度强化学习的计算密集型工作负载分配智能体;否则,将步骤(5e)、(5f)得到的第一全连接网络权重参数、第二全连接网络权重参数、第三全连接网络权重参数和第四全连接权重网络参数作为当前智能体中第一全连接网络权重参数、第二全连接网络权重参数、第三全连接网络权重参数和第四全连接权重网络参数后执行步骤(5b);
(6)分配数据中心的计算密集型工作负载:
(6a)将一个时隙内计算密集型工作负载在数据中心的到达时间的先后顺序进行排序,从序列中依次选取一个未选过的工作负载;
(6b)对所选工作负载采用与步骤(3)相同的处理方法,得到所选工作负载的状态动作集合,并输入到训练好的计算密集型工作负载分配模型中,输出所选工作负载对应的服务器序号;
(6c)判断是否选完序列中的工作负载,若是,执行步骤(7),否则,执行步骤(6a);
(7)结束分配操作。
本发明与现有技术相比有以下优点:
第1,由于本发明构建了一个计算密集型工作负载高能效智能体,通过将计算密集型工作负载和常规类型工作负载对计算资源的动态性需求转换为每个时隙的服务器计算资源利用率变化,克服了现有技术中只能考虑一种类型的工作负载对服务器计算资源利用率的影响的问题,使得本发明的应用场景更广。
第2,由于本发明使用深度强化学习训练计算密集型工作负载高能效智能体的权重参数,克服了现有技术中缺乏自适应调整并优化模型参数的机制的问题,使得本发明可以进一步降低数据中心服务器能耗,提高能效。
附图说明
图1是本发明的流程图;
图2是本发明的仿真结果图。
具体实施方式
以下结合附图对本发明做进一步的详细描述。
参照图1,本发明的实现步骤做进一步的详细描述。
步骤1,生成训练集,将数据中心内计算密集型工作负载的物理核需求数量组成训练集。
步骤2,构建动态性服务器的能耗函数。
第1步,按照下式,计算数据中心中每个服务器在每个时隙的每种计算资源的利用率:
其中,表示数据中心中第m个服务器在第t个时隙的第c种计算资源的利用率,m∈{1,...,M},M表示数据中心中服务器的总数,t表示数据中心运行的时隙序号,t∈{1,...,T},T表示时隙的总数,T≥100,N表示数据中心内计算密集型工作负载的总数,∑表示求和操作,n表示计算密集型工作负载的序号,an,m(t)表示在第t个时隙第n个计算密集型工作负载在第m个服务器上的分配决策值,an,m(t)∈{0,1},Dn表示第n个计算密集型工作负载所请求的物理核得总数,Nm表示数据中心中第m个服务器在第t个时隙所能提供的最大物理核的总数,vm(t)表示数据中心中第m个服务器在第t个时隙所有常规类型的工作负载对该服务器计算资源的利用率。
第2步,按照下式,构建每个服务器的能耗函数:
其中,Pm(t)表示第m个服务器在第t个时隙的能耗,0≤Pm(t)≤1,Em表示第m个服务器的静态能耗,0<Em≤0.5,α表示取值小于0.5的能耗系数,β表示取值小于1的能耗系数。
步骤3,构建状态空间集合。
第1步,将数据中心在每个时隙的所有服务器计算资源利用率数值组成的利用率子集合,将每个服务器的能耗数值组成能耗子集合,将每个服务器的空闲物理核数量组成物理核子集合,将每个计算密集型工作负载所请求的物理核数量组成请求子集合,将每个物理服务器的序号组成子集合。
第2步,将五个子集合组成状态动作集合st。
步骤4,构建计算密集型工作负载高能效分配智能体。
第1步,搭建第一全连接网络和第二全连接网络,两个网络的结构相同,均由输入层、第一全连接层和第二全连接层组成,设置输入层的神经元的个数等于状态动作集合中元素的个数,第一全连接层的神经元数量设置为300,采用激活函数tanh实现,第二全连接层的神经元数量设置为1,采用激活函数ReLU实现。
第2步,搭建第三全连接网络和第四全连接网络,两个网络的结构相同,均由输入层、第一全连接层和第二全连接层组成,设置输入层的神经元的个数等于状态动作集合中元素的个数,第一全连接层的神经元数量设置为300,采用激活函数ReLU实现,第二全连接层的神经元数量设置为1,采用激活函数ReLU实现。
第3步,将第一全连接网络网络、第三全连接网络网络、第二全连接网络网络和第四全连接网络网络互相连接成计算密集型工作负载分配智能体。
步骤5,采用深度强化学习训练计算密集型工作负载高能效分配智能体。
第1步,设定第一和第二全连接网络网络的神经网络权重参数均设置为一个相同的随机数,第三和第四全连接网络网络的神经网络权重参数均设置为一个相同的随机数,将第一全连接网络网络学习率设置为0.001,第二全连接网络网络的学习率设置为0.01,第三全连接网络网络的学习率设置为0.002,第四全连接网络网络的学习率设置为0.01。
第2步,将当前的状态动作集合输入到计算密集型工作负载分配智能体中,第一全连接网络网络输出一个满足服务器低能耗目标计算密集型工作负载的服务器序号,将该序号分配给该计算密集型工作负载,输出该服务器根据奖励函数计算的分配操作的奖励值,按照下式,构建奖励函数:
其中,rt表示在第t个时隙对计算密集性工作负载分配的奖励函数,Rm(t)表示采用轮询调度算法对计算密集型工作负载分配得到的第m个服务器在第t个时隙的能耗,将状态动作集合,工作负载的服务器序号,服务器的奖励值组成一个经验数据子集合,将该子集合存入到个数为的103经验回放缓存中。
第3步,判断经验回放缓存是否已储存满,若是,则执行第4步,否则,将执行完分配操作的状态动作集合作为当前状态动作集合后执行第2步。
第4步,从经验回放缓存区随机提取64个经验数据子集合,将所选数据子集合中的分配操作前的状态动作集合输入到计算密集型工作负载分配智能体中,第三全连接网络输出第一个状态价值,第四全连接网络输出第二个状态价值,第二神经网络输出动作价值。
第5步,将所选经验数据子集合中服务器的奖励值、第一个状态价值、第二个状态价值和动作价值代入到均方误差函数中,计算密集型工作负载分配智能体的损失值,利用梯度反向传播方法迭代更新计算密集型工作负载分配智能体中第三全连接网络网络的权重参数,直到智能体的损失值最小为止,得到更新后第三全连接网络的权重参数。
第6步,将第一个动作价值代入到性能评估函数,计算性能评估值,利用梯度反向传播方法迭代更新计算密集型工作负载分配智能体中第一全连接网络的权重参数,直到智能体的性能评估值最大为止,得到更新后第一全连接网络网络的权重参数。
第7步,将更新后的第一全连接网络的权重参数代入到软更新函数,计算第二全连接网络的权重参数,更新当前第二全连接网络的权重参数;将更新后的智能体中第三全连接网络的权重参数代入到软更新函数,计算第四全连接网络的权重参数,更新当前第四全连接网络的权重参数。
第8步,判断奖励函数是否收敛,若是,得到训练好的基于深度强化学习的计算密集型工作负载高能效分配智能体;否则,将第5步、第6步得到的第一全连接网络权重参数、第二全连接网络权重参数、第三全连接网络权重参数和第四全连接权重网络参数作为当前智能体中第一全连接网络权重参数、第二全连接网络权重参数、第三全连接网络权重参数和第四全连接权重网络参数后执行步骤第2步。
步骤6,分配数据中心的计算密集型工作负载。
第1步,按照计算密集型工作负载在数据中心的到达时间的先后顺序进行排序,从序列中依次选取一个未选过的工作负载。
第2步,对所选工作负载采用与步骤(3)相同的处理方法,得到所选工作负载的状态动作集合,并输入到训练好的计算密集型工作负载分配模型中,输出所选工作负载对应的服务器序号。
第3步,判断是否选完序列中的工作负载,若是,执行步骤(7),否则,执行第1步。
步骤7,结束分配操作。
下面结合仿真实验对本发明的效果做进一步的说明:
1.实验条件:
本发明的仿真实验的实验的硬件平台为:处理器为Intel Xeon Silver 4208,主频为2.1GHz,内存128GB。
本发明的仿真实验平台的软件平台为:Windows10操作系统和Python3.7
本发明仿真实验所使用的的训练数据集为阿里巴巴集群追踪Cluster Trace2018作为数据集,包含了4000台服务器在8天内,资源变化和工作负载执行的数据,提取了1000个样本,每个样本包括3000个服务器计算资源利用率数据,3000个服务器物理核空闲数量数据,3000个常规类型工作负载数据和1个计算密集型工作负载数据,样本格式为csv。
2.仿真内容及其结果分析:
本发明仿真实验是采用本发明和一个现有技术(基于深度Q网络的计算密集型工作负载分配方法),分别在服务器数量为100,500,1000进行10次实验,得到了10次实验中平均每台服务器在每个时隙内的归一化能耗值,其结果如图2所示。
在仿真实验中,采用的一个现有技术是指:
Yonggang Wen等人在其发表论文“Efficient Compute-Intensive JobAllocation in Data Centers via Deep Reinforcement Learning”(IEEE Transactionson Parallel and Distributed Systems,2020,31(6):1474-1485)中提出的基于深度Q网络的计算密集型工作负载分配方法。
下面结合图2的仿真图对本发明的效果做进一步的描述。
图2为相同服务器硬件参数,能耗函数的,奖励函数的条件下,采用本发明的方法和现有的方法分别获得的每台服务器在每个时隙内的归一化能耗值比较图。图2中的横坐标表示数据中心的服务器数量,单位为个。纵坐标表示台服务器在每个时隙内的归一化能耗值。图2以左斜线表示的柱形表示采用现有技术的仿真结果,以右斜线表示的柱形表示采用本发明方法的仿真结果。
由图2中的3个柱状对比可以看出,在100台服务器的条件下,本发明得到的每个服务器在每个特时隙内的归一化能耗值相比现有方法降低了8%,在500台服务器的条件下,本发明得到的每个服务器在每个特时隙内的归一化能耗值相比现有方法降低了11%,在1000台服务器的条件下,本发明得到的每个服务器在每个特时隙内的归一化能耗值相比现有方法降低了13%。
以上仿真实验结果表明,在数据中心服务器数量相同的情况下,本发明得到的每个服务器在每个特时隙内的归一化能耗值低于现有技术得到的每个服务器在每个特时隙内的归一化能耗值;本发明进一步降低了服务器的能耗,是一种能效更高的计算密集型工作负载分配方法。
Claims (1)
1.一种基于深度强化学习的计算密集型工作负载高能效分配方法,其特征在于,构建计算密集型工作负载高能效分配智能体,采用深度强化学习训练计算密集型工作负载高能效分配智能体;该方法的步骤包括如下;
(1)生成训练集:
将数据中心内计算密集型工作负载的物理核需求数量组成训练集;
(2)构建动态性服务器的能耗函数:
(2a)按照下式,计算数据中心中每个服务器在每个时隙的每种计算资源的利用率:
其中,表示数据中心中第m个服务器在第t个时隙的第c种计算资源的利用率,m∈{1,...,M},M表示数据中心中服务器的总数,t表示数据中心运行的时隙序号,t∈{1,...,T},T表示时隙的总数,T≥100,N表示数据中心内计算密集型工作负载的总数,∑表示求和操作,n表示计算密集型工作负载的序号,an,m(t)表示在第t个时隙第n个计算密集型工作负载在第m个服务器上的分配决策值,an,m(t)∈{0,1},Dn表示第n个计算密集型工作负载所请求的物理核得总数,Nm表示数据中心中第m个服务器在第t个时隙所能提供的最大物理核的总数,vm(t)表示数据中心中第m个服务器在第t个时隙所有常规类型的工作负载对该服务器计算资源的利用率;
(2b)按照下式,构建每个服务器的能耗函数:
其中,Pm(t)表示第m个服务器在第t个时隙的能耗,0≤Pm(t)≤1,Em表示第m个服务器的静态能耗,0<Em≤0.5,α表示取值小于0.5的能耗系数,β表示取值小于1的能耗系数;
(3)构建状态空间集合:
(3a)将数据中心在每个时隙的所有服务器计算资源利用率数值组成的利用率子集合,将每个服务器的能耗数值组成能耗子集合,将每个服务器的空闲物理核数量组成物理核子集合,将每个计算密集型工作负载所请求的物理核数量组成请求子集合,将每个物理服务器的序号组成子集合;
(3b)将五个子集合组成状态动作集合;
(4)构建计算密集型工作负载高能效分配智能体:
(4a)搭建第一全连接网络和第二全连接网络,两个网络的结构相同,均由输入层、第一全连接层和第二全连接层组成,设置输入层的神经元的个数等于状态动作集合中元素的个数,第一全连接层的神经元数量设置为300,采用激活函数tanh实现,第二全连接层的神经元数量设置为1,采用激活函数ReLU实现;
(4b)搭建第三全连接网络和第四全连接网络,两个网络的结构相同,均由输入层、第一全连接层和第二全连接层组成,设置输入层的神经元的个数等于状态动作集合中元素的个数,第一全连接层的神经元数量设置为300,采用激活函数ReLU实现,第二全连接层的神经元数量设置为1,采用激活函数ReLU实现;
(4c)将第一全连接网络、第三全连接网络、第二全连接网络和第四全连接网络互相连接成计算密集型工作负载高效能分配智能体;
(5)采用深度强化学习训练计算密集型工作负载高能效分配智能体:
(5a)设定第一和第二全连接网络的神经网络权重参数均设置为一个相同的随机数,第三和第四全连接网络的神经网络权重参数均设置为一个相同的随机数,将第一全连接网络学习率设置为0.001,第二全连接网络的学习率设置为0.01,第三全连接网络的学习率设置为0.002,第四全连接网络的学习率设置为0.01;
(5b)将当前的状态动作集合输入到计算密集型工作负载分配智能体中,第一全连接网络输出一个满足服务器低能耗目标计算密集型工作负载的服务器序号,将该序号分配给该计算密集型工作负载,输出该服务器根据奖励函数计算的分配操作的奖励值;将状态动作集合,工作负载的服务器序号,服务器的奖励值组成一个经验数据子集合,将该子集合存入到个数为103的经验回放缓存中;
(5c)判断经验回放缓存是否已储存满,若是,则执行步骤(5d),否则,将执行完分配操作的状态动作集合作为当前状态动作集合后执行步骤(5b);
(5d)从经验回放缓存区随机提取64个经验数据子集合,将所选数据子集合中的分配操作前的状态动作集合输入到计算密集型工作负载分配智能体中,第三全连接网络输出第一个状态价值,第四全连接网络输出第二个状态价值,第二神经网络输出动作价值;
(5e)将所选经验数据子集合中服务器的奖励值、第一个状态价值、第二个状态价值和动作价值代入到均方误差函数中,计算密集型工作负载分配智能体的损失值,利用梯度反向传播方法迭代更新计算密集型工作负载分配智能体中第三全连接网络的权重参数,直到智能体的损失值最小为止,得到更新后第三全连接网络的权重参数;
(5f)将第一个动作价值代入到性能评估函数,计算性能评估值,利用梯度反向传播方法迭代更新计算密集型工作负载分配智能体中第一全连接网络的权重参数,直到智能体的性能评估值最大为止,得到更新后第一全连接网络的权重参数;
(5g)将更新后的第一全连接网络的权重参数代入到软更新函数,计算第二全连接网络的权重参数,更新当前第二全连接网络的权重参数;将更新后的智能体中第三全连接网络的权重参数代入到软更新函数,计算第四全连接网络的权重参数,更新当前第四全连接网络的权重参数;
(5h)判断奖励函数是否收敛,若是,得到训练好的基于深度强化学习的计算密集型工作负载高能效分配智能体;否则,将步骤(5e)、(5f)得到的第一全连接网络权重参数、第二全连接网络权重参数、第三全连接网络权重参数和第四全连接权重网络参数作为当前智能体中第一全连接网络权重参数、第二全连接网络权重参数、第三全连接网络权重参数和第四全连接权重网络参数后执行步骤(5b);
(6)分配数据中心的计算密集型工作负载:
(6a)将一个时隙内计算密集型工作负载在数据中心的到达时间的先后顺序进行排序,从序列中依次选取一个未选过的工作负载;
(6b)对所选工作负载采用与步骤(3)相同的处理方法,得到所选工作负载的状态动作集合,并输入到训练好的计算密集型工作负载分配模型中,输出所选工作负载对应的服务器序号;
(6c)判断是否选完序列中的工作负载,若是,执行步骤(7),否则,执行步骤(6a);
(7)结束分配操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110107119.9A CN112764932B (zh) | 2021-01-27 | 2021-01-27 | 基于深度强化学习的计算密集型工作负载高能效分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110107119.9A CN112764932B (zh) | 2021-01-27 | 2021-01-27 | 基于深度强化学习的计算密集型工作负载高能效分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112764932A CN112764932A (zh) | 2021-05-07 |
CN112764932B true CN112764932B (zh) | 2022-12-02 |
Family
ID=75705918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110107119.9A Active CN112764932B (zh) | 2021-01-27 | 2021-01-27 | 基于深度强化学习的计算密集型工作负载高能效分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764932B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448425B (zh) * | 2021-07-19 | 2022-09-09 | 哈尔滨工业大学 | 一种基于强化学习的动态并行应用程序能耗运行时优化方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446794A (zh) * | 2018-02-25 | 2018-08-24 | 西安电子科技大学 | 一种基于多个卷积神经网络结合架构深度学习预测方法 |
CN109656702A (zh) * | 2018-12-20 | 2019-04-19 | 西安电子科技大学 | 一种基于强化学习的跨数据中心网络任务调度方法 |
CN111405569A (zh) * | 2020-03-19 | 2020-07-10 | 三峡大学 | 基于深度强化学习的计算卸载和资源分配方法及装置 |
CN111858009A (zh) * | 2020-07-30 | 2020-10-30 | 航天欧华信息技术有限公司 | 基于迁移和强化学习的移动边缘计算系统任务调度方法 |
CN112134916A (zh) * | 2020-07-21 | 2020-12-25 | 南京邮电大学 | 一种基于深度强化学习的云边协同计算迁移方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11334399B2 (en) * | 2019-08-15 | 2022-05-17 | Intel Corporation | Methods and apparatus to manage power of deep learning accelerator systems |
US12001932B2 (en) * | 2020-07-27 | 2024-06-04 | Intel Corporation | Hierarchical reinforcement learning algorithm for NFV server power management |
-
2021
- 2021-01-27 CN CN202110107119.9A patent/CN112764932B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446794A (zh) * | 2018-02-25 | 2018-08-24 | 西安电子科技大学 | 一种基于多个卷积神经网络结合架构深度学习预测方法 |
CN109656702A (zh) * | 2018-12-20 | 2019-04-19 | 西安电子科技大学 | 一种基于强化学习的跨数据中心网络任务调度方法 |
CN111405569A (zh) * | 2020-03-19 | 2020-07-10 | 三峡大学 | 基于深度强化学习的计算卸载和资源分配方法及装置 |
CN112134916A (zh) * | 2020-07-21 | 2020-12-25 | 南京邮电大学 | 一种基于深度强化学习的云边协同计算迁移方法 |
CN111858009A (zh) * | 2020-07-30 | 2020-10-30 | 航天欧华信息技术有限公司 | 基于迁移和强化学习的移动边缘计算系统任务调度方法 |
Non-Patent Citations (2)
Title |
---|
Efficient Compute-Intensive Job Allocation in Data Centers via Deep Reinforcement Learning;Deliang Yi,Xin Zhou,Yonggang Wen;《IEEE Xplore》;20200122;全文 * |
基于深度强化学习的移动边缘计算任务卸载研究;卢海峰等;《计算机研究与发展》;20200707;第57卷(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112764932A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113950066B (zh) | 移动边缘环境下单服务器部分计算卸载方法、系统、设备 | |
CN108182115B (zh) | 一种云环境下的虚拟机负载均衡方法 | |
Guo et al. | Cloud resource scheduling with deep reinforcement learning and imitation learning | |
CN108920280B (zh) | 一种单用户场景下的移动边缘计算任务卸载方法 | |
Wang et al. | Load balancing task scheduling based on genetic algorithm in cloud computing | |
CN111813506A (zh) | 一种基于粒子群算法资源感知计算迁移方法、装置及介质 | |
CN113515351B (zh) | 一种基于能耗与QoS协同优化的资源调度实现方法 | |
CN107341041B (zh) | 基于优先队列的云任务多维约束回填调度方法 | |
CN113485826B (zh) | 一种边缘服务器负载均衡方法、系统 | |
CN115168027B (zh) | 一种基于深度强化学习的算力资源度量方法 | |
Tong et al. | DDQN-TS: A novel bi-objective intelligent scheduling algorithm in the cloud environment | |
CN112835684B (zh) | 一种面向移动边缘计算的虚拟机部署方法 | |
CN112214301B (zh) | 面向智慧城市基于用户偏好的动态计算迁移方法及装置 | |
CN111176784B (zh) | 一种基于极限学习机和蚁群系统的虚拟机整合方法 | |
CN112492032B (zh) | 一种移动边缘环境下的工作流协作调度方法 | |
CN112764932B (zh) | 基于深度强化学习的计算密集型工作负载高能效分配方法 | |
CN112286686A (zh) | 一种基于pso优化的边缘计算任务调度算法 | |
Song et al. | A deep reinforcement learning-based task scheduling algorithm for energy efficiency in data centers | |
Singhrova et al. | Prioritized GA-PSO algorithm for efficient resource allocation in fog computing | |
CN112685162A (zh) | 边缘服务器异构计算资源的高效能调度方法、系统和介质 | |
CN114650321A (zh) | 用于边缘计算的任务调度方法及边缘计算终端 | |
Yu | [Retracted] Research on Optimization Strategy of Task Scheduling Software Based on Genetic Algorithm in Cloud Computing Environment | |
Gorbunova et al. | Nonlinear approximation of characteristics of a fork–join queueing system with Pareto service as a model of parallel structure of data processing | |
CN114997400A (zh) | 一种神经网络加速推理方法 | |
CN113157344B (zh) | 移动边缘计算环境下基于drl的能耗感知任务卸载方法 |
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 |