Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【HTCondor】について調べたのでメモ

condorについて改めて調べてみたのでメモ

condor_q をなんども実行するのは面倒な人は

while /bin/true ; do condor_q; sleep 2; clear; done
をaliasに登録しておけば良さそう(またはシェルスクリプトにしておくとか)

■ 参考 : Condorを用いたグリッドスケジューリング導入実習

同じジョブを複数個投入する

universe = vanilla
executable = hoge
arguments =
output = out.txt
error = err.txt
log = log.txt
queue 1
これの最後の1を10にすれば、同じジョブを10個投入できる
ただしこのままだと10個とも同じ引数や設定で実行され、出力も同じファイルにされてしまう



condorの内部変数をサブミットファイルに活用する

自分が知ってるのは $(Cluster) と $(Process) だけ
これを使うとこんな感じで書けて、異なる出力ファイルに収まるので便利

Universe = vanilla
Executable = hoge
Arguments =
Output = result/out_$(Cluster).$(Process).txt
Error = result/err_$(Cluster).$(Process).txt
Log = result/log_$(Cluster).$(Process).txt
queue 1


ジョブの削除

condor_rm [ID]
 または
condor_rm [user name]
 または
condor_rm -all
でいけるらしい

計算ノードを指定する

Requirements = Machine == "fedora-virt8.jp.example.org"
のようにジョブファイルに書いておけばいけるらしい
"fedora-virt8.jp.example.org" の部分を置き換えて使う

■ 参考 : Condorを使ってみた(1)

やってみたが、うまくいかない
ジョブ投入後ずっと、idle状態でrun状態にならない・・・


実行順序のあるジョブの実行方法

というのがあるらしいけど、よくわからん
通常のジョブファイルとは別のファイルを作って、condor_submit_dagというコマンドでジョブ投入をするらしい



結局知りたかったことは、ジョブを遅延させて投げる方法だけどわからん・・・・



condorのドキュメントによると、ジョブが使用するメモリーの量を指定するには

The request_memory command is included to ensure that the mathematica jobs match with and then execute on pool machines that provide at least 1 GByte of memory.

####################
#
# Example 3: demonstrate use of multiple # directories for data organization.
#
####################
executable = mathematica
universe = vanilla
input= test.data
output = loop.out
error= loop.error
log= loop.log
request_memory = 1 GB
initialdir = run_1
queue

initialdir = run_2
queue

みたいな書き方でいいらしい


他のマクロ変数はマニュアルに載ってる
ここ( http://research.cs.wisc.edu/htcondor/manual/ ) でmacroとかvariableとかで調べると良い
便利そうなものを特に見つけられなかった・・・・





優先度を上げる

condor_prio +1 [job ID]

ランキング参加中です

↓クリックしていただけると嬉しいです〜