condorは1つのジョブを走らせて、それを見届けてくれる
DAGmanはcondorの拡張版みたいなものっぽい
ジョブA, B, Cと3つのジョブを走らせるとして、
Aが終わったらBを、Bが終わったらCを走らせる
みたいなそれぞれのジョブを関連付けて走らせることができる
詳しくは↓にある図を見てもらうとすぐに分かるかと
■ 参考 : Workflow management with DAGMan
ジョブA→B→CみたいなのはLinear型と呼ばれるらしい
上記のページのDAGman用サブミットファイルは
##### Define Jobs ###
##### JOB JobName JobDescriptionFile
JOB A0 namd_run_job0.submit
JOB A1 namd_run_job1.submit
JOB A2 namd_run_job2.submit
JOB A3 namd_run_job3.submit
##### Relationship between Jobs ###
##### PARENT JobName CHILD JobName
PARENT A0 CHILD A1
PARENT A1 CHILD A2
PARENT A2 CHILD A3
最初にジョブの名前とそれぞれのサブミットファイルを定義
その後でジョブの関連を書くっぽい
あとはジョブA〜Cの前後にプリプロセスとポストプロセスを走らせることもできるらしい
##### Define Jobs ###
##### JOB JobName JobDescriptionFile
JOB A0 namd_run_job0.submit
JOB A1 namd_run_job1.submit
JOB A2 namd_run_job2.submit
JOB A3 namd_run_job3.submit
##### Relationship between Jobs ###
##### PARENT JobName CHILD JobName
PARENT A0 CHILD A1
PARENT A1 CHILD A2
PARENT A2 CHILD A3
##### PRE or POST processing of a job
##### SCRIPT PRE/POST JobName ProcessScript
SCRIPT PRE A0 pre-script-temperature.sh
SCRIPT POST A3 post-script-energy.sh
他の例として、
Aが終わったらBとCを走らせる
BとCが終わったら、Dを走らせるとかしたい場合は
■ 参考 : Node Job Submit File Contents
#
JOB A diamond_job.condor
JOB B diamond_job.condor
JOB C diamond_job.condor
JOB D diamond_job.condor
PARENT A CHILD B C
PARENT B C CHILD D
ここのDAGの例も参考になるかも
どこにも書いてなかったのでこれもメモ
condor_submit_dagで走らせたジョブの関連の仕方は
ランキング参加中です
↓クリックしていただけると嬉しいです〜