[论文解读] Pollux: Co-adaptive Cluster Scheduling for Goodput-Optimized Deep Learning
Pollux 通过同时对每个作业的配置(批大小、学习率、梯度累积)和集群范围的资源分配建模 goodput(吞吐量 × 效率),以最大化整体 DL 训练性能与公平性。
Pollux improves scheduling performance in deep learning (DL) clusters by adaptively co-optimizing inter-dependent factors both at the per-job level and at the cluster-wide level. Most existing schedulers expect users to specify the number of resources for each job, often leading to inefficient resource use. Some recent schedulers choose job resources for users, but do so without awareness of how DL training can be re-optimized to better utilize the provided resources. Pollux simultaneously considers both aspects. By monitoring the status of each job during training, Pollux models how their goodput (a novel metric we introduce that combines system throughput with statistical efficiency) would change by adding or removing resources. Leveraging these information, Pollux dynamically (re-)assigns resources to improve cluster-wide goodput, while respecting fairness and continually optimizing each DL job to better utilize those resources. In experiments with real DL jobs and with trace-driven simulations, Pollux reduces average job completion times by 37-50% relative to state-of-the-art DL schedulers, even when they are provided with ideal resource and training configurations for every job. Pollux promotes fairness among DL jobs competing for resources based on a more meaningful measure of useful job progress, and reveals a new opportunity for reducing DL cost in cloud environments. Pollux is implemented and publicly available as part of an open-source project at https://github.com/petuum/adaptdl.
研究动机与目标
- 激励在共享集群中高效调度 DL 工作负载的挑战。
- 提出一个协同自适应的调度框架,联合优化每个作业的训练参数和资源分配。
- 定义 goodput,以同时捕捉 DL 训练的系统吞吐量和统计效率。
- 建模吞吐量和效率,以实现预测性调度和资源的动态重新分配。
- 展示与最先进调度器比较,在完成时间显著减少和公平性提升。
提出的方法
- 将 goodput 定义为 DL 训练的系统吞吐量与统计效率的乘积。
- 通过梯度噪声尺度(PGNS)建模统计效率,并预测不同批大小下的效率。
- 使用每 GPU 批大小、资源分配和梯度累积等参数来建模系统吞吐量,其中包含梯度计算与同步之间的重叠。
- 实现一个两级调度器:PolluxAgent(面向每个作业)学习吞吐量与效率模型并调整本地训练参数;PolluxSched(聚集级)在考虑公平性和重新分配开销的同时重新分配资源,以最大化集群 goodput。
- 提供一个插件式学习率缩放接口,以适应如 AdaScale、线性和平方根缩放等规则。
- 通过真实 DL 任务实验和跟踪驱动的仿真验证模型,报告相对于 Tiresias 与 Optimus 的改进以及云环境中的成本降低。
实验结果
研究问题
- RQ1在不同资源分配下,如何定义并预测作为吞吐量与效率联合作用的 goodput,用于 DL 训练?
- RQ2一个协同自适应架构,调优每个作业的训练参数并重新分配集群资源,能否在完成时间和公平性方面超越现有 DL 调度器?
- RQ3Pollux 在不同批大小和资源配置下,能多准确地建模 DL 作业的吞吐量与效率?
- RQ4梯度累积和学习率缩放对 goodput 与整体集群性能的影响?
- RQ5基于 goodput 的云环境自动扩缩的潜在成本节省?
主要发现
- 与最先进调度器的理想调优基线相比,Pollux 将平均作业完成时间降低至最多37%–50%。
- 在实验中,相对于 Tiresias 和 Optimus,Pollux 将平均完成时间降低至最多73%。
- Pollux 将完成时间公平性提升1.5×到5.4×。
- Pollux 通过根据 measured goodput 模型动态重新分配资源,展示了整集群层面的 goodput 提高。
- 云端案例研究表明,使用基于 goodput 的自动扩缩训练大模型时,潜在成本可降低至多25%。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。