Contents

Previous Topic

3. 利用環境

Next Topic

5. PBSによるジョブの投入

4. システムの利用

ユーザーからの利用イメージを以下に示します.

PBS

ご利用のターミナルからTSUBAME2.5を利用する場合,次の手順で資源を使用します.

  • アカウントの取得

    • 学内者(職員,学生)はTSUBAME2.5ポータルから操作
    • 学外者は書類による申請
  • ログインマシン

    UNIX用で,冗長化のため2台のログインマシンが用意されています.

  • インタラクティブ

    ログインマシンにリモートログインをすると,ここのマシンのどれかに着地します. ここで,デバック,ジョブの投入準備などを行います.

  • PBSサーバー

    バッチキューを有効に利用するために,キューイングシステムとしてPBSが採用 されています.PBSサーバーから各バッチにジョブがスケジューリングされます.PBSの利用に関しては PBSの利用方法を参照してください.

  • バッチ計算

    投入されたジョブの要求に応じた資源に基づいて計算が実施されます.

4.1 アカウントの取得

TSUBAME2.5を利用する場合は,専用のアカウントが必要です. アカウント取得方法 に示す流れに沿って手続きをお願いいたします.

【重要】

学内ネットワークからTSUBAME2.5にログインする時は,鍵認証とパスワード認証が利用できますが 学外ネットワークからのログイン時は鍵認証のみ になります.

鍵認証利用時は,TSUBAME2.5ポータルから認証鍵のアップロードを実施してください.

【重要】
初期パスワードを設定しないとTSUBAME2.5にログインできませんので必ず最初にパスワードを設定してください.

4.2 ログイン

TSUBAME2.5の計算サービスを使うためにはまず初めにTSUBAME2.5へログインする必要があります. ログインにはsshというソフトウェアをお使いください. sshとは遠隔のサーバに安全にログインするためのソフトウェアです. sshを用い,TSUBAME2.5へログインするために必要な情報は以下の通りです.

ログインノード名        login-t2.g.gsic.titech.ac.jp
ログイン名              TSUBAME2.5アカウントのログイン名
パスワード              TSUBAME2.5アカウントのパスワード
認証方式                学内からはパスワード,公開鍵方式共に許可. 学外からは公開鍵方式のみ許可.

次のように接続してください.

> ssh -Y login-t2.g.gsic.titech.ac.jp -l login_name

※ログイン名は -l (Lの小文字) を使用します.

初めての接続時には次のような表示が出てまいります

The authenticity of host 'login-t2.g.gsic.titech.ac.jp (131.112.4.49)' can't be established.
RSA key fingerprint is be:2c:b4:06:47:b3:f2:4a:f4:f6:f0:80:87:ff:ae:f5.
Are you sure you want to continue connecting (yes/no)?

接続しようとしているマシンに間違えない場合に “yes” としてください.この後でパスワードを聞いてきます.

ログインノードへ接続すると,自動で実際に作業等を行ういずれかのインタラクティブノードへ転送されます.

インタラクティブノードとバッチノードは,共に同じディスクを共有していますので, /homeなどはマシンを意識することなく利用できます. また,GPUは全てのインタラクティブで利用できます.

インタラクティブノードやログインノードの障害が原因で, TSUBAMEに全くアクセスできなくなる事を防ぐため,ログインノードは2台用意されており, 転送されるインタラクティブノードも2つのグループに分けられています.

  • 第1グループ (login-t2-1.g.gsic.titech.ac.jp)

    t2a006161 から t2a006170 の10台のいずれかに転送されます.

  • 第2グループ (login-t2-2.g.gsic.titech.ac.jp)

    t2a006171 から t2a006180 の10台のいずれかに転送されます.

※login-t2.g.gsic.titech.ac.jpにアクセスしようとすると実際にはDNSラウンドロビンによって login-t2-1.g.gsic.titech.ac.jp または login-t2-2.g.gsic.titech.ac.jp のいずれかのログインノードへ接続されます. 障害等でTSUBAME2.5へ接続できない場合は,障害のでていないもう一方のログインノードを 以下のように直接指定する事で接続できる場合がありますのでお試しください.

> ssh -Y login-t2-1.g.gsic.titech.ac.jp -l login_name
> ssh -Y login-t2-2.g.gsic.titech.ac.jp -l login_name

4.3 パスワード管理

パスワードの管理はユーザー責任になりますので,しっかり管理をお願いします. 次の手順で定期的にパスワードを変更してください.

  • 課金システムの TSUBAME2.5ポータルからパスワード変更 を選択
  • 同一パスワードを2回繰り返し入力する
  • 一旦ログアウトして,新パスワードを確認する

※ユーザーが個人で変更したパスワートは管理者にも分りません. しっかり管理をお願いします.

