66
$ cp -r \
/gfarm/グループ名/${USER}/home/グループ名/HPCI-ID/jobdata/paramA_X \ ~/jobdata/paramA_X
バッチジョブスクリプトで,~/jobdata/paramA_X から必要な入力ファイルを読み込み,
それぞれの入力ファイルに対応する実行結果ファイルは~/jobresults/paramA_X/にコピー します。
一通りのジョブ実行が終わると,~/jobresults/paramA_X/には用意した入力ファイル群に 対応する結果ファイル群が格納されているので,それらの結果ファイル群をHPCI共用ス トレージにコピーします。
$ cp -r ~/jobresults/paramA_X \
/gfarm/グループ名/${USER}/HPCI-ID/home/グループ名/HPCI-ID/jobresults/
同様に,パラメータAの値がYやZであるケースについて,計算機の空き状況に応じ て実行し,全てのジョブ実行が終わると,結果ファイルはHPCI共用ストレージ上にコピ ーされます。コピーが終了したら,HPCI共用ストレージをアンマウントします。
$ umount.hpci
結果の解析を行うために,再び GSI-SSHTerm で東大のログインサーバにログインし,
HPCI共用ストレージをマウントした後,結果の解析作業を行います。
$ mount.hpci
$ # 結果の解析作業
67 開発用マシンにはあらかじめコマンド gsissh がインストールされているものとし,開 発用マシンから,東大T2Kのログインサーバへのソースファイル群の転送には,コマン ドgsiscpを用いることとします。
まず,シングルサインオンによる利用のため 4.8.1(2) を参照して代理証明書を開発用 マシンにダウンロードしておきます。
次に,ソースファイル一式(~/myprog/src/)を東大T2Kのホームディレクトリにファイル 転送します。以下に,実行例を示します。
$ tar czf myprog-src.tar.gz myprog/src
$ gsiscp -P 2222 myprog-src.tar.gz [東大ログインサーバのホスト名]:
ここに示したように,利用者は東大T2Kでのローカルアカウントを指定する必要はあ りません。
ファイル転送が成功したら,東大T2Kのログインサーバへgsisshによりログインしま す。以下に実行例を示します。
$ gsissh -p 2222 [東大ログインサーバのホスト名]
ここでも,先程と同じように利用者はログイン先のホスト名だけを指定すれば良く,ロ グイン先のローカルアカウントは指定する必要がありません。
東大T2Kのログインサーバにログインした後は,通常のUNIX環境でのプログラムの ビルド作業を行います。
$ tar xzf myprog-src.tar.gz
$ cd myprog/src
$ make
次に,バッチジョブ実行のためのスクリプトを作成します。以下のようなバッチジョブ スクリプト(myjob.sh)を作成し,
#!/bin/sh
#@$-q short
#@$-N 1
cd /short/${USER}
68 cp ~/myprog/bin/myprog.x .
cp ~/myprog/src/run.sh . ./run.sh
cp ./result.out ~/myprog/results/
利用可能なキューにジョブをサブミットします。
注)ここではプログラム実行時の作業用ディレクトリとして/short/${USER}を仮定して います。一般にプログラム実行時に使用するための高速なストレージ領域が各センター で提供されているので,それらの領域を指定して下さい。
$ qsub myjob.sh 以上
5.3.2 シナリオ2の実行例
ここでは利用者は東大T2Kで一連のパラメータサーベイジョブ実行のための入力ファ イルの準備をし,それらをHPCI共用ストレージに保管します。ジョブ実行は東北大SX 9,阪大SX9で行うものとします。ジョブ実行結果ファイルはHPCI共用ストレージに格 納します。HPCI 共用ストレージで一元管理された結果ファイルを東大 T2K で解析しま す。
コマンドmyproxy-logonで代理証明書をダウンロードし,東大ログインサーバにコマン
ドgsisshでログインします。
$ gsissh -p 2222 [東大ログインサーバのホスト名]
利用者は入力ファイル群を東大T2Kローカルな~/jobdata/以下に作成します。ここでは,
パラメータAの値がX,Y,Zであるような場合の入力ファイル群を~/jobdata/paramA_X,
~/jobdata/paramA_Y,~/jobdata/paramA_Zに作成したとします。
次に,作成した入力ファイル群をHPCI共用ストレージにコピーするため,HPCI共用 ストレージをマウントします。東大ログインサーバにおけるHPCI共用ストレージのマウ ントポイントは/gfarm/グループ名/ユーザ名として用意されているものとします。
$ mount.hpci
東大T2Kローカルな領域に作った入力ファイルをHPCI共用ストレージ領域にコピー します。
$ cp -r ~/jobdata /gfarm/グループ名/${USER}/home/グループ名/HPCI-ID/
69 東大T2Kでの作業が終了したら,HPCI共用ストレージをアンマウントします。
$ umount.hpci
次に,東北大および阪大では,HPCI共用ストレージに置かれている入力ファイルの中 から,ジョブ実行に必要なファイルを,ジョブ実行に先立ってバッチジョブ実行計算機 からアクセス可能なローカルストレージ領域(ここでは~/jobdata/とする)にコピーしま す。ここでは東北大でパラメータAの値がXであるケースの一連のジョブを実行する作 業例について示します。
東北大のログインサーバにgsisshでログインします。
$ gsissh -p 2222 [東北大ログインサーバのホスト名]
次に,HPCI共用ストレージをログインサーバにマウントします。東北大のログインサ ーバにおける HPCI 共用ストレージのマウントポイントは/gfarm/グループ名/ユーザ名と して用意されているものとします。
$ mount.hpci
HPCI共用ストレージからログインサーバのローカルストレージにコピーします。
$ cp -r \
/gfarm/グループ名/${USER}/home/グループ名/HPCI-ID/jobdata/paramA_X \ ~/jobdata/paramA_X
バッチジョブスクリプトで,~/jobdata/paramA_X から必要な入力ファイルを読み込み,
それぞれの入力ファイルに対応する実行結果ファイルは~/jobresults/paramA_X/にコピー します。
一通りのジョブ実行が終わると,~/jobresults/paramA_X/には用意した入力ファイル群に 対応する結果ファイル群が格納されているので,それらの結果ファイル群をHPCI共用ス トレージにコピーします。
$ cp -r ~/jobresults/paramA_X \
/gfarm/グループ名/${USER}/HPCI-ID/home/グループ名/HPCI-ID/jobresults/
同様に,パラメータAの値がYやZであるケースについて,計算機の空き状況に応じ て実行し,全てのジョブ実行が終わると,結果ファイルはHPCI共用ストレージ上にコピ