论文分享-Heterogeneity-Aware Cluster Scheduling Policies for Deep Learning Workloads

2023-10-27

前言

这篇文章是由斯坦福大学和微软研究院共同合作的,于2020年11月发表于系统类顶级会议OSDI。主要研究了不同异构硬件资源对深度学习负载的影响和集群调度策略的设计。

1. 摘要

专门的加速器,如gpu、TPUs、fpga和定制asic,已经被越来越多地用于训练深度学习模型。这些加速器展示了跨模型架构的异构性能行为。现有的用于在许多用户之间仲裁这些昂贵训练资源的加速器集群调度程序,已经展示了如何优化各种多任务、多用户目标,如公平性和完成时间。不幸的是,现有的调度器在很大程度上没有考虑性能的异构性。在本文中,我们提出了一个异构感知调度器Gavel,它系统地生成了的一系列调度策略。Gavel将这些策略表示为优化问题,然后使用我们称为有效吞吐量的抽象,系统地将这些问题转换为异构感知版本。然后,Gavel使用基于轮的调度机制来确保作业在给定的目标调度策略下得到理想的分配。异构感知策略允许异质集群维持较高的输入负载,并将最终目标(如完工时间和平均工作完成时间)与异构不可知策略相比提高1.4和3.5。

Gavel 开源地址: https://github.com/stanford-futuredata/gavel.

2.背景

2.1 深度神经网络(DNN)训练

DNN训练已迭代的形式进行。在每一轮的迭代中,DNN处理一组输入(minibatch),并持续更新模型参数(采用来源于输入minibatch的梯度下降)。每个minibatch的大小是一样的,这意味着使用短的分析运行(以分钟为单位)来建模训练吞吐量。Gravel在其吞吐量评估器中利用了这一事实,作业典型地运行时间长(从小时到天),并且可以被分布式地分配到woker节点。

现代的DNN调度器利用了DNN训练是迭代的这一事实,在迭代边界处暂停和恢复训练,这确保作业可以在现有物理资源上进行时间复用。当作业被暂停时,需要将最新的模型参数检查为稳定存储,以确保训练进度不会丢失。在这项工作中,我们展示了如何分配时间,以优化各种单一和多任务的目标。

2.2 性能优化

在之前的工作中已经表明GPU在多租户集群中利用率可能严重不高,例如微软集群的平均GPU利用率低于52%。之前的工作也表明分布式训练作业的任务放置对性能也有很重的影响。Gravel可以系统地部署这些优化。
Space Sharing空间共享。小模型通常不需要权衡现代GPU全部的算力。在这种情况下,在同一个GPU上并发执行多个模型可以帮助提升芯片利用率。
Placement Sensitivity放置敏感。DNN模型显示异构的分布式扩展行为根据张量的大小需要在训练期间worker之间交换:一些模型有紧凑的重量表示,可以很好地伸缩即使工人不是在同一台服务器上,而其他模型规模差当工人们分布在许多服务器。现有的调度器,如Tiresias使用启发式放置灵敏度

3.系统概述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

论文分享-Heterogeneity-Aware Cluster Scheduling Policies for Deep Learning Workloads 的相关文章