なお,パスワード設定後に 有効期間(168日) を経過すると,TSUBAMEへのssh接続時にパスワードの変更を求められますが, ここでパスワードを変更することはできません.必ず TSUBAME2.5利用ポータルから変更 を行ってください.

4.4 インタラクティブ

インタラクティブノードへのログインに成功すると次のような表示になります.

jyoucyu-n-aa@t2a006168:~>
 (アカウント名@マシン名:~>)

マシン名は,t2a006161~t2a006180 です. このノードでは,実行前のプログラムの作成,デバック等を行います.

ここからPBSを使用してバッチキューへジョブを投入します.

バッチキューへのジョブ投入方法詳細については 5. PBSによるジョブの投入 を御覧ください.

4.5 バッチジョブ

本システムでは,バッチ処理システムを利用することができます.通常のインタラクティブ処理(コマンドの実行)では,利用者が各々のタイミングでアプリケーショ ンやコマンドを実行するため,計算機資源の利用において競合が発生する確率が高くなります. これに比べて,バッチ処理では,投入したジョブはシステムによってスケジューリングされるため, 他のアプリケーション,ジョブの影響を受けることなく,計算機資源を効率良く利用することができ ます. バッチ処理システムの利用手順は,以下のようになります.

  1. ジョブの作成
  2. ジョブの投入
  3. ジョブの状態確認
  4. ジョブの結果確認

これらについて,順に説明します.PBSに与えるオプションの説明は 5.2 PBSオプション をご参照ください.

4.5.1 ジョブの作成

ジョブは,バッチ処理で実行したいコマンドを記述したシェルスクリプトです. これ以降,ジョブスクリプトと呼びます. 以下にジョブスクリプトの例を示します.

例 ジョブスクリプトmyjob.sh の中身
#!/bin/sh
#
# sample jobscript
#
cd $HOME/test
./myprog < input_data
※ ディレクトリを無指定の場合は$HOMEが実行ディレクトリになります.
上の例 myjob.sh は,$HOME/test ディレクトリ($HOME は各ユーザのホームディレクトリ)に移動し, そのディレクトリにあるプログラムmyprog を実行するジョブスクリプトです. このようなコマンドを羅列したファイルをまず作成します.

※ カレント(ジョブを投入した)ディレクトリで実行したい場合は,$HOMEの部分を次のように記述します.

cd ${PBS_O_WORKDIR}    (大文字の"オー"です)

※実行シェルには実行権が必要ですので事前に確認してください.

ls -l test.sh
-rwxr-xr-x 1 login_name users   225 2012-11-02 16:45 test.sh

パーミッションのオーナー欄に”x”が表示されていることを確認してください.ない場合は

chmod u+x test.sh
あるいは
chmod 755 test.sh

などとして実行権を付与してください.

※ MPIジョブにつきまして,利用環境によりジョブスクリプトが若干違ってきますので, 5.1.4 MPIジョブ をご参照ください.

4.5.2 ジョブの投入

バッチ処理システムを利用するには,ジョブスクリプトをジョブとしてキューに投入します. 投入にはt2sub コマンド(PBSシステムをカスタマイズ)を使用します. このコマンドで投入するジョブをバッチジョブと呼びます. 標準出力,エラー出力はバッチジョブを投入したディレクトリに出力されますので, 出力を残したいディレクトリに移動します.ジョブ投入後,プロンプトが返ります.

> t2sub -q S -W group_list=t2gxxxx -l select=8:ncpus=8:mpiprocs=8:mem=45gb -l place=scatter ./intel-open.sh
1118.t2zpbs01

※コマンドオプションの簡単な説明

-q S       : キューの指定(Sキューは従量課金キュー)
-W group_list   : 課金グループを指定
-l select=8:ncpus=8:mpiprocs=8:mem=45gb -l place=scatter
          : 8ノードを使用した64並列指定,ただし,メモリーはノード内(チャンクあたり)総量指定
           資源の指定を省略すると cpus=1,mem=1gbが設定されます.
./intel-open.sh : 実行シェル
※チャンクは,並列ジョブの場合に示す意味が変化します.5章を参照してください.

4.5.3 ジョブID

PBSで投入されたジョブはジョブIDによって管理されます.ジョブの情報を確認したり強制終了する 場合はジョブIDが必要となります.投入されたジョブIDはt2subが正常に実行終了すると標準出力に表示されます.

> t2sub -q -U -l select=1:ncpus=8 ./job.sh
1234.t2zpbs-vm1

4.5.4 ジョブの状態確認

投入したジョブの状態を確認するには,t2stat コマンドを使用します. 通常は自ユーザアカウントの情報のみ表示されますが,-allオプションを付与することで自ユーザアカウント以外のジョブ情報も表示されるようになります. ジョブのキューへの溜まり具合を確認する際などにご利用ください.

