DL2:A Deep Learning-Driven Scheduler for Deep Learning Clusters 阅读思考+组会

IEEE Transactions on Parallel and Distributed Systems
CCF A 提问题记录

1、自己提出的问题

1.1 这篇文章解决的主要问题是什么,怎么理解?

传统的调度方法具有如下特点:

  • 要么无法感知机器学习工作负载特性(如集群中的GPU的利用率)或ML框架(如TensorFlow),效率低
  • 要么使用基于专家对特定ML框架和工作负载的理解的调度启发式算法,虽提升了效率但不通用
    在这里插入图片描述

效率低和不通用的具体含义:

  • 效率低:
    ①:不能感知工作负载特性或ML框架特性
    ②:无法做到弹性伸缩
    总体表现为“平均作业(Job)训练完成时间较长”
  • 不通用:
    ①:不同ML框架需要分别建模
    ②:建模过程紧密耦合,重新建模很耗时的,并且重新建模频率高。建模过程没有考虑到干扰并且考虑到干扰是复杂的。

1.2 job、worker/ps之间的关系是什么?

Job:作业,即要训练的ML模型。如Resnet-50、VGG-16和Seq2Seq三个经典模型

Worker:工作节点,本质是服务器,它具有GPU,负责读取小批量训练数据进行训练,使用当前的参数执行前向和反向传播计算梯度,并将梯度发送给PS

PS(Parameter Server):参数服务器,本质还是服务器。它存储全局模型的参数,广播参数给所有Workers,接收Workers发送的参数更新,完成参数的平均和更新

通过调度联系起来:将资源(Worker以及PS)分配给Job的过程,就叫做调度

1.3 DL2流程是什么?

Step1:用户指定每个PS/Worker需要多少资源
Step2:用户估计Job的总Epoch数
Step3:将Job提交给调度器DL2(已经通过线下训练了)。
Step4:调度器DL2根据在线RL进行调度(每个时间间隔),并伴随弹性伸缩

1.4 调度决策是什么时间进行的?读取集群状态是什么时间进行的?

猜测:
(1)在每一个时隙开始之前进行状态读取和调度(因为一开始就要做决策)
(2)然后执行训练
(3)训练结束后,又进行下一轮的状态读取和调度。

1.5 记得k8s也会有弹性伸缩,但是为啥子不能应用到这里呢?

因为K8s的弹性伸缩策略,是根据资源利用,即CPU和内存,以及网络请求来进行调整、迁移。
但是这里的主要资源是GPU,所以用K8S的话,可能不会因为GPU的利用率而进行弹性伸缩。

2、同学们提出的问题

2.1 同学A

看你ppt没有提获取了什么数据 ?怎么去做处理的?最后用什么方法去做的这权重计算,然后他是怎么实时计算并反馈的?

2.2 同学B

DL2线下监督学习的过程,输入的数据和输出数据,请用具体例子解释一下

2.3 同学C

1、我有tensorflow,pytorch,这两种不同的框架,它在哪一步去做适配的(流程的哪一步)?
2、相对于checkpoiting方法,作者是用什么方法进行优化的?

3、老师们提出的问题

3.1 老师A

1、缺少了实验部分
2、大模型时代,如何进行调度
3、Data是哪来的

3.2 老师B

1、线下监督学习数据来源于哪里,是不是云服务提供商提供给他的数据?标签标注的是什么东西?
2、参数ε(ε-greedy),这个ε的作用是什么?
3、假如这是你提出的想法,你如何设计实验证明你的这个方法效果好

3.3 老师C

1、没听懂模型的细节
2、文章考虑过调度本身的开销没有,做实验。

4、总结同学老师常提的问题:

(1)数据

  • 哪来?
  • 输入/输出的数据结构具体是怎么样的
  • 数据是怎么进行处理的。

(2)实验

  • 作者的实验思路
  • 作者做没做哪些事情,证明这个提出的方法效果好

(3)流程

  • 如果我要应用这个方法,哪一步去做适配。

5、下次需要改进的地方:

(1)少花些时间在做PPT上(精简文字、少动画),多花些时间在论文上,尽量把数据/实验部分的内容进行呈现
(2)被问问题时,

  • 有些问题自己没能理解它的意思,
  • 有些问题自己能回答但是回答得牛头不对马嘴,
  • 有些问题自己回答不了。

很紧张,脑袋一片空白,临时组织不了语言…【需要磨练,下次停5s试试】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/86678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue中的插槽--组件复用,内容自定义

插槽 文章目录 插槽插槽-默认插槽插槽-后备内容(设置默认值)插槽-具名插槽插槽–作用域插槽 插槽-默认插槽 作用:让组件内部的一些结构支持自定义 需求:要在页面中显示一个对话框,封装成一个组件(对话框有很多功能是类…

antd/fusion表格增加圈选复制功能

背景介绍 我们存在着大量在PC页面通过表格看数据业务场景,表格又分为两种,一种是 antd / fusion 这种基于 dom 元素的表格,另一种是通过 canvas 绘制的类似 excel 的表格。 基于 dom 的表格功能丰富较为美观,能实现多表头、合并…

Spring之bean的生命周期源码解析

Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。 Bean的生命周期就是指:在Spr…

Nodejs 相关知识

Nodejs是一个js运行环境,可以让js开发后端程序,实现几乎其他后端语言实现的所有功能,能够让js与其他后端语言平起平坐。 nodejs是基于v8引擎,v8是Google发布的开源js引擎,本身就是用于chrome浏览器的js解释部分&#…

帆软FineReport决策报表之页面布局

最近在用帆软决策报表绘制首页大屏,记录使用过程,方便查看。 版本:FineReport10.0 第一步、页面布局 页面布局其实就是组件的排列组合,决策报表主区域body有两种布局方式:自适应布局和绝对布局。 1)自适应…

