[論文レビュー] Learning Scheduling Algorithms for Data Processing Clusters
Decima は、グラフニューラルネットワークを用いた強化学習を利用して、データ処理クラスターの負荷に特化した DAG スケジューリング方針を学習し、Spark 上の手動で調整されたヒューリスティクスを上回り、負荷が高い状況で顕著な速度向上を達成します。
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 構造のデータ処理ワークロードに適した、スケーラブルな表現と強化学習トレーニング手法を示す。
提案手法
- DAG 構造のジョブとクラスター状態を、ポリシー網に使用される埋め込みを生成するグラフニューラルネットワークで表現する。
- スケジューリング決定を、スケジュールするステージとそのジョブの並列度の制限を選択する2次元のアクションとしてエンコードする。
- 高レベルの目的(例: 平均 JCT の最小化)に結びついた報酬で、分散を低減するためのベースラインを用いたポリシー勾配強化学習で訓練する。
- エピソード設計と実際の到着列に基づくフィードバック条件付けにより、連続的な確率的ジョブ到着を扱い、ストリーミングワークロードでの訓練を可能にする。
- 25 ノードのクラスターで DAG ステージと実行子割り当てをスケジュールするために Decima を Spark に統合し、手動で調整されたヒューリスティクスおよび既存のポリシーと比較して評価する。
実験結果
リサーチクエスチョン
- RQ1強化学習は、DAG 構造のデータ処理ワークロードに対してワークロード特有のスケジューリングポリシーを学習できるだろうか?
- RQ2スケジューリング決定において、任意のサイズと形状を持つDAGの状態表現を拡張可能にするために、グラフニューラルネットワークをどのように活用できるか?
- RQ3連続的で確率的なジョブ到着に対して RL トレーニングは有効なポリシーへ収束できるか?
- RQ4クラスター負荷やワークロード特性が変化する場合、従来のヒューリスティクスと比較して Decima によって達成可能な性能向上はどの程度か?
- RQ5ジョブレベルの並列度制御は、訓練を簡素化しつつ、ほぼ細粒度のスケジューリング性能を達成するのに十分か?
主な発見
- Decima は、25-node Spark クラスターで手動で調整されたスケジューリングヒューリスティクスより少なくとも 21%の平均ジョブ完了時間を改善する。
- クラスター負荷が高い間、Decima は既存のヒューリスティクスより最大で 2 倍の JCT 改善を達成する。
- CPU とメモリのマルチリソーススケジューリングでは、Decima は Graphene などの従来スキームより平均 JCT を32–43%改善する。
- スケーラブルなグラフニューラルネットワーク設計により、任意の形状や大きさのDAGを処理してDAGステージと並列度レベルをスケジューリングできる。
- 一連の RL 訓練技術により、無限に近い確率的ジョブ到着とストリーミングワークロードに対応するポリシーを学習できる。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。