> t2stat -a

t2zpbs01:
                                                            Req'd  Req'd   Elap
Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
1006.t2zpbs01   necse    S        intel-samp    --    1   1   54gb 01:00 Q   --
1078.t2zpbs01   necse    S        OTHERS        --    1   1   54gb 01:00 Q   --
1118.t2zpbs01   necse    S        OTHERS      27781   8   8  424gb 01:00 R 00:23

t2zpbs03:
                                                           Req'd  Req'd   Elap
Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
147.t2zpbs03    necse    G        OTHERS      23383   1   1   1gb  01:00 Q  --

などと表示されます.

S の列に表示される,「R」「Q」などの表示はジョブの状態です.各状態の意味はそれぞれ次に示す通りです.

[ジョブの状態一覧]

状態 説明
R    実行中
Q    待機状態
T    移行中(QからRに変化する最中など)
B    ジョブアレイ
X    終了(ジョブアレイのサブジョブ)
H    保留状態
E    終了中(実行済み)
F    終了

キュー名を付与することで対象キューの情報のみを表示できます.また,終了したジョブの一覧を表示する場合は-Hオプションを使用します. 例えば,Gキューに投入した終了ジョブを確認する場合は,次のコマンドを実行します.

> t2stat -H G

t2zpbs03:
                                                            Req'd  Req'd   Elap
Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
140.t2zpbs03    necse    G        OTHERS      11855  --  --    --  01:00 F 00:00
150.t2zpbs03    necse    G        OTHERS       5416  --  --    --  01:00 F 00:00
151.t2zpbs03    necse    G        OTHERS       5464  --  --    --  01:00 F 00:00

ジョブの詳細情報を確認する場合は,-fオプションを使用します. -xオプションを併用することで,ジョブがどの状態(実行中,実行待ち,終了)であっても表示できるようになります.

> t2stat -xf 139.t2zpbs03

Job Id: 139.t2zpbs03
   Job_Name = OTHERS
   Job_Owner = nec@t2a010017
   resources_used.cpupercent = 0
   resources_used.cput = 00:00:00
   resources_used.mem = 1500kb
   resources_used.ncpus = 1
   resources_used.vmem = 11360kb
   resources_used.walltime = 00:00:00
   job_state = F
   queue = G
   server = t2zpbs03
   Checkpoint = u
   ctime = Thu Sep  9 20:36:44 2010
 ......

[オプション一覧]

オプション   概 要
-help        ヘルプメッセージを表示
-all         全ユーザのジョブ情報を表示
-J           ジョブアレイのみ表示
-t           ジョブ,ジョブアレイオブジェクト,およびサブジョブの状態を表示
-p           Percentage Completedのカラム付で表示
-x           実行中,実行待ち,終了したジョブの状態を表示
-a           実行中,待機中ジョブ一覧を表示
-H           終了したすべてのジョブ一覧を表示
-i           待機中の全てのジョブ一覧を表示
-r           実行中の全てのジョブ一覧を表示
-u userlist  指定したユーザのジョブ一覧を表示
-n           ジョブに割り当てられたホスト,仮想プロセッサを表示
-s           ジョブコメントを表示
-T           待ち状態ジョブの開始見積もり時刻を表示
-w           横幅を広くして表示
-1           1ジョブ毎に1行表示に整形.-s, -nのみ組み合わせ可能
-Q           キューの現在のジョブ実行状況を表示
-q           キューに設定された制限を表示
-B           PBSサーバの情報を表示
-f           ジョブ,キュー,サーバの詳細情報を表示
-G           サイズ表示をGBで表示
-M           サイズ表示をメガワード(MW)単位で表示.1ワード=8バイト
--version     PBSバージョンを表示

4.5.5 ジョブの結果確認

ジョブが終了すると,そのジョブの実行結果ファイルが得られます. デフォルトの実行結果ファイ ル名は,「ジョブ名.o ジョブID」です. ジョブID はPBSの キュー毎に割り当てられる一意の識別 子です. このファイルには,標準出力(.o*)の内容と標準エラー出力(.e*)の内容が出力されます. ファイルの標準的な出力先は,ジョブを投入したディレクトリです.

$ ls
OTHERS.e163      OTHERS.o163

などとなります.出力ファイル名を任意の名前にする場合は,-Nオプションを使用します.

4.5.6 ジョブ実行情報・課金情報

ジョブ実行情報および課金情報は標準エラー出力の末尾に,ジョブの出力内容に追加の形で出力されます. ジョブが使用リソースおよび課金係数,消費時間などが出力されます.

================================================
[Your accounting ID]
 group id            : t2gsample
