遺伝研スパコン 使い方

Univa Grid Engineの使い方に関するドキュメント

 * N1 Grid Engine ユーザーズガイド
 * N1 Grid Engineインストールガイド
 * N1 Grid Engine管理ガイド


 * 医科研SGE利用法
 * 第一回遺伝研スパコン説明会(2012.03.21 於 遺伝研図書館3F)資料 : システム紹介 基本的な使用方法 UGE概説 ユーザ登録

ログイン

 * 1) スパコンへのログインするためには、Thinノードのうちの１つであるゲートウェイノードにSSHで接続してください.
 * 2) ゲートウェイノードにログイン後、qloginしてください.
 * 3) * qloginすると352台のThinノードのうち特別に割り当てられた8台のノードのいずれか１つにログインします.
 * 4) * qloginしないとゲートウェイノードが混雑してほかの人がスパコンを利用できなくなります.
 * 5) 小規模なジョブ（インタラクティブな操作）はqloginしたノードの上で実行します.
 * 6) 大規模なジョブはqsubコマンドを使ってUGEキューにジョブを投入することで実行します.
 * 7) * このジョブはスーパーコンピュータシステム全体の中の空いているノードで実行されます.

HOME領域

 * 各ユーザーのHOME領域はLustreファイルシステム上に作られており、すべての計算ノードからアクセス可能となっています.
 * ソフトウェアやデータはこのHOME領域上に置いて使うのが基本です.
 * HOME以外の領域の使い方は ==> 後で書きます.


 * Lustre file systemはext3相当ですので１つのディレクトリ中に置くファイル数が大量になりすぎないようにしてください.
 * （目安としては約4000個を超えないように配慮してください）
 * 同様にプログラム中でファイルのopen, closeを不必要に繰り返さないでください..

X Window Systemを使う
スーパーコンピュータの利用はTeraTermなどのテキスト端末からでもできますが、 ssh -X することにより、qloginしたノード上からX Window System (X11)を使うことができます.


 * EmacsやEclipseやRやfirefoxなどがスパコンの中からそのまま使えます. 


 * ですから、LinuxやMac (FreeBSD)からログインすると便利です.
 * Microsoft Windowsから利用する場合はOracle VirtualBox等の上にLinuxシステムをインストールして使うとX11が使えて便利でしょう.
 * 無線LANより有線LANのほうが速度が速くて便利です. 近日中に遺伝研有線LANがDHCP化されますのでそれを使うとよいでしょう.

Emacsと日本語変換
+C-\ 日本語変換モードのon-off (input method聞かれたらJapaneseと答える）

編集モード +C-i 文節の短縮 +C-o 文節の拡大 +C-f 右文節 +C-b 左文節 +C-n, space 次候補 +C-p 前候補 +C-j 確定 +return 確定 http://www.ice.gunma-ct.ac.jp/~mame/kougi/kisoron/japanese.html

プログラムのインストール

 * 1) 基本的なプログラムはすでに遺伝研スパコンSEさんが大抵インストールしてあります.
 * 2) * PATHに指定されていないせいで見えないだけかもしれません. /usr/local/pkg/の下などを探してみてください.
 * 3) * locate プログラム名　で探すと見つかるかもしれません.
 * 4) プログラムがインストールされていない場合は、自分でHOMEディレクトリの下にインストールしてください.

データの転送
スパコンシステムにデータを外から転送するには、以下のような方法があります.
 * 1) ゲートウェイノードに向かって、スパコン外からscpを行う.
 * 2) スパコンにqloginしてからftp等を行う.
 * 3) Asperaを利用する.

scpを使う方法は単に以下の通り. scp yourfilename yourname@gw.ddbj.nig.ac.jp:/your/directory/path

ftp等については説明は不要でしょう.

Asperaの使い方は ==> 後で書きます.

UGEキューの種類
一般研究用システムには以下のようなUGEキューが用意されています. ・week_hdd.q		2週間をリミットで実行するキュー

