Skip to main content
QUICK REVIEW

[论文解读] The Case for Task Sampling based Learning for Cluster Job Scheduling

Akshay Jajoo, Yuanming Hu|ArXiv.org|Aug 24, 2021
Cloud Computing and Resource Management参考文献 32被引用 4
一句话总结

该论文提出SLearn,一种基于任务采样的聚类作业调度学习方法,通过执行作业的试点任务来估计其整体运行时间,从而提高运行时间预测精度,在动态工作负载和非平稳作业行为下,相比基于历史的方法(如3Sigma),将平均作业完成时间减少了1.28倍至1.56倍。

ABSTRACT

The ability to accurately estimate job runtime properties allows a scheduler to effectively schedule jobs. State-of-the-art online cluster job schedulers use history-based learning, which uses past job execution information to estimate the runtime properties of newly arrived jobs. However, with fast-paced development in cluster technology (in both hardware and software) and changing user inputs, job runtime properties can change over time, which lead to inaccurate predictions. In this paper, we explore the potential and limitation of real-time learning of job runtime properties, by proactively sampling and scheduling a small fraction of the tasks of each job. Such a task-sampling-based approach exploits the similarity among runtime properties of the tasks of the same job and is inherently immune to changing job behavior. Our study focuses on two key questions in comparing task-sampling-based learning (learning in space) and history-based learning (learning in time): (1) Can learning in space be more accurate than learning in time? (2) If so, can delaying scheduling the remaining tasks of a job till the completion of sampled tasks be more than compensated by the improved accuracy and result in improved job performance? Our analytical and experimental analysis of 3 production traces with different skew and job distribution shows that learning in space can be substantially more accurate. Our simulation and testbed evaluation on Azure of the two learning approaches anchored in a generic job scheduler using 3 production cluster job traces shows that despite its online overhead, learning in space reduces the average Job Completion Time (JCT) by 1.28x, 1.56x, and 1.32x compared to the prior-art history-based predictor.

研究动机与目标

  • 解决基于历史的学习在预测作业运行时间时因非重复作业和不断变化的系统条件而导致的不稳定性问题。
  • 克服在硬件、软件或用户脚本更新导致作业行为随时间变化时,依赖过去作业执行记录的局限性。
  • 探究在空间维度(通过任务采样)学习是否能比在时间维度(通过历史数据)学习获得更准确的预测。
  • 评估采样试点任务带来的开销是否被更高的调度精度和更短的作业完成时间所抵消。
  • 将基于采样的学习方法扩展至DAG工作负载,并评估其相对于基于历史的预测器的性能。

提出的方法

  • 主动从每个新到达的作业中采样一小部分任务(试点任务),并先将它们调度至完成,然后再调度其余任务。
  • 利用试点任务的实际运行时间来估计整个作业的总运行时间,利用同一作业内任务之间的相似性。
  • 将SLearn预测模型集成到通用作业调度器中,利用估计的作业运行时间通过最短作业优先(SJF)等算法对作业进行优先级排序。
  • 设计一种工作负载感知的调度策略,考虑预测误差和抵抗性(因等待其他作业而产生的延迟),以最小化作业完成时间。
  • 在Azure的真实测试平台上,使用三个生产工作负载轨迹(两个来自Google(2011年、2019年),一个来自2Sigma)进行仿真和真实实验,实现并评估SLearn。
  • 通过从每个作业阶段采样代表性任务,并利用其运行时间预测端到端作业完成时间,将SLearn扩展至DAG作业。

实验结果

研究问题

  • RQ1在空间维度(通过任务采样)学习是否能在集群作业调度中实现比在时间维度(通过历史数据)学习更高的预测精度?
  • RQ2由于预测精度提高而带来的性能增益是否超过因延迟非试点任务而引入的调度开销?
  • RQ3在不同工作负载下,预测误差如何影响作业的抵抗性和完成时间?
  • RQ4任务采样方法能否有效扩展至具有多个阶段的DAG结构作业?
  • RQ5在何种工作负载条件下,SLearn优于最先进的基于历史的预测器(如3Sigma)?

主要发现

  • 在三个生产轨迹中,SLearn相比3Sigma将平均作业完成时间(JCT)分别减少了1.28倍、1.56倍和1.32倍,表现出一致的加速效果。
  • SLearn的预测误差显著低于3Sigma:正误差的P50值为30.65%,而3Sigma为898.5%;负误差的P50值为-26.79%,而3Sigma为-37.0%。
  • 由于预测精度更高,SLearn在优先级队列中仅错误放置2.85%的作业,而3Sigma为12.19%。
  • 在高负载期间(例如600–620秒和800–840秒),SLearn的加速效果超过3Sigma,因为其更低的预测误差导致更少的抵抗性和更优的调度决策。
  • SLearn中作业经历的抵抗性紧密跟踪Oracle(理想)抵抗性曲线,而3Sigma因较大的正预测误差导致抵抗性出现显著峰值。
  • 在低负载期(例如400–600秒),SLearn不会因工作量节约机制而影响性能,即未采样的任务不会不必要地等待试点任务。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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