------------------------------------------------
[Job information]
 job id              : 145776.t2zpbs-vm1
 queue               : U
 num of used node(s) : 1
 used node(s) list   :
  t2a001130-vm1
 used cpu(s)         : 8
 specified walltime  : 01:00:00 (3600 sec)
 used walltime       : 00:07:23 (443 sec)
 used memory         : 4220308kb
 job exit status     : 0
------------------------------------------------
[Accounting factors]
 x 1.0 by group
 x 0.7 by queue
 x 1.0 by job priority
 x 0.9 by job walltime extension
 = 0.63 is the total accounting factor
------------------------------------------------
[Expense information]
 consumed TSUBAME point         : 280 / 3600 point(s)
 consumed budgets with this job : 1 yen
If you specified the walltime exactly,
 this job will cost 224 / 3600 TSUBAME point(s) which is equivalent to 1 yen.
================================================
【重要】
  • MPIジョブ等は,ランク = 0 が動作したノードの情報を表示します.
  • ここで表示される金額は該当ジョブの利用目安です.精算は使用時間で行なわれます.
  • 標準エラー出力の終了コード(job exit status)がマイナスの場合は課金されません.

4.5.7 ジョブの削除

投入したジョブを,終了を待たず削除するには t2del コマンドを使用します.

> t2del 147.t2zpbs03

実行状態のジョブを削除する場合は,-W forceオプションを追加します.キュー待ち状態のジョブも削除可能です.

> t2sub -q -S -l select=1:ncpus=8 ./job.sh
1234.t2zpbs01
> t2del -W force 1234.t2zpbs01

4.5.8 sshログイン

ノード占有系のサービスに対しては,ジョブが確保した計算ノードに対して直接sshログインを行うことができます.

5.9 SSH直接ログイン を参照ください.

4.5.9 課金グループでの実行状況確認

バッチキューに投入されている同一課金グループのジョブを表示することができます.

> t2group -g t2gxxxxxxx (TSUBAMEグループを指定します)
                                                                           Req'd   Req'd       Elap
Group         Job ID             Username  Queue   Jobname     NDS   TSK   Mem     Time    S   Time
--------- ------------------ -------- ------- --------- ----- ----- ------- ----- -------- --- --------
t2gxxxxxx   3637xx.t2zpbs03    xxxxx1       G     OTHERS        1     1     1gb   02:00:00  R  00:12:18
t2gxxxxxx   3637xx.t2zpbs03    xxxxx2       G     OTHERS        8     64   64gb         0   Q

また,オプション無しでコマンドを発行すると課金グループの利用状況を表示することができます.

> t2group
Groups users restrict_apps t2gxxxx  t2gxxxx-Rsv 2 of User xxxxxx
-------------Group-------------|-------FixedQueue-------|-------MeasuredRateQueue-------
Name                 Condition | Factor Condition units | Factor Condition           sec
t2gxxxx              used      |    1.0 used          2 |    1.0 used            5561124
t2gxxxx-RsvTst       used      |    1.0 stopped       0 |    1.0 used            1080000

4.6 ストレージの利用

TSUBAME2.5では,homeの利用以外にもdata領域としてGPFS, work領域としてLustreなどの様々な並列ファイルシステムを 利用することができます.data領域はテープライブラリシステムと連動した階層型ファイルシステムを構成しているため, 数十~数百TB規模のデータの保存や大規模データ処理アプリケーションでの利用に向いているのに対し, work領域はHPCシミュレーションなど大規模並列アプリケーションでも高いスループット性能が必要なアプリケーションでの 利用に向いております.

4.6.1 home

ユーザーあたり 25GBを利用できます.利用状況の確認は t2quota コマンドを使用します.

> t2quota

4.6.2 data

data領域(/data0)はテープライブラリとGPFSファイルシステムが連動した階層型ストレージとして構成され, グループあたり 最大30TB のファイルシステム領域を利用できます.ただし,テープライブラリへマイグレーションされた ファイルはQuotaの制限対象にはなりません.

利用方法が変更されています. 2016年度のグループディスク/data0の運用変更について もご参照ください.

  • マイグレーション (この機能は2016年4月よりご利用いただけません)

    data領域に作成したファイルは定期的にテープライブラリへマイグレーションされます. マイグレーションされる条件は以下のとおりです.

    • 4週間アクセスがない4Mbytes以上のファイル .

    • ファイル名の拡張子が.archiveでかつ4Mbytes以上のファイル
      • アクセスの有無は関係しません .
    また,上記の条件を満たすファイルにおいても以下のファイルはテープライブラリへマイグレーションされません.
    • ファイル名の拡張子が.noarchiveであるファイル .

    マイグレーションされたファイルのinode情報はファイルシステム内に残るためテープライブラリへ マイグレーションされたファイルもアクセス可能です.

  • リコール

    テープライブラリへマイグレーションされたファイルをファイルシステムへリコールするために特別操作は必要あ りません.マイグレーションされたファイルであってもファイルシステムシステム上のPATHおよびファイル名で 透過的にアクセスすることができます.しかし,テープライブラリからファイルシステムへファイルがリコール されるので,ファイルシステム上に存在するファイルよりも読み込みに多くの時間を要します.

