ジョブ管理システム PBSを用いた計算機の利用

提供:biaswiki
2020年1月10日 (金) 00:32時点におけるCproom (トーク | 投稿記録)による版 (→‎実行例)
ナビゲーションに移動 検索に移動

ジョブ管理システム

  • 残念なお知らせですが、cat キューは終了となりました

利用可能なキュー

キュー一覧

分散並列処理型 : parallel distributed processing
共有メモリ型 : shared memory
queue
small (default)
medium
large
blast
smps
smpm
smpl
ジョブの特徴
短時間・並列多
中規模
長時間
BLAST nr/nt only
中メモリ
大メモリ
最大メモリ
Avairable hosts
bias5-node01~node20
bias5-node01~node20
bias5-node01~node20
bias5-node01~node20
bias5-smp
bias5-smp
bias5-smp
Max. execution time / job
6hr
72hr
no limit
72hr
no limit
no limit
no limit
Max. memory usage / job
96GB
96GB
96GB
188GB
500GB
1TB
3TB
Max.num of running jobs / queue
no limit
no limit
no limit
no limit
12
6
2
Max. num of running cpus / queue
580
200
20
120
48
48
36
Max. num of running cpus / host
40
72
Max.num of running jobs / user.server
480
Max.num of running jobs / user.queue
400
150
10
80
no limit
no limit
no limit
Default num of CPUs
1
1
1
20
1
1
1
Default memory size
3.5GB
3.5GB
3.5GB
98GB
250GB
500GB
1500GB


  • キューの稼働状況はこちらをご覧ください[1]
  • キューを指定しない場合、デフォルトでは「small」で実行されます。
  • 480個以上のジョブを投入すると481個目からは待ち状態になります。アレイジョブも同様


実行例

BLAST実行ジョブ(シェルスクリプト)の例 (ファイル名:blast.job) (下記の「ジョブスクリプトオプション」も参考にしてください)

#!/bin/sh
#PBS -q small
#PBS -l ncpus=4
#PBS -J 1-10
 cd ${PBS_O_WORKDIR}
 blastx -db nr -i -num_threads ${NCPUS} -query /home/xxx/sample.fa.${PBS_ARRAY_INDEX}  -o /home/xxx/sample.out.${PBS_ARRAY_INDEX}

ジョブをPBSで実行(qsubコマンドにジョブファイルを渡す)

$ qsub blast.job

全ユーザのジョブの様子を見る

$ qstat

特定ユーザのジョブの様子を見る

$ qstat -u user_name

3日前までに終了したジョブ番号 job_id のジョブ履歴を確認する

$ tracejob -n3 job_id

PBSコマンド早見表

投入後のジョブにコマンドを発行できるのは、ジョブを投入したユーザのみです。詳しいオプションはmanコマンドなどで確認してください。

コマンド
説明
qsub
ジョブを投入する
qstat
全ジョブの状態を表示する
qstat -Q
全キューの状態を表示する
qstat -u "user_name"
指定ユーザのジョブとキューの状態を表示する(デフォルトは全員分表示)
qstat -rn1
実行中の全ジョブとその詳細を表示する(アレイジョブ以外)
qstat -J -t -rn1
実行中の全アレイジョブとその詳細を表示する
qstat -t job-ID[]
指定したIDのアレイジョブの詳細を表示する(IDに括弧 [] をつけること)
qstat -f job-ID
指定したIDのジョブ詳細を表示する
qdel job-ID
指定したIDのジョブを削除する
qdel -Wforce job-ID
指定したIDのジョブを強制的に削除する
qhold job-ID
指定したIDのジョブ(待機中のみ)をホールドする
qrls job-ID
ホールド状態のジョブをリリースする
qhost
各ノードの状態を表示する
qmod -sj job-ID
実行中のジョブをサスペンドする
qmod -usj job-ID
サスペンド中のジョブを再実行する
qmod -cj job-ID
エラーになったジョブを再実行する
tracejob -nDAY job-ID
DAY日間以内に終了したjob-IDの履歴を表示


ジョブスクリプトオプション早見表

オプション
説明
#PBS -o filename
標準出力の結果を指定したファイルに保存(指定しないとホームディレクトリにファイルが作られる)
#PBS -e filename
標準エラー出力の結果を指定したファイルに保存(指定しないとホームディレクトリにファイルが作られる)
#PBS -q queue_name
キューを指定してジョブを実行
#PBS -V
現在の環境を引き継ぐ
#PBS -v 環境変数名=環境変数
環境変数をジョブに渡す。書き方例:JAVA_HOME="/home/xxxxx/jdk-1.8.1"
ここで元の環境変数を参照することはできない。つまり PATH=/home/xxxxx/bin:$PATH 等と書いても「$PATH」は無視される
#PBS -N job_name
ジョブ名を指定する
#PBS -s shell_name
ジョブスクリプトを指定したシェルで実行
#PBS -a MMDDhhmm
ジョブの開始日時を指定
#PBS -l mem=8G
ジョブが使うリソース量を指定:メモリを8GBまで使う 
#PBS -l ncpus=8
ジョブが使うリソース量を指定:CPU 8スレッドを使う 
#PBS -l select=1:ncpus=10
ジョブが使うリソース量を指定:1ノードを用いて10スレッド使う 
#PBS -J 開始番号-終了番号