複数のジョブが同じリソースクォータを競合する場合、スケジューリングポリシーは、どのジョブが最初にデキューされるか、およびブロックされたジョブがキューの残りを停止させるかどうかを制御します。Platform for AI (PAI) は、依存関係のあるパイプラインの厳密な順序付けから、混合バッチジョブのスループット優先アプローチまで、ワークロードに合わせてキューの動作を調整できるよう、4つのスケジューリングポリシーを提供します。
リソースクォータに送信された各ジョブには 1 から 9 までの優先度があり、数値が大きいほど優先度が高くなります。 PAI コンソールの [リソースクォータ] ページで、スケジューリングポリシーを設定および管理できます。
注: リソースクォータ作成後にスケジューリングポリシーを変更しても、まだ実行を開始していないジョブにのみ影響します。すでに実行中の状態にあるジョブには影響しません。
スケジューリングポリシー
FIFO (First In, First Out)
キューの先頭のジョブがデキューできない場合、スケジューラはスキップせずにリトライします。キュー内の後続のすべてのジョブは、ブロックされたジョブがデキューされるまで待機します。
使用する状況: 厳密な順序付けが重要であり、ジョブがバイパスされるべきではないワークロード。たとえば、後続のジョブが先行するジョブの出力に依存する、依存関係のあるトレーニングパイプラインなどです。
ラウンドロビン
キューの先頭のジョブがデキューできない場合、スケジューラはそれをスキップし、後続のジョブをシーケンスでデキューしようとします。
使用する状況: 順序付けよりもスループットが重要な混合ワークロード。キューの先頭でブロックされたジョブが、他の準備完了ジョブを停止させることはありません。
バランス
バランスは FIFO の動作から始まり、ジョブがタイムアウトを超えると、スケジューリングウィンドウを徐々にラウンドロビンに拡張します。
フェーズ 1 — FIFO リトライ: キューの先頭のジョブがデキューできない場合、スケジューラはスキップせずにリトライします。
フェーズ 2 — ラウンドロビンへの拡張: ジョブがタイムアウト (通常は数分) 後もデキューされていない場合、スケジューラはキュー内の最初の2つのジョブにラウンドロビンを適用します。
フェーズ 3 — 段階的な拡張: 2番目のジョブもタイムアウトした場合、スケジューラはラウンドロビンを最初の3つのジョブに拡張します。ウィンドウは同様の方法で拡大し続けます。
使用する状況: 長時間ジョブと短時間ジョブが混在する汎用キュー。バランスは、高優先度ジョブがすぐにバイパスされるのを防ぎつつ、単一のブロックされたジョブがキューの残りを無期限に停止させるのを防ぎます。
インテリジェント
インテリジェントは、各ジョブの優先度に基づいて異なるポリシーを適用します。
優先度 >= 7: FIFO を使用してスケジューリングされます — 高優先度ジョブはスキップされません。
優先度 < 7: ラウンドロビンを使用してスケジューリングされます。各待機ジョブの優先度は、キュー時間に基づいて1ずつ増加し、6に達するまで上昇するため、無期限のスタベーションを防ぎます。
上図では、Item1 と Item2 の優先度は >= 7 であり、Item3 から N の優先度は < 7 です。
使用する状況: クリティカルジョブとバッチジョブが明確に区別されているキュー。本番環境または時間制約のあるジョブには優先度 >= 7 を割り当て、バッチまたは開発ワークロードには低い優先度を割り当てます。
スケジューリングポリシーの選択
| ポリシー | キューの先頭がブロックされた場合 | 低優先度ジョブ | 最適な用途 |
|---|---|---|---|
| FIFO | スキップせずにリトライ; キューはブロックされます | ブロックされたジョブの後ろで待機 | 依存関係のあるパイプライン; 厳密な順序付けが必要 |
| ラウンドロビン | スキップ; 後続のジョブをシーケンスで試行 | ブロックされたジョブより先に実行 | 混合独立ジョブ; スループットの最大化 |
| バランス | 最初にリトライ; タイムアウト後にラウンドロビンが拡張 | タイムアウト後にブロック解除 | 汎用キュー; 公平性とスループットの融合 |
| インテリジェント | 優先度 >= 7: リトライ (FIFO); 優先度 < 7: スキップ (ラウンドロビン) | キュー時間に応じて優先度が6まで上昇 | 混合重要度; 本番環境とバッチの分離 |
スケジューリングポリシーの設定
リソースクォータを作成する際にスケジューリングポリシーを設定するには、「概要」をご参照ください。