​ジョブ管理ソフト UGE の利用方法

1. ​シンプルなジョブの投入方法

​UGEでは、一般にジョブの内容をスクリプトにして、スクリプトをqsubコマンドでサブミットして利用します。ここでは、以下のシンプルな内容のジョブを投入する実例を御説明します。

#!/bin/bash

 

#$ -cwd                              # カレントワークディレクトリの指定

#$ -q all.q                          # キューの指定

 

hostname                           #プログラムの実行

sleep 30

"#$"で始まる行は、qsubコマンドに渡すオプションが記述されることを示します。上記のスクリプト内に記述している通り、-cwdオプションは、カレントディレクトリの指定をします。このオプションは、ほとんどのジョブで利用する必要があります。ジョブをサブミットして、入力ファイルや実行プログラムが見つからないというエラーが出る場合には、このオプションを利用することで解決する場合があります。-qオプションは、キューの指定をします。

UGEで実行するスクリプトファイルには、実行属性を与える必要はありません。

上記のスクリプトファイルをjob.shとした場合、以下のようにしてジョブを実行します。

qsub  ./job.sh

qsubオプションをスクリプトファイルに記述せずに、コマンドラインでオプションとして渡すことも​できます。

qsub  -q  short.q  ./job.sh

​この場合、スクリプトファイルに記述されたall.qよりもコマンドラインで渡されたshort.qの方が優先して使用されます。利用できるキューの一覧は、以下のコマンドで確認できます。

qconf  -sql

標準出力及びエラー出力は、カレントワークディレクトリにそれぞれjob.sh.o$JOBID, job.sh.e$JOBID というファイルに出力されます。$JOBIDは、UGEに一意に割り当てられるIDです。-cwdオプションを使用しない場合、ホームディレクトリ直下でスクリプトが実行され、それらのファイルもホームディレクトリの直下に出力されます。

Examples

[hpctech@frontend uge_test]$ qhost                  #クラスターのステータス確認

HOSTNAME ARCH NCPU NSOC NCOR NTHR NLOAD MEMTOT MEMUSE SWAPTO SWAPUS

----------------------------------------------------------------------------------------------

global                  -               -    -    -    -     -       -       -       -       -

node01                  lx-amd64        2    2    2    2  0.01    1.8G  199.3M    1.2G     0.0

node02                  lx-amd64        2    2    2    2  0.01    1.8G  195.2M    1.2G     0.0

node03                  lx-amd64        2    2    2    2  0.01    1.8G  201.8M    1.2G     0.0

node04                  lx-amd64        2    2    2    2  0.01    1.8G  209.3M    1.2G     0.0

[hpctech@frontend uge_test]$ qstat -u "*"   

#ジョブのステータス確認 「-u “*”」 をつけているので全員のジョブを確認しています。

 

[hpctech@frontend uge_test]$ ls -l                #スクリプトは、job.shというファイルにしています。

total 4

-rw-rw-r--. 1 hpctech hpctech 155 Mar 25 15:45 job.sh

 [hpctech@frontend uge_test]$ qsub ./job.sh        #ジョブの投入 ジョブIDは1が割り当てられました。

Your job 1 ("job.sh") has been submitted

 

[hpctech@frontend uge_test]$ qstat -u "*"          #ジョブのステータス確認

job-ID  prior  name  user  state   submit/start at   queue      jclass     slots ja-task-ID

------------------------------------------------------------------------------------------------------------------

1 055500 job.sh hpctech r 03/25/2018 15:45:36 all.q@node01.local                                                1

#ジョブのステータスは次のいずれかの値を取ります。- d(eletion), E(rror), h(old), r(unning), R(estarted), s(uspended), S(uspended), e(N)hanced suspended, (P)reempted, t(ransfering), T(hreshold) or w(aiting).

 

[hpctech@frontend uge_test]$ qstat                 #ジョブのステータス確認 ジョブは終了しました。

[hpctech@frontend uge_test]$ ls                    #標準出力(*.o1)、エラー出力(*.e1)のファイルを確認

job.sh  job.sh.e1  job.sh.o1

 

[hpctech@frontend uge_test]$ cat job.sh.o1

node01

 

© 2006-2019 HPC Technologies Co., Ltd. All rights reserved.