第一百五十三回 如何实现滑动窗口

文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了自定义组件实现游戏摇杆相关的内容,本章回中将介绍 如何实现滑动窗口.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在本章回中介绍的滑动窗口表示在屏幕底部向上滑动时弹出一个窗口&a…

【Unity3D赛车游戏制作】开始界面场景搭建

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:Uni…

SpringSecurity授权

目录 一、RABC的介绍 二、权限表设计 三、编写权限控制方法 (1)mapper接口 (2)映射文件 (3)修改认证逻辑 四、配置类访问资源 五、自定义访问控制逻辑 (1)自定义 &#xf…

LeakCanary 源码详解(3)

上一篇:LeakCanary源码详解(2) 如果你是直接刷到这篇的,建议还是从1开始看,然后2,然后是这篇3,如果你只关注这篇的重点hprof 文件定位泄漏位置的感兴趣,可以试试直接读这篇&#xff…

23种设计模式

目录 一、设计模式学前导读 1、代码质量好坏如何评价 ? 2、编程方法论 二、设计模式概述 设计模式的产生 UML图 三、六大设计原则 1、单一职责原则(Single Responsibitity Principle) 2、开放封闭原则(Open Close Principle&#x…

利用亚马逊 云服务器 EC2 和S3免费套餐搭建私人网盘

网盘是一种在线存储服务,提供文件存储,访问,备份,贡献等功能,是我们日常中不可或缺的一种服务。很多互联网公司都为个人和企业提供免费的网盘服务。但这些免费服务都有一些限制,比如限制下载速度&#xff0…

win10系统 C++环境 安装编译GRPC

第一步 下载源码、更新、cmake编译: 为了依赖的成功安装,采用gitee进行下载与更新。记得需要安装git软件。 安装命令: 在自己指定的目录下,鼠标右键,选择 git Bash Here 打开命令行 git clone -b v1.34.0 https://gi…

中秋国庆内卷之我爱学习C++

文章目录 前言Ⅰ. 内联函数0x00 内联函数和宏的比较0x01 内联函数的概念0x02 内联函数的特性 Ⅱ. auto(C 11)0x00 auto的概念0x01 auto的用途 Ⅲ. 范围for循环(C11)0x00 基本用法0x01 范围for循环(C11)的使用条件 Ⅳ. 指针空值nullptr(C11)0x00 概念 前言 亲爱的夏…

Flutter实现PS钢笔工具,实现高精度抠图的效果。

演示: 代码: import dart:ui;import package:flutter/material.dart hide Image; import package:flutter/services.dart; import package:flutter_screenutil/flutter_screenutil.dart; import package:kq_flutter_widgets/widgets/animate/stack.dart…

【Vue】快速入门和生命周期

目录 前言 一、vue的介绍 1. Vue.js是什么? 2. 库和框架的区别 3.基本概念和用法: 二、MVVM的介绍 1. 什么是MVVM? 2. MVVM的组成部分 3. MVVM的工作流程 4. MVVM的优势 5. MVVM的应用场景 三、vue实例 1.模板语法: …

智慧公厕是提升公共厕所管理服务能力的创新举措

在城市化进程加速的今天,公共厕所的管理问题成为让人头疼的难题。随着智慧科技的发展,智慧公厕应运而生,为提升公共厕所综合管理服务能力提供了新思路和解决方案。本文将以智慧公厕领先厂家广州中期科技有限公司,大量精品案例项目…

卡尔曼滤波(Kalman Filter)原理浅析-数学理论推导-4

目录 前言数学理论推导1. 直观理解与二维实例2. EKF3. 补充知识-线性化结语参考 前言 最近项目需求涉及到目标跟踪部分,准备从 DeepSORT 多目标跟踪算法入手。DeepSORT 中涉及的内容有点多,以前也就对其进行了简单的了解,但是真正去做发现总是…

搞定ESD(一):静电放电测试标准解析

文章目录 一、基本术语与定义1.1 基本定义1.2 重要基本术语 二、静电放电发生器介绍2.1 静电放电发生器的特性:通用规范【GB/T17626.2-2018 标准】2.2 ESD 放电发生器电极规格要求:通用规范【GB/T17626.2-2018 标准】2.3 放电回路电缆的要求:…

黑马JVM总结(十四)

(1)分代回收_1 Java虚拟机都是结合前面几种算法,让他们协同工作,具体实现是虚拟机里面一个叫做分代的垃圾回收机制,把我们堆内存大的区域划分为两块新生代、老年代 新生代有划分为伊甸园、幸存区Form、幸存区To 为什…

进程同步与互斥

目录 进程同步与互斥(1) 第一节、进程间相互作用 一、相关进程和无关进程 二、与时间有关的错误 第二节、进程同步与互斥 一、进程的同步 二、进程的互斥 三、临界区 进程同步与互斥(2) 三、信号量与P、V操作的物理含义…