[论文解读] Do the Hard Stuff First: Scheduling Dependent Computations in Data-Analytics Clusters
DagPS 是一种用于数据密集型分析集群的新颖调度器,通过在多维资源-时间空间中优先调度难以调度的任务(如长时运行或打包效率低的任务),显著提升了作业完成时间和集群利用率。通过采用基于搜索的策略选择最优的棘手任务,并结合无死锁的资源分配算法,DagPS 在生产环境工作负载中使超过一半的作业完成时间减少 30% 以上,性能优于当前最先进的调度器,同时在可配置范围内保持公平性。
We present a scheduler that improves cluster utilization and job completion times by packing tasks having multi-resource requirements and inter-dependencies. While the problem is algorithmically very hard, we achieve near-optimality on the job DAGs that appear in production clusters at a large enterprise and in benchmarks such as TPC-DS. A key insight is that carefully handling the long-running tasks and those with tough-to-pack resource needs will produce good-enough schedules. However, which subset of tasks to treat carefully is not clear (and intractable to discover). Hence, we offer a search procedure that evaluates various possibilities and outputs a preferred schedule order over tasks. An online component enforces the schedule orders desired by the various jobs running on the cluster. In addition, it packs tasks, overbooks the fungible resources and guarantees bounded unfairness for a variety of desirable fairness schemes. Relative to the state-of-the art schedulers, we speed up 50% of the jobs by over 30% each.
研究动机与目标
- 解决在数据密集型分析集群中调度复杂、多资源依赖工作负载的挑战,传统调度器因资源碎片化和复杂的 DAG 架构而性能不足。
- 在作业 DAG 展现出资源需求、运行时间和依赖复杂性高度可变的生产环境中,提升作业完成时间和集群利用率。
- 设计一种可扩展的在线调度器,在处理并发作业、动态到达以及打包效率与延迟降低等多重目标时,保持公平性和低不公平性。
- 开发一种实用的调度解决方案,尽管一般 DAG 调度问题是 NP-难问题,但对真实世界 DAG 仍能接近最优。
提出的方法
- DagPS 采用两组件架构:批处理调度器通过在 d+1 维资源-时间空间中优先放置‘棘手任务’(即运行时间长或资源特征复杂的任务),为每个 DAG 构建优化调度方案。
- 采用高效的搜索过程,评估多种任务排序启发式策略(如 OPC、OCP、COP、POC),并选择最紧凑的布局以避免次优调度。
- 通过精心排序剩余任务(父节点、子节点及其他任务)的放置顺序,确保无死锁,同时尊重数据依赖关系并最大化资源利用率。
- 在线协调组件通过遵循主要目标(如 DRF 公平性)并限制不公平性在用户可配置阈值内,调和冲突目标(如公平性与打包效率)。
- 采用结合资源匹配度、本地性及类似 SRPT 的紧迫性评分的性能得分,指导每台机器上的任务选择,辅以公平性计数器和超售惩罚机制,以平衡负载并防止饥饿。
- 系统在 Apache YARN 和 Tez 中实现,并使用高效数据结构(如基于时间与资源索引的哈希映射),加速资源-时间空间中的区域选择。
实验结果
研究问题
- RQ1在多资源、时间感知的调度空间中,优先调度难以调度任务的调度器是否能在真实世界数据密集型分析 DAG 上实现近似最优性能?
- RQ2可扩展的在线调度器如何在不引入高调度开销的前提下,处理具有任务间依赖、多资源需求和公平性约束的复杂 DAG?
- RQ3调度策略(特别是长时运行或打包效率低的任务提前调度)对生产环境工作负载中作业完成时间和集群利用率的影响如何?
- RQ4结合离线优化与在线协调的混合调度方法,在真实集群追踪中是否能显著优于现有在线启发式方法?
主要发现
- 在大型企业生产集群的 200 台服务器集群中,基于真实生产追踪数据评估,DagPS 使超过一半的作业完成时间减少 30% 以上。
- 尽管一般 DAG 调度问题是 NP-难问题,DagPS 仍能在真实 DAG 上实现近似最优性能,其作业中位深度为七,任务数超过一千个。
- 通过优先调度棘手任务,DagPS 有效减少了资源碎片化,使剩余任务能更高效地填充资源-时间空间中的可用空隙。
- 协调启发式策略将不公平性控制在可配置范围内,同时在打包效率与延迟等多重目标冲突时仍允许适度偏离严格公平性。
- 系统具有良好的可扩展性:24% 的生产 DAG 可被划分为四个或更多有序分区,降低调度复杂度,且在阶段层面进行推理可进一步减少待调度任务数量。
- 基于生产追踪中 20,000 个 DAG 的实证评估表明,DagPS 在作业完成时间和资源利用率方面均显著优于当前最先进的调度器。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。