「バッチジョブ投入システム SunGridEngine を用いた計算機の利用」の版間の差分
ナビゲーションに移動
検索に移動
3行目: | 3行目: | ||
*投入された順番に空いている資源を利用して実行していきます。 | *投入された順番に空いている資源を利用して実行していきます。 | ||
*'''データ解析をする場合は、基本的にこのバッチジョブ投入システムを利用してください''' | *'''データ解析をする場合は、基本的にこのバッチジョブ投入システムを利用してください''' | ||
*実行したい処理を'''シェルスクリプト''' [http://www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html (シェルスクリプト入門へのリンク)] に書き、qsub コマンドの引数にして実行させます。 | *実行したい処理を '''シェルスクリプト''' [http://www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html (シェルスクリプト入門へのリンク)] に書き、qsub コマンドの引数にして実行させます。 | ||
*ここでは「'''Sun Grid Engine (SGE)''' [http://docs.oracle.com/cd/E19080-01/n1.grid.eng6/817-7680/esqcr/index.html | *ここでは「'''Sun Grid Engine (SGE)''' [http://docs.oracle.com/cd/E19080-01/n1.grid.eng6/817-7680/esqcr/index.html SGEユーザーズガイドへのリンク]」というジョブ投入のシステムを採用しています。<br><br> | ||
== 利用可能なキュー == | == 利用可能なキュー == |
2013年2月12日 (火) 09:10時点における版
バッチジョブ投入システム
- 複数のユーザが平等に計算機資源(メモリ, CPU)を使うためのしくみです。
- 投入された順番に空いている資源を利用して実行していきます。
- データ解析をする場合は、基本的にこのバッチジョブ投入システムを利用してください
- 実行したい処理を シェルスクリプト (シェルスクリプト入門へのリンク) に書き、qsub コマンドの引数にして実行させます。
- ここでは「Sun Grid Engine (SGE) SGEユーザーズガイドへのリンク」というジョブ投入のシステムを採用しています。
利用可能なキュー
分散並列処理型 |
共有メモリ型 |
||||
キュー名 |
small |
medium |
large |
bias |
cat |
ジョブの特徴 |
短時間・並列多 |
中規模 |
長時間 |
大メモリ |
denovoアセンブル用 |
利用ノード |
node01~node32 |
node01~node32 |
node01~node32 |
bias |
catl, catm |
最大実行時間/ジョブ |
6hr |
72hr |
no limit |
no limit |
no limit |
最大ジョブ数/キュー |
184 |
64 |
8 |
16 |
112 |
- キューを指定しない場合、デフォルトでは「small」で実行されます。
- denovoアセンブリ用catキューの使い方
実行例
BLAST実行ジョブ(シェルスクリプト)の例 (ファイル名:blast.job) (下記の「ジョブスクリプトオプション」も参考にしてください)
#!/bin/sh #$ -q small #$ -v BLASTDB="/bio/db/blast/db" #$ -v BLASTMAT="/bio/db/blast/matrix" /bio/bin/blastall -p blastx -e 0.001 -d nr -i /home/xxx/sample.fa -o /home/xxx/sample.out
ジョブをSGEで実行(qsubコマンドにジョブファイルを渡す)
% qsub blast.job
自分のジョブの様子を見る
% qstat
全ユーザのジョブの様子を見る
% qstat -u '*'
SGE コマンド早見表
投入後のジョブにコマンドを発行できるのは、ジョブを投入したユーザのみです。詳しいオプションはmanコマンドなどで確認してください。
コマンド |
説明 |
qsub |
ジョブを投入する |
qstat |
ジョブとキューの状態を表示する |
qdel job-ID |
指定したIDのジョブを削除する |
qhold job-ID |
指定したIDのジョブ(待機中のみ)をホールドする |
qrls job-ID |
ホールド状態のジョブをリリースする |
qhost |
各ノードの状態を表示する |
qmod -s job-ID |
実行中のジョブをサスペンドする |
qmod -us job-ID |
サスペンド中のジョブを再実行する |
ジョブスクリプトオプション早見表
オプション |
説明 |
#$ -o filename |
標準出力の結果を指定したファイルに保存(指定しないとホームディレクトリにファイルが作られる) |
#$ -e filename |
標準エラー出力の結果を指定したファイルに保存(指定しないとホームディレクトリにファイルが作られる) |
#$ -q queue_name |
キューを指定してジョブを実行 |
#$ -cwd |
qsubした時のディレクトリに移動してジョブを実行 |
#$ -v 環境変数 |
環境変数をジョブに渡す |
#$ -N job_name |
ジョブ名を指定する |
#$ -s shell_name |
ジョブスクリプトを指定したシェルで実行 |
#$ -a MMDDhhmm |
ジョブの開始日時を指定 |
#$ -l resource_name 値 |
ジョブが使うリソース量を指定する |
#$ -pe PE_name プロセス数 |
並列ジョブを実行する場合の環境と並列数の指定 |
#$ -t 開始番号-終了番号 |