data領域はU/Vキューからはアクセスできません のでご注意ください.

4.6.3 work

work領域はLustreファイルシステムで構成され,グループあたり最大30TBを利用できます. Lustreは,ディレクトリ単位でその設定を変更することが出来ます.以下にその方法を以下に記します.

[設定方法]
/usr/bin/lfs コマンドのサブコマンドsetstripeで設定,getstripeで設定の確認ができます.
setstripe,getstripeの使用方法は下記になります.

> lfs getstripe -d ./stripe8
stripe_count:   1 stripe_size:    1048576 stripe_offset:  -1
これは,ディレクトリ"stripe8"の情報を取得しています

> lfs setstripe -c 8 -s 64k ./stripe8
これは,"stripe8"を8ストライプ,64kで構成する指定をしています

> lfs getstripe  -d ./stripe8
stripe_count:   8 stripe_size:    65536 stripe_offset:  -1
設定の反映を確認しています
また,利用方法はhelpも参考になります.
$ lfs help setstripe
setstripe: Create a new file with a specific striping pattern or
set the default striping pattern on an existing directory or
delete the default striping pattern from an existing directory
usage: setstripe <filename|dirname> <stripe size=""> <stripe start=""> <stripe count="">
       or
       setstripe -d <dirname>   (to delete default striping)
        stripe size:  Number of bytes on each OST (0 filesystem default)
        stripe start: OST index of first stripe (-1 filesystem default)
        stripe count: Number of OSTs to stripe over (0 default, -1 all)

$ lfs help getstripe
getstripe: To list the striping info for a given filename or files in a
directory or recursively for all files in a directory tree.
usage: getstripe [--obd|-O <uuid>] [--quiet | -q] [--verbose | -v]
                 [--recursive | -r] <dir|file> ...

4.6.4 共有スクラッチ

並列ファイルシステム(Lustre)で構成された共有スクラッチ領域を利用できます. 利用する際には,$TMPDIRに共有スクラッチ領域のパスが設定されます. ジョブスクリプトの中で,作業領域のパスを指定することにより参照可能です.

[]
#/bin/sh

./output_prog > $TMPDIR/output.dat ※共有スクラッチに中間ファイルを出力
./input_prog  < $TMPDIR/output.dat ※共有スクラッチから中間ファイルを入力

Gaussianで共有スクラッチ領域を利用する方法は 7.6 Gaussian を参照してください.

4.6.5 ローカルスクラッチ

SSDを高速スクラッチとして使用することができます. 使用する計算ノードが1ノードの場合は,PBSのstagein/stageoutが使用できます. (複数ノードはPBSが対応していません)

1.シェルの準備

以下のように,SSDに展開するディレクトリを記述します.

> cat stg.sh
#!/bin/bash

cd /scr/input
./calc01 < in.dat
#

この例では,stageinするのはcalc01(プログラム) と in.dat(入力データ)です.

2.展開ディレクトリの準備

SSDに展開するディレクトリを準備します.

> pwd
/home/usr2/tokou-t-aa/input
> ls -l
-rwxr-xr-x 1 tokou-t-aa users 266177 2010-11-30 12:05 calc01
-rw-r--r-- 1 tokou-t-aa users      5 2010-11-30 12:05 in.dat

ディレクトリinput に収めてSSDにstageinします.

3.ジョブの投入

この時のディレクトリは次のようになっています.

> ls -l
drwxr-xr-x 3 tokou-t-aa users 32768 2010-11-30 14:04 input
-rwxr-xr-x 1 tokou-t-aa users    69 2010-11-30 14:02 stg.sh

ジョブを投入します.

t2sub -q S -l select=1:mem=20gb
-W stagein=/scr@t2a006161:/home/usr2/tokou-t-aa/input
-W stageout=/scr/input@t2a006161:/home/usr2/tokou-t-aa/output ./stg.sh
(記述の都合で分割していますが継続した1行です)

次の点に注意してください.

  • この記述では,/scrにinputというディレクトリを展開します.
  • 実行シェルのcd とディレクトリを合わせてください.
  • @t2a006161の部分はジョブを投入するホスト(インタラクティブ)を記述してください.
4.結果の回収

計算結果はstageoutで指定したディレクトリに置かれます.

