Skip to main content
QUICK REVIEW

[论文解读] Learning Scheduling Algorithms for Data Processing Clusters

Hongzi Mao, Malte Schwarzkopf|arXiv (Cornell University)|Oct 3, 2018
Cloud Computing and Resource Management参考文献 71被引用 50
一句话总结

Decima 使用强化学习结合图神经网络来学习数据处理集群的工作负载特定 DAG 调度策略,在 Spark 上超越手工调优的启发式方法,在高负载下实现显著加速。

ABSTRACT

Efficiently scheduling data processing jobs on distributed compute clusters requires complex algorithms. Current systems, however, use simple generalized heuristics and ignore workload characteristics, since developing and tuning a scheduling policy for each workload is infeasible. In this paper, we show that modern machine learning techniques can generate highly-efficient policies automatically. Decima uses reinforcement learning (RL) and neural networks to learn workload-specific scheduling algorithms without any human instruction beyond a high-level objective such as minimizing average job completion time. Off-the-shelf RL techniques, however, cannot handle the complexity and scale of the scheduling problem. To build Decima, we had to develop new representations for jobs' dependency graphs, design scalable RL models, and invent RL training methods for dealing with continuous stochastic job arrivals. Our prototype integration with Spark on a 25-node cluster shows that Decima improves the average job completion time over hand-tuned scheduling heuristics by at least 21%, achieving up to 2x improvement during periods of high cluster load.

研究动机与目标

  • 激励需要工作负载特定的调度以提高集群利用率并缩短作业完成时间。
  • 开发基于机器学习的调度器,能够从工作负载数据自动学习策略,而无需人工调优。
  • 展示适用于 DAG 结构化数据处理工作负载的可扩展表示与 RL 训练方法。

提出的方法

  • 用图神经网络表示 DAG 结构的作业和集群状态,生成供策略网络使用的嵌入。
  • 将调度决策编码为二维动作,选择要调度的阶段以及其作业的并行度上限。
  • 通过策略梯度强化学习进行训练,奖励与高层目标相关联(例如最小化平均 JCT),并使用基线来降低方差。
  • 通过对每一轮设计及基于实际到达序列的反馈条件来处理连续的随机作业到达,使其能够在流式工作负载下训练。
  • 将 Decima 与 Spark 集成,在 25 节点集群上对 DAG 阶段的调度和执行者分配进行评估,并与手工调优的启发式方法以及现有策略进行对比。

实验结果

研究问题

  • RQ1强化学习能否为 DAG 结构化数据处理工作负载学习工作负载特定的调度策略?
  • RQ2如何使用图神经网络来扩展调度决策中任意大小和形状的 DAG 的状态表示?
  • RQ3RL 训练能否处理连续、随机的作业到达并仍收敛到有效策略?
  • RQ4在不同的集群负载和工作负载特征下,Decima 相对于传统启发式方法能够实现哪些性能提升?
  • RQ5在简化训练的同时,作业级并行度控制是否足以实现接近细粒度调度的性能?

主要发现

  • Decima 在一个 25 节点的 Spark 集群上,相较手工调优的调度启发式,平均作业完成时间至少提升 21%。
  • 在集群负载较高时,Decima 在 JCT 上比现有启发式方法提高至最多 2 倍。
  • 在多资源调度(CPU 与内存)下,Decima 相对于如 Graphene 等先前方案,平均 JCT 提升 32–43%。
  • 一种可扩展的图神经网络设计使得能够处理任意形状和大小的 DAG,用于调度 DAG 阶段和并行度水平。
  • 一组 RL 训练技术使得能够学习应对无限制随机作业到达和流式工作负载的策略。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。