随机推荐

  • stm32定时器详解

    目录 一 时基配置 定时器定时周期计算 二 捕获 比较通道配置 定时器捕获比较模式说明 三 中断优先级配置 四 开启中断与定时器相关函数 链接 一 时基配置 定时器时基配置主要是配置定时器周期 即分频系数和自动重载寄存器 比如现在我需要配置
  • 土壤湿度计检测模块 土壤湿度传感器 机器人智能小车

    https item taobao com item htm spm a1z09 2 0 0 67002e8dtYpcae id 522556171397 u rklgtpkf6bb 土壤湿度模块是一个简易的水分传感器可用于检测土壤的水分
  • 组件路由传参【vue3】

    大家对于vue3也已经不太陌生了 但是在路由传参中会遇到一点小问题 不知大家是否也遇到过 一起来看一下 首先是我们熟悉的vue路由传参 无非就是个router来进行的操作 首先就是导入vue router 这里一定要导入4版本的 不然vue
  • 文件和注册表的重定向解决方法

    注册表重定向解决办法 转载http www 2cto com os 201411 350858 html 32位程序如何访问64位的注册表 HKLM Software 在调用函数RegCreateKeyEx创建注册表项时 对其第六个参数RE
  • .NET Core 在程序集中集成Razor视图

    前言 有时候 我们在开发一个程序集供其他项目引用的时候 可能需要对外输出一些HTML的结构数据 还有一些情况我们可能开发的是一个中间件 这个中间件需要提供一些界面来对外展示数据或者是内部的一些程序的运行信息 这个时候我们也需要一个界面来做这
  • 电路原理图中的“NC“是什么意思?

    电路原理图中的 NC 是什么意思 1 在看电路原理图的时候 电路原理图上有 NC 我查了下是表示 此处不贴任何电子器件 我看了下实际的电路板确实没贴 那么不贴的话是不是相当于这个位置空出来了 断路 了 就是说芯片的这个引脚在电路中是 悬空状
  • 程序员必知的23种设计模式之享元模式

    文章目录 1 模式引出 展示网站项目需求 1 1 传统方案解决网站展现项目 1 2 传统方案解决网站展现项目 问题分析 2 享元模式基本介绍 2 1 享元模式的原理类图 2 2 内部状态和外部状态 可共享和不可共享 3 方案修改 4 享元模
  • flink维表join的几种方式(1)

    维表join的几种方式 一 将维表预加载到内存关联 实现方式 定义一个类实现RichFlatMapFunction在open 方法中读取全部数据加载到内存中 优缺点 因为存在内存中 所以仅支持小数据量维表 因为open方法中读取 所以维表变
  • 简单的两操作数计算器实现(基于Java网络编程)

    客户端代码实现 import java io import java net import java util Scanner 1 已知client端 提交计算表达式请求 如 3 4 2 在server服务器端完成运算并将结果返回给clie
  • Linux下报 No manual entry for 的解决方法

    报错展示 报错原因 没有安装 man pages 这个包 解决方法 yum y install man pages
  • 【界面】yolov8+pyqt5进行目标识别

    解决问题 通过pyqt5进行界面设计 调用yolov8模型对目标进行检测 文章目录 工具 准备工作 获取Onnx模型 核心代码 运行结果 源代码路径 工具 语言 python 主要库 pyqt5 检测模型 yolov8 准备工作 获取Onn
  • 机器学习:Self-supervised Learning for Speech and image

    review self supervised learning for text 1 Self supervised learning for speech 使用Speech版本的bert能比较好的作用于语音任务上 如果没有self sup
  • Windows无法安装到这个磁盘。选中的磁盘具有MBR分区表。在EFI系统上,Windows只能安装到GPT磁盘

    问题描述 Windows无法安装到这个磁盘 选中的磁盘具有MBR分区表 在EFI系统上 Windows只能安装到GPT磁盘 原因 说明本电脑的上一个系统的磁盘分区方式采用的MBR分区表 而我们U盘安装时 驱动方式是EFI系统 EFI与之对应
  • 力扣(LeetCode) 1.两数之和(java)

    题目 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不能重复出现 你可以按
  • NDK_MODULE_PATH

    Cocos2d x 2 1的测试环境搭建 先下载COCOS2D的包解压后运行里面的create android project bat 这里面要先设置相应的路径 他会引导用户创建一个自定义项目 在编译这个项目前要先在ECLIPSE里设置ND
  • log4j2日志配置

    背景 log4j2相对于log4j 1 x有了脱胎换骨的变化 其官网宣称的优势有多线程下10几倍于log4j 1 x和logback的高吞吐量 可配置的审计型日志 基于插件架构的各种灵活配置等 官方配置文档 http logging apa
  • 两种方法实现Windows系统下批量重命名文件

    任务 我们现在有一批文件 想要批量的重命名文件 方便程序读写 例如 将下面的这些图片重命名为1 jpg 2 jpg 1000 jpg 总不能一个一个改吧 Windows自带的重命名 Windows自带的功能也可以进行重命名 操作很简单 第一
  • Android Gradle获取第三方SDK最新版本号

    由于最近隐私权限问题 需要更新一下友盟的SDK 但是找不到最新的版本号在哪里 android studio也没有主动提示可以更新版本了 如下 不是最新的 implementation com umeng umsdk asms 1 4 0 i
  • SpringBoot动态定时任务(完整版)

    本文定时任务功能 增 删 改 启动 暂停 话不多说 直接上代码 你们直接CV就可以用 执行定时任务的线程池配置类 import org springframework context annotation Bean import org s
  • 论文分享-Heterogeneity-Aware Cluster Scheduling Policies for Deep Learning Workloads

    前言 这篇文章是由斯坦福大学和微软研究院共同合作的 于2020年11月发表于系统类顶级会议OSDI 主要研究了不同异构硬件资源对深度学习负载的影响和集群调度策略的设计 1 摘要 专门的加速器 如gpu TPUs fpga和定制asic 已经