> ls -l
-rw------- 1 tokou-t-aa users   445 2010-11-30 14:04 OTHERS.e6296
-rw------- 1 tokou-t-aa users    91 2010-11-30 14:04 OTHERS.o6296
drwxr-xr-x 2 tokou-t-aa users 32768 2010-11-30 14:04 output

> cd output
> ls -l
-rwxr-xr-x 1 tokou-t-aa users    266177 2010-11-30 12:05 calc01
-rw------- 1 tokou-t-aa users       360 2010-11-30 14:04 fort.12
-rw------- 1 tokou-t-aa users 480000008 2010-11-30 14:04 fort.14
-rw------- 1 tokou-t-aa users 480000008 2010-11-30 14:04 fort.18
-rw-r--r-- 1 tokou-t-aa users         5 2010-11-30 12:05 in.dat

stageoutで指定したディレクトリに内容が戻ります.

5.注意点
  • Gaussian等の大きなファイルを使用するアプリケーションでは共有スクラッチ(Lustre)をご利用ください.

  • SSDで使用できる容量は50GB前後ですがマシンによって異なります.目安は次の通りです.

    S/H            50GB
    V/U            10GB(Vは共有のため利用は推奨できない)
    G              30GB
    S96           160GB
    L256/L512     500GB
    
  • stagein/outはPBSが転送処理を行いますので,ファイル数が多い場合やファイルサイズが大きい場合などは 転送に時間がかかる場合があります.ご使用になるプログラムの処理をご考慮の上,ご利用ください.

  • 研究目的等で,ノード上のSSDを直接使うことが可能になっています. この場合,ジョブ終了時にSSD上のファイルは消去願います.これを実施しない場合は 他のユーザによって参照される可能性がありますのでご注意ください.

  • /scrのパーミッションは 777 に設定されています.不要なファイルは事前に削除可能です.

  • ファイルの所有者が実行者以外のファイルは削除されます.

4.6.6 MPIプログラムでのSSDの使用

プログラムの準備は,FAQ MPIプログラムでの分散ファイルの作成方法を教えてください を 参照してください. 以下の手順でジョブを投入します.

1.実行シェルを準備します.

このシェルは最下層で実行させるシェルです.

> cat mpi_go_opn
#!/bin/bash
#-------------------------- 実行環境の記述
export PATH=/usr/apps.sp3/mpi/openmpi/1.6.5/i2013.1.046/bin:$PATH
export LD_LIBRARY_PATH=/usr/apps.sp3/mpi/openmpi/1.6.5/i2013.1.046/lib:$LD_LIBRARY_PATH
#-------------------------- /scr に移動
cd /scr
#-------------------------- プロセス作業域を作成(この前で rm *しても良い)
if [ ! -d $OMPI_COMM_WORLD_RANK ] ; then
   mkdir $OMPI_COMM_WORLD_RANK
fi
#-------------------------- 作業域に入ります
cd $OMPI_COMM_WORLD_RANK
#-------------------------- MPIプログラムを実行(フルパスで記述)
/home/usr2/toukou-a-jj/tune/sample20 < /home/usr2/toukou-a-jj/tune/in.dat
#-------------------------- 欲しいファイルをコピーします
cp out.* /home/usr2/toukou-a-jj/tune
#-------------------------- 作業域を消去します
cd ../
rm -fr  $OMPI_COMM_WORLD_RANK
#

◎ /scrで作成したファイルは必ず消去してください.

◎ この例は,openMPI+intel です.

  • 使用するMPIに合わせた実行環境を記述してください.
  • MPIに mvapich2 を使用する場合,$OMPI_COMM_WORLD_RANK → $MV2_COMM_WORLD_RANK と書き換えてご利用ください.
  • mpich2 の場合は, $PMI_RANK と書き換えて使用してください.
  • コンパイラが違う場合は,環境指定の記述を修正してください.

  1. PBSでジョブを投入するシェルを用意します.

    (通常のジョブ投入シェルと構成は同じで大丈夫です)

    > cat mpi_go
    #!/bin/bash
    
    export PATH=/usr/apps.sp3/mpi/openmpi/1.6.5/i2013.1.046/bin:$PATH
    export LD_LIBRARY_PATH=/usr/apps.sp3/mpi/openmpi/1.6.5/i2013.1.046/lib:$LD_LIBRARY_PATH
    
    cd ${PBS_O_WORKDIR}
    
    mpirun -n 4  -hostfile $PBS_NODEFILE ./mpi_go_opn
    
    #
    

    先に用意したシェル,mpi_go_opnの実行シェルをMPI環境下で実行させます.


3.ジョブを投入します.

2番で用意したmpi_goシェルを指定してジョブを投入します.

> t2sub -q S -W group_list=t2gxxxx -l select=4:mpiprocs=1:mem=10gb  -l place=scatter ./mpi_go

