A HPC Co-Scheduler with Reinforcement Learning
⚠️ 注意: この記事はまだ作成中(Work In Progress)です。
RL 組み込みスケジューラ
Abstract
ユーザのワークフローの多様化,複雑化,大規模化に伴い,HPC システムのジョブ完了時間が長期化している. この対策としてアプリケーションプロファイリングとクラスタモニタリングを用いたアダプティブ強化学習スケジューリングアルゴリズムを提案する リソースの使用状況のモデル化に決定木を用いる.ある割り当てからどれだけのリソース容量を他のアプリと共用できるかを推定する. 共同スケジューリングにおける誤判断から学習し,環境変化がジョブの待ち時間に影響を及ぼすかを評価する. 負荷が高いときも低い時も 50 パー程度の待ち時間の短縮を実現した.
背景・問題
Slurm はスペースシェアリングモデルでのスケジュールであり,実際の使用パターンに関わらずリソースがジョブのために排他的に予約される. クラウドベースはそうではない
深掘り
排他的に割り当てるスケジューリング:
- 一度ジョブに割り当てられたノード・コアはジョブが終了するまで一切譲らずに占有する.
- その間そのリソースを本当に使えているかは関係ない.占有する.
- 割り当てられた後の変更がないので,予測可能性が高い.
クラウドのリソース共有:物理マシンの上に仮想マシンを複数同時に立てて共有するタイムシェアリングモデル
- CPU 時間を分割して短い時間ごとにスイッチしていろんな VM が CPU を使う
- リソースの利用効率が高い