Data Centers Job Scheduling with Deep Reinforcement Learning

2023-11-23 09:59

本文主要是介绍Data Centers Job Scheduling with Deep Reinforcement Learning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Data Centers Job Scheduling with Deep Reinforcement Learning

    • Data Centers Job Scheduling with Deep Reinforcement Learning
      • 1.介绍
      • 2.相关工作
      • 3.方法和问题表述
        • 3.1作业调度中的A2C
        • 3.2训练算法
      • 4.实验
        • 4.1实验计划

Data Centers Job Scheduling with Deep Reinforcement Learning

摘要:A2C调度包含两个agent,一个actor,负责自动学习调度策略,一个critic,负责减少估计误差,A2C调度的设计是为了减少梯度估计误差从而有效的更新参数,

1.介绍

作业调度涉及到限制资源(I/O,CPU,GPU,内存)
数据的异构性是一个挑战,首先,基于策略梯度DRL的调度方法存在高偏差,可能导致计算梯度时的低精度,第二,以前的工作放啊依赖于使用MonteCarlo方法来更新参数,这涉及到大量的计算,尤其是当轨迹中有大量的工作时。
为了去解决上述的挑战,提出了A2C调度。

2.相关工作

2.1深度强化学习中的作业调度
2.2演员评论家强化学习

3.方法和问题表述

3.1作业调度中的A2C

在这里插入图片描述

图1包含了一个actor网络,一个critic网络和集群环境,集群环境包含一个全局队列,一个后备队列和模拟的机器,队列中有等待的作业,后备队列中是队列的扩展(当没有足够的空间为等待的队列时),在每个状态下,只有队列中的工作将会被分配。

A2C的设置
Actor:策略π是一个产生可能动作概率的actor,π是s到a的映射,actor可以根据基于π所形成的的动作概率从队列中选择job ,例如,给定动作的可能性P={p1,p2,pN},有N个动作,pi表示选择动作ai的概率,如果根据最大概率选择动作(action = arg maxi∈[0,N],i∈N+ pi),actor变得贪婪,限制了agent的探索,策略由神经网络π(a|s, θ)来估计。

Critic:状态价值函数v(s)常常用来评估actor的好坏,本文中是由神经网络来估计的v(s,w)
State: s被定义为资源分配状态,包括集群的状态和在队列中的状态,S是一个有限的集合,图片包含三部分:已分配资源的状态,可用资源的状态,队列中作业请求的资源,积压等待作业的状态。调度程序只调度队列中的程序.

在这里插入图片描述

图二是状态张量表示的一个例子, 将被调度的作业数量的决策组合是2^总的job,决策为i表示选择第i个作业,

Action: at= 〖{a_t}〗_1^N表示t时刻队列中等待的作业分配策略,N是队列中等待的作业的槽数,actor的动作空间A指定在下一次迭代中队列所有可能分配的策略,给定N+1个离散的动作{∅,1,2,….N},a_t=i表示队列中第i个作业中的分配, a_t=∅表示没有分配作业的无效操作.
Environment:模拟数据中心包含CPU,RAM,I/O,还包括等待分配作业的资源管理队列系统
Discount Factor:介于0和1之间
Transition function:从当前状态转移到下一状态的概率
Reward function
Critic的损失函数

在这里插入图片描述

3.2训练算法

使用深度卷积神经网络来实现,对于actor网络,将上述资源请求和机器状态的张量作为输入,输出所有动作概率可能的分布,来表示要调度的作业,critic网络将动作和状态作为输入,输出的单个值表示对actor动作的评估.

4.实验

4.1实验计划

一个状态被传递到策略网络π。策略π下生成一个动作。执行一个无效操作,或者从全局队列中选择一个作业并放入集群中执行。然后产生一个新的状态,并收集一些奖励。状态、行动、政策和奖励被收集为轨迹。同时,状态也被传递到价值网络中以估计价值,用于评估动作的性能。
在这里插入图片描述

这篇关于Data Centers Job Scheduling with Deep Reinforcement Learning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/417146

相关文章

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

15 组件的切换和对组件的data的使用

划重点 a 标签的使用事件修饰符组件的定义组件的切换:登录 / 注册 泡椒鱼头 :微辣 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

SIGMOD-24概览Part7: Industry Session (Graph Data Management)

👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance 🏛机构:字节 ➡️领域: Information systems → Data management systemsStorage management 📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据 背景

java.sql.SQLException: No data found

Java代码如下: package com.accord.utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import

FORM的ENCTYPE=multipart/form-data 时request.getParameter()值为null问题的解决

此情况发生于前台表单传送至后台java servlet处理: 问题:当Form需要FileUpload上传文件同时上传表单其他控件数据时,由于设置了ENCTYPE=”multipart/form-data” 属性,后台request.getParameter()获取的值为null 上传文件的参考代码:http://www.runoob.com/jsp/jsp-file-uploading.ht