1-0. ジョブスケジューリングの基本
ジョブスケジューリングとバッチジョブ
本学の並列計算機は,ジョブスケジューリング方式を採用しています.
ユーザが個々の計算,実験に必要な実行ファイル,データ等をまとめてバッチジョブとして登録しておくことで,計算リソースが空き次第自動的に実行されるシステムをジョブスケジューリングシステムといいます.
このような計算機はログインノードと計算ノードに分かれており,ユーザはログインノードで計算用の実行ファイルやデータを準備し,ジョブスケジューラに投入します.
ジョブスケジューリングの基本
ジョブスケジューリングシステムは,基本的に以下の手順で利用します.
1. ジョブスクリプト作成
計算ジョブの実行に必要な実行ファイル,データ,設定ファイル等をまとめ,定型のジョブスクリプトに記述する
2. ジョブ投入
作成したジョブスクリプトをジョブスケジューラに投入する.
投入する個数に制限はない.入力データの異なる計算ジョブを多数投入しておくこともできる.
3. ジョブ実行
計算ジョブは,投入されたシステムで実行に必要なリソース(CPU, Memory,Node等)が確保され次第, 自動的に実行される
ジョブ実行ルール
スケジューラに投入されたジョブは,基本的に以下のルールに添って実行されます.
・基本的に,少ないリソースで実行できるキューの優先度がより高く設定されている
・高優先度のキューに投入されたジョブから順次実行される
・同じキューの中では,先に投入されたジョブから順次実行される
・(リソース不足等で)一定時間実行されなかったジョブは,最優先として実行される.
この場合,最優先ジョブを実行させるリソースを確保するために,その他のジョブが一時的に開始されなくなることがある.