グリッドエンジンの使い方

ジョブを並列実行させたい人も居ると思うので、簡単に研究室のサーバ全体に分散処理して計算させるスクリプトを用意しました。
(一つのコマンドを分割処理するわけではなく、bwaやblastなど、サンプルごとに同じような処理を何度も行うときに使用します。)

分散処理の行い方は簡単で、例えば
blastn -db database -query sample1.fasta -num_thread 4 > output.blast
といったコマンドをサーバ上で複数実行したいとします。

1つのコマンドにつき4 CPU, メモリ16 GB程度のリソースを使って実行する場合、下記のようにコマンドを「" (ダブルクオーテーション)」で囲んでrunGE-4cpu-16gbの引数に渡してください。
runGE-4cpu-16gb "blastn -db database -query sample1.fasta -num_thread 4 > output.blast"

こうすると、runGE-4cpu-16gbのスクリプトの中で、グリッドエンジンに適切なパラメータを指定して分散処理を実行するようになっています。
ターミナルに出力される文章などは、上記の例であれば、blastn__db_database_.o5878といったファイルに出力されるようになります。

もっと多くのリソースを使う場合は、
4CPUで64GBの場合は、runGE-4cpu-64gb
8CPUで32GBの場合は、runGE-8cpu-32gb
8CPUで128GBの場合は、runGE-8cpu-128gb
といったコマンドを使ってください。
特にハードリミットは設けていないので、もし仮に指定した以上のメモリを使ってもジョブを強制終了したりしませんが、メモリを使い果たすとサーバが止まってしまうので、なるべく適切な量を指定してください。(かと言って、リソースを多めに予約してしまうと、分散処理の効率が下がってしまうので、多めに指定したほうが良いというわけではありません。)

自分の実行したジョブがどのサーバで実行されているかなどは、
qstat
というコマンドで確認してください。
  • グリッドエンジンの使い方.1502820215.txt.gz
  • 最終更新: 2017/08/15 18:03
  • by 118.240.79.26