>   >  痴山紘史の日本CG見聞録:第8回:HTCondorの環境構築
第8回:HTCondorの環境構築

第8回:HTCondorの環境構築

ジョブを実行してみる

環境が整ったところで、ジョブを実行してみます。ジョブの実行にはsubmit description file(sdf)を記述し、condor_submitを使用します。以下はWindows上でdirコマンドを実行した結果をログに出力する例です。

----
executable = C:\Windows\System32\cmd.exe

output = c:\temp\simpleSubmission\log\loop.$(Process).out
error = c:\temp\simpleSubmission\log\loop.$(Process).error
log = c:\temp\simpleSubmission\log\loop.$(Process).log

arguments = /c dir
initialdir = c:/

requirements = TARGET.OpSys == "WINDOWS"

queue
----

各行の内容は、以下のようになっています。

executable : 実行したい実行ファイル
output : ジョブの標準出力
error : ジョブの標準エラー出力
log : ジョブが存在する間にHTCondor内で起きたイベントログ
arguments : 実行ファイルに渡される引数
initialdir : ジョブを実行する際のカレントディレクトリ
requirements : ジョブを実行する計算サーバに求められる条件

このファイルを保存して、以下を実行します。

C:\temp\simpleSubmission>condor_submit simpleSubmission.sdf

投入したジョブの情報はcondor_qコマンドで確認できます。今回のように単純なケースでは一瞬で処理が終わってしまうので、condor_submitとcondor_qを連続して実行してみました。


少し待って再度condor_qを実行すると、ジョブが終了し、なくなっていることがわかります。BackburnerやDeadlineといったソフトウェアに慣れているとオヤッ? と思いますが、終了したジョブはHTCondorからは削除されてなくなります。終了したジョブや、各ジョブの詳細情報を確認したい場合、HTCondorと連携する別のしくみとして用意する必要があります。その一例が、前回もご紹介したMonitoring HTCondorで行なっている内容です。


実行結果はsimpleSugmission.sdfに記述してある通り、c:\temp\simpleSubmission\log\loop.0.outに出力されます。


ちょっとわかりづらいですが、dirコマンドの実行結果が記録されています。ここで、HTCondorの設定やsdfの内容に問題があり、いつまでもジョブが実行されない場合があります。そのような場合、condor_q -better -analyzeでジョブの詳細を確認することができます。


HTCondorはThe Requirements expressionで指定されたルールに従ってどのサーバでジョブを実行するか決定するため、ここの指定が間違っているとジョブが思った通りに実行されません。また、/var/log/condor(Windowsでは%CONDOR_INSTALL_DIR%\condor\log)以下にログファイルがあるので、こちらも参照します。同様な内容をLinux環境でも実行してみます。simpleSubmission.sdfとして以下のファイルを保存します。

----
executable = /usr/bin/ls

output = /home/chiyama/simpleSubmission/log/ls.$(Process).out
error = /home/chiyama/simpleSubmission/log/ls.$(Process).error
log = /home/chiyama/simpleSubmission/log/ls.$(Process).log

initialdir = /
requirements = TOpSys == "LINUX"

queue
----

ジョブを投入します。


ジョブが実行されると標準出力の内容がファイルに出力されるので確認します。


これでとりあえずHTCondor環境をつくることができました。より詳しくジョブの投入方法について知りたい方はマニュアルを参照してみてください。HTCondorはマニュアルが非常に充実していて、実例も豊富です。また、メーリングリストのアーカイブも充実しているので、何かに詰まったときにも検索をすると似たような事例が豊富に出てくるのがありがたいです。

次回予告

次回からは、映像制作で使うケースを用いてより具体的な処理をHTCondor上で行なっていきます。



第9回の公開は、2019年2月を予定しております。

プロフィール

  • 痴山紘史
    日本CGサービス(JCGS) 代表

    大学卒業後、株式会社IMAGICA入社。放送局向けリアルタイムCGシステムの構築・運用に携わる。その後、株式会社リンクス・デジワークスにて映画・ゲームなどの映像制作に携わる。2010年独立、現職。映像制作プロダクション向けのパイプラインの開発と提供を行なっている。新人パパ。娘かわいい。
    @chiyama

その他の連載