项目概述
Blox 是微软研究院(Microsoft Research)开发的模块化深度学习调度器工具包,旨在解决大规模 GPU 集群中深度学习训练任务的调度难题。
论文发表:EuroSys 2024
开源地址:https://github.com/msr-fiddle/blox
许可证:MIT(开源)
核心设计理念
Blox 的核心思想是"组合式调度"——将调度器拆解为可独立替换的模块,让研究者能够像搭积木一样组合不同策略,快速实验新想法。
传统调度器(如 Kubernetes、Slurm、YARN)通常是单体的,难以修改或对比不同策略。Blox 通过模块化设计解决了这个问题。
架构模块
Blox 将调度器拆分为以下几个核心组件:
表格
模块 功能 可替换策略示例
Job Placement 决定任务放在哪些 GPU 上 随机放置、负载均衡、拓扑感知
Resource Allocation 决定每个任务分配多少 GPU 固定分配、弹性伸缩、优先级抢占
Elastic Scaling 动态调整任务使用的 GPU 数量 根据进度缩放、根据集群负载缩放
Preemption 是否/如何中断低优先级任务 不抢占、优雅保存检查点后抢占
Scheduling Policy 整体调度策略(如 FIFO、SJF、优先级) 先来先服务、最短作业优先、公平共享
点击空白处退出提示









评论