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)と比較して、動的ワークロードや非定常なジョブ行動下でも平均ジョブ完了時間(JCT)を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ワークロードをサポートするためのサンプリングベースの学習手法を拡張し、履歴ベースの予測器と比較しての性能を評価する。

提案手法

  • 各ジョブから少数のタスク(パイロットタスク)を事前にサンプリングし、残りのタスクをスケジューリングする前に実行を完了させる。
  • パイロットタスクの観測実行時間をもとに、同じジョブ内でのタスク類似性を活用して、ジョブ全体の実行時間を推定する。
  • 推定されたジョブ実行時間を使用してジョブの優先順位を決定する短いジョブ優先(SJF)などのアルゴリズムを用いる汎用ジョブスケジューラにSLearn予測モデルを統合する。
  • 予測誤差と待機(保留中のジョブによる遅延)を考慮したワークロードに適したスケジューリングポリシーを設計し、ジョブ完了時間を最小化する。
  • Azure上の実際のテストベッド実験とシミュレーションの両方でSLearnを実装・評価し、3つのプロダクショントレース(Googleの2011年、2019年、および2Sigmaのもの)を用いる。
  • 各ジョブフェーズから代表的なタスクをサンプリングし、その実行時間を用いてエンドツーエンドのジョブ完了時間を予測することで、SLearnをDAGジョブに拡張する。

実験結果

リサーチクエスチョン

  • RQ1空間次元(タスクサンプリングによる学習)で学習することで、時間次元(履歴データによる学習)よりも高い予測精度が得られるか?
  • RQ2予測精度の向上による性能向上が、非パイロットタスクの遅延に起因するスケジューリングオーバーヘッドを上回るか?
  • RQ3異なるワークロード下で、予測誤差がジョブの抵抗(抵抗)と完了時間に与える影響はいかほどか?
  • RQ4複数のフェーズを持つDAG構造のジョブに対しても、タスクサンプリング手法が効果的に拡張可能か?
  • RQ5どのようなワークロード条件下で、SLearnは3Sigmaのような最先端の履歴ベースの予測器を上回るか?

主な発見

  • SLearnは3つのプロダクショントレースにおいて、3Sigmaと比較して平均ジョブ完了時間(JCT)を1.28倍、1.56倍、1.32倍まで短縮し、一貫した高速化を示した。
  • SLearnの予測誤差は3Sigmaよりも顕著に低い:正の誤差ではP50で30.65% vs. 898.5%、負の誤差ではP50で-26.79% vs. -37.0%。
  • SLearnは優先順位キューでジョブを誤って配置する割合が2.85%にとどまるのに対し、3Sigmaでは12.19%に上昇する。これは高い予測精度のおかげである。
  • 高負荷時(例:600–620秒および800–840秒)には、SLearnが3Sigmaを上回るスケールアップを達成する。これは、低い予測誤差により抵抗が少なく、より良いスケジューリング意思決定がなされるためである。
  • SLearn下でのジョブが経験する抵抗は、オラクル(理想)の抵抗曲線をよく追従するが、3Sigmaは大きな正の予測誤差のため抵抗に急激なスパイクを示す。
  • 低負荷時(例:400–600秒)には、SLearnは仕事の浪費(work conservation)のため、性能を損なわない。つまり、非サンプリングタスクがパイロットタスクを不必要に待つことはない。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。