Altair Grid Engine (以下、 AGE )ではジョブのサブミット時に”-hold_jid”オプションを使用することでジョブの実行順に先行/後行関係を付与することができます。
実行例1
ジョブ1、ジョブ2、ジョブ3の順で実行する (ジョブを同時実行させない)。
※各ジョブには”-N”オプションで別名”JOB1″,”JOB2″,”JOB3″を設定します。 > qsub -N JOB1 <ジョブ1スクリプト> > qsub -N JOB2 -hold_jid JOB1 <ジョブ2スクリプト> > qsub -N JOB3 –hold_jid JOB2 <ジョブ3スクリプト> |
# qstat job-ID prior name user state submit/start at queue jclass slots ja-task-ID ————————————————————————————————————————————- 605 0.55500 JOB1 hpctech r 08/23/2022 17:43:08 all.q@node01 1 606 0.00000 JOB2 hpctech hqw 08/23/2022 17:43:38 1 607 0.00000 JOB3 hpctech hqw 08/23/2022 17:43:52 1 ※JOB1が完了するまでJOB2は”hqw”(hold queue wait)しています。 (同様にJOB2が完了するまでJOB3も”hqw”します) |
実行例2
ジョブ1とジョブ2の両方が完了した後にジョブ3を実行する (ジョブ1とジョブ2は同時実行でも可)。
※各ジョブには”-N”オプションで別名”JOB1″,”JOB2″,”JOB3″を設定します。 > qsub -N JOB1 <ジョブ1スクリプト> > qsub -N JOB2 <ジョブ2スクリプト> > qsub -N JOB3 -hold_jid JOB1,JOB2 <ジョブ3スクリプト> |
# qstat job-ID prior name user state submit/start at queue jclass slots ja-task-ID ———————————————————————————————————————————— 608 0.55500 JOB1 hpctech r 08/23/2022 17:47:51 all.q@node01 1 609 0.55500 JOB2 hpctech r 08/23/2022 17:47:54 all.q@node01 1 610 0.00000 JOB3 hpctech hqw 08/23/2022 17:48:15 1 ※JOB1,JOB2が完了するまでJOB3は”hqw”(hold queue wait)しています。 |
上記2例では、qsubのコマンドラインオプションを使っていますが、オプションはジョブスクリプト内でも指定できます。