【注意】

PBSでは,いきなりmpi_go_opnを指定してもRANK=0を含まないノードに 環境引き渡しが行なわれないため,MPIジョブとして全てのシェルを実行させます.

4.6.7 ストレージの制限

各ストレージの利用には制限が存在しています.

  1. /home は 25GB
  2. /work , /data はグループでの利用が購入量まで

となっております. 利用状況の確認は,”t2quota”コマンドで実施します. 以下に使用例を示します.

> t2quota
Disk Quota for User A2400xxx of Filesystem /home
------------------------ Block Limits -----------------------------------|(後半省略)
USER                          KB       quota       limit  in_doubt grace |
A2400xxx                10125920           0    26214400         0  none |


> t2quota -g
Disk Utilization (/work0):
------------------------ Block Limits -----------------------------------|
GROUP                            KB         quota         limit    grace |
t2g-xxxx-new               28889808    1063004405    1073741824        - |

Disk Utilization (/work1):
------------------------ Block Limits -----------------------------------|
GROUP                            KB         quota         limit    grace |
t2g-xxxx-new              31421828*             1             1        - |

Disk Utilization (/data0):
------------------------ Block Limits -----------------------------------|
GROUP                         KB       quota       limit  in_doubt grace |
この例の場合,
  • /work0は1TBの制限値以下でまだ余裕があります.
  • /work1はquotaが1になっていますので,利用購入していないためご利用いただけません. (この状態の場合は,1TBを購入すればご利用いただけます. )
  • /data0は購入実績がありません.

通常,最初のディレクトリにはSGID(セット・グループID)が設定されているため, 生成されるファイル,ディレクトリはTSUBAMEグループのgidが継承されますが, 以下のような場合”users”のファイル,ディレクトリが生成されます.

  • TSUBAMEグループを指定しないバッチでのジョブ実行したとき(テスト実行時)
  • SGIDを外したディレクトリにバッチ以外で読み書きをしたとき.
  • 既存のファイル,ディレクトリをgidを手動で変更したとき.
  • グループディスク外からrsyncで-aオプション等でgid情報を保持するようコピーした場合

これらに該当している場合, “Disk quota exceeded” のメッセージが表示されて 書き込みに失敗いたします. このような場合,ディレクトリにSGIDをセットしていただくのが 確実ですが,次のような方法で回避することができます.

> newgrp t2g-xxxx-sample

4.6.8 I/O 専用ノードの利用

TSUBAMEと大量のファイルを転送していると, インタラクティブノードの時間制限にかかり途中で失敗する場合があります. このような場合,I/O専用ノードをご利用ください.

ホスト名 io-t2.g.gsic.titech.ac.jp
プロトコル SSH/SFTP/SCP

以下に接続例を示します.

$ ssh -Y io-t2.g.gsic.titech.ac.jp -l <login_name>
The authenticity of host 'io-t2.g.gsic.titech.ac.jp (131.112.4.11)' can't be established.
RSA key fingerprint is e8:67:e1:55:7c:cf:88:54:3e:e5:34:9c:37:be:84:42.
Are you sure you want to continue connecting (yes/no)? yes   <-- "yes" と入力
Warning: Permanently added 'io-t2.g.gsic.titech.ac.jp,131.112.4.11' (RSA) to the list of known hosts.
Enter passphrase for key '/home/login_name/.ssh/id_rsa':    <--- 鍵のパスフレーズ入力
Warning: No xauth data; using fake authentication data for X11 forwarding.
Last login: Thu Nov 22 09:00:04 2012 from 172.17.xx.xxx
login_name@io-t2:~>

または

$ sftp <login_name>@io-t2.g.gsic.titech.ac.jp

大量のファイルを転送する場合は,rsync コマンドが有用です. このコマンドはリモートのシステムとローカルシステムのファイルを同期します. もしファイル転送の途中で何らかの理由で中断した場合でも、このコマンドを再度実行した際は前回の続きから転送を開始します. rsync コマンドの利用例を示します.

・TSUBAME 上のファイルを手元の端末に転送する場合
$ rsync -auv login_name@io-t2.g.gsic.titech.ac.jp:~/testdir .
Enter passphrase for key '/home/login_name/.ssh/id_rsa':    <--- 鍵のパスフレーズ入力

・手元の端末上のファイルを TSUBAME に転送する場合
$ rsync -auv testdir login_name@io-t2.g.gsic.titech.ac.jp:~/testdir
Enter passphrase for key '/home/login_name/.ssh/id_rsa':    <--- 鍵のパスフレーズ入力

WinSCPやCyberDuckといったフリーソフトを利用する事も可能です. これらのソフトウエアの使い方はそれぞれのマニュアルをご覧ください.