・week_ssd.q		2週間をリミットとし、ssdを搭載したノードで実行するキュー

・month_hdd.q		1ヶ月をリミットで実行するキュー

・month_ssd.q		1ヶ月をリミットとし、ssdを搭載したノードで実行するキュー

・month_gpu.q		1ヶ月をリミットとし、gpuを搭載したノードで実行するキュー

・month_medium.q	1ヶ月をリミットとし、Medium計算ノードで実行するキュー

・month_fat.q		1ヶ月をリミットとし、Fat計算ノードで実行するキュー

・web_week.q		2週間をリミットで実行するキュー(webサービス用)

・web_month.q		1ヶ月をリミットで実行するキュー(webサービス用)

・debuq.q		24時間をリミットで実行するキュー、ジョブ動作確認用

・login.q		インタラクティブにコマンドを実行できるキュー

現在の混み具合を見るには以下のようにします. AVAILのところが利用可能なスロットの数です.

UGEへサブミットするシェルスクリプト
シェルスクリプトのshebangは以下のように書き換えるか、追加してください. #$ -S /bin/tcsh
 * 1) ! /usr/bin/perl	→ #$ -S /usr/bin/perl
 * 2) ! /bin/sh 		→ #$ -S /bin/bash
 * 3) ! /usr/tcsh		→ #! /bin/tcsh

qloginコマンド
qlogin

GPU搭載ノードへのqloginの方法 qlogin -l gpu

qsubコマンド
Thin計算ノードへバッチジョブをサブミットします. オプションを何も指定しない場合は、weekキューが使用され実行期間は2週間です. 2週間を経過したジョブはkillされます.

$ qsub sample.sh

qsubオプション
-l month	実行期間を1ヶ月とする.

-l ssd	Thin計算ノードのローカルSSDディスク(/ssd)搭載ノードで実行する.

-l gpu	GPU搭載ノードで実行する.

-l medium	Mediumノードで実行する.

-l fat	Fatノードで実行する.

-l debug	ジョブ動作の確認を行う. 実行期間は24時間です.

実行例)

$ qsub -l month sample.sh

$ qsub -l ssd sample.sh

$ qsub -l month -l ssd sample.sh

$ qsub -l month -l gpu sample.sh  ※gpuは必ずmonthを指定してください.

$ qsub -l month -l medium sample.sh ※mediumは必ずmonthを指定してください.

$ qsub -l month -l fat sample.sh  ※fatは必ずmonthを指定してください.

qstatコマンド
投入したジョブの実行状況を確認します.

$ qstat

qdelコマンド
投入したジョブを中断します.

$ qdel (ジョブID)

$ qdel -u (ユーザID)

その他　UGEコマンドの利用方法は、$ man qsub をご参照ください.

メモリを指定しての実行
各ノードのUGE最大メモリ使用量は、ソフトリミットで4GBに制限されています. 4GB以上のメモリ量を使用するジョブを投入する場合はソフトリミットを解除する必要があります.

-l s_vmem=(メモリ使用上限値),mem_req=(メモリ確保量)

実行例）

$ qsub -l s_vmem=16G,mem_req=16G -l medium sample.sh

※共用計算機リソースの占有やハングアップをまねく恐れがありますので、ソフトリミットの解除は注意を払い適切に設定してください.

2.6 アレイジョブ
アレイジョブとして投入すると、1つのプログラムでパラメータを変更して繰り返し実行することができます

アレイジョブはシングルジョブを複数投入するよりUGEの負荷を軽減できます.

-t [開始値]-[終了値]:[増分]

実行例）

$ qsub -t 1-3:1 array-sample.sh

array-sample.sh

targetdb="$HOME/blastdb"
 * 1) !/bin/sh
 * 2) $ -S /bin/sh

query="$HOME/query/sample-seq"

target=([1]="est" [2]="gss" [3]="nr")

blastall -i $query -p blastn -d ${target[$SGE_TASK_ID]}"