【重要】

I/O専用ノードは学外/学内からのアクセスを問わず公開鍵認証が要求されます. TSUBAME2.5利用ポータルから鍵登録をしてください. 公開鍵が正しく用意されていないと

"Permission denied (publickey,hostbased)"

等と表示されて接続が拒否されます.

なお,I/O専用ノードから新たに他の計算ノードや学内,学外のサーバへ接続する事はできません. また,ジョブの実行や投入もできません.

4.7 WINDOWS HPC

別途,利用手引を用意しておりますので, windows HPC利用手引 を参照ください.

4.8 Naregi

別途,naregi用利用の手引を用意しておりますので, naregi利用手引 を参照ください.

4.9 ストレージサービス(CIFS)

TSUBAME2.5では,ストレージサービスを提供しており,学内のWindows/Mac端末からCIFSによるアクセスが可能です. TSUBAME2.5からもアクセスできるようになっております.(2011年4月から)

ストレージサービスは,ユーザあたり25GBを利用できます.(TSUBAME2.5の/homeとは別の領域です)

4.9.1 Windowsからの利用

Windows 端末から,全学ストレージにアクセスする方法を記載いたします. ※ 画面はWindows 7 のものですが,XP,Vistaでも利用は可能ですので,適宜ご自身の環境に合わせて読み替えてください.

1.エクスプローラの起動

左下のスタートメニューをクリックし,[すべてのプログラム]→[アクセサリ]→[エクスプローラ]の順に選択します.

_images/ss1.png

2.パスの入力

右上の部分をクリックするとパスの入力が可能となります.

_images/ss2.png

この欄に以下のように入力します.

\\nest2.g.gsic.titech.ac.jp\home0

3.ログイン要求

初めてアクセスする時は,以下のような画面が表示され,ユーザー名とパスワードの入力を求められます.

_images/ss3.png

入力する項目は下記の通りとなります.

ユーザー名     G\ "TSUBAME2.5アカウントのログイン名"
パスワード     "TSUBAME2.5アカウントのパスワード"

4.割り当てディレクトリへのアクセス

ログインに成功すると,以下の画面のようなディレクトリの一覧が表示されますので,ご自身の割り当てディレクトリに アクセスします.

_images/ss4.png

割り当てディレクトリは,TSUBAME内のホームディレクトリに対応しております. 例えば,ホームディレクトリが /home/usr9/A00000001 の場合は,[usr9]→[A00000001]の順にアクセスすることで,割り当てディレクトリへの アクセスが可能です.

_images/ss5.png

5.ストレージの利用

割り当てディレクトリ内であれば,ファイルの保存が可能となっております.

4.9.2 Macからの利用

Macから,全学ストレージにアクセスする方法を記載いたします.(※Mac OS X10.6の例です)

1.Finderの起動

Finderを選択してメニューから,[移動]→[サーバへ接続]の順に選択します.

_images/mac01.png

2.接続

接続先を要求してきますので例のように

cifs://nest2.g.gsic.titech.ac.jp

とします.続けて,登録区分と名前(TSUBAMEアカウントのログイン名)とパスワードを入力します.

_images/mac02.png

マウントボリュームを聞いてきますが,home0が表示されるのでそのままOKしてください. (※認証されない場合はユーザー名の前に g\ をつけてみてください)

3.割り当てディレクトリへのアクセス

ログインに成功すると,以下の画面のようなディレクトリの一覧が表示されますので,ご自身の割り当てディレクトリに アクセスします.

_images/mac03.png

割り当てディレクトリは,TSUBAME内のホームディレクトリに対応しております. 例えば,ホームディレクトリが /home/usr9/A00000001 の場合は,[usr9]→[A00000001]の順にアクセスすることで,割り当てディレクトリへのアクセスが可能です.

_images/mac04.png

4.ストレージの利用

割り当てディレクトリ内であれば,ファイルの保存が可能となっております.

4.9.3 TSUBAME2.5からの利用

TSUBAME2.5から全学ストレージへのアクセスは次の通りです.

  1. 自分のディレクトリの確認

    TSUBAME2.5での自分のディレクトリを確認してください.

    > cd
    > pwd
    /home/usr3/toukou-t-aa
    

    表示されたディレクトリの”/home”を”/nest2”に読み替えたディレクトリが 全学ストレージの対象ディレクトリの場所になります.この場合は

    /nest2/usr3/toukou-t-aa
    

    となります.

  2. データのコピー

    次のようなコマンドを発行してデータのコピーを確認してください.

    > ls /nest2/usr3/toukou-t-aa
    aa.txt  sample.f90
    > cp /nest2/usr3/toukou-t-aa/aa.txt .
    > ls
    aa.txt
    
※ファイルが無い場合は表示されません.