RCNP Supercomputer

RCNP supercomputer/Users' guide - Update 3 Oct 2003

# RCNP Supercomputer Users' Guide

Ver.1.0 [3 Oct
2003, H.Matsufuru]

[English]

この手引きでは、利用にあたっての基本的な事項をまとめています。

関連事項:

2003 年 8 月より NQS がバージョンアップされ、NQS II となっています。 詳細は こちら
へ。
ライブラリ、アプリケーションなどの使用法に関しては、 「利用の手引き (2)」
をご覧下さい。
並列計算については、 「利用の手引き (3)」 をご覧下さい。
サイバーメディアセンター (CMC) の SX-5 関連の Web-page は こちら です。
ページの下の方に、マニュアル類を集めたページへのリンクがあります。

### システムの構成について

RCNP のスーパーコンピューターシステム、NEC SX-5 は、
サイバーメディアセンター (CMC)、
レーザー核融合研究所 (ILE) との共同運用です。
全 8 ノードの内、6 ノードが CMC, 1 ノードづつが ILE と RCNP に設置されます。
RCNP のユーザーが利用可能なのは、RCNP 設置の 1 ノード (以下、RCNP-node)、
及び、CMC に設置される中の 6 ノードの使用時間の内、6 分の 1 程度です。

1 ノードには、16 CPU があります。
RCNP ユーザーが利用可能な資源は、次のように使い分けることになります。

RCNP ノード = sx57 (16 CPU): 非並列計算
1 CPU 毎の計算 (ベクトル演算) 用です。 16 CPU の内、1-2 CPU が会話型の処理とテスト用ジョブクラス
に割り当てられ、それ以外の 14-16 CPU が中・長時間 (2, 8 時間) のジョブ・キュー用となります。
走行するジョブの数はシステムの負荷を見て決まるので、 CPU 数以上のジョブが走行する場合もあります。
CMC 設置ノード (6 node x 16 CPU): 並列計算
64 CPU の並列計算まで可能です。 16 CPU 以上の場合には、MPI を用いたプログラミングが必要です。
これらのノードの運用は、CMC によって行なわれ、RCNP はその使用 時間の一部をユーザーとして利用する、という形を取ります。
従って、実際の運用方針は、CMC に従います (CMC のページ参照)。 こちらの設定でも、1 CPU 用のキューが用意されていますが、
RCNP のユーザーは使用しないで下さい。

### login

スーパーコンピューターシステムは、サイバーメディアセンター、
レーザー核融合研との共同運用のため、運用の都合上アカウント名は
汎用計算機システムと異なるものになります。
rcnpXXXX (XXXX は 4 桁の数字) というかたちになります。
汎用計算機システムでのアカウント名への対応は、sx2name
というコマンドを汎用システム上で実行することによってわかります。

% sx2name rcnpXXXX

と入力すれば、対応するユーザ名が出力されます。

実際に login して使うことになるのは、フロントエンド用計算機、
及び、RCNP ノードのインタラクティヴモード 用 CPU です。
Unix シェル環境のもとで、インタラクティブな処理が行えます。
SX-5 上での処理を軽減するために、
出来るだけ、フロントエンド機を使うようにして下さい。

これらの上で、プログラムの開発、コンパイル、ジョブキューの投入などを
行ないます。
どちらの場合でも、ホームディレクトリは SX-5 の RCNP ノードの
ローカルディスク上にある、同一のディレクトリとなります。

フロントエンド・マシン (CMC の計算機) の場合：

まず、login 用の共通のホストにアクセスします。

% ssh -l rcnpXXXX login.hpc.cmc.osaka-u.ac.jp

( Login の仕方については、CMC の web-site に詳しく書いてあります
(こちら)。
)
パスワードが確認されると、login する system を選ぶように指示されるので、
Frontend Terminal の、front02 あるいは front03 を選びます。
この上では、クロスコンパイラー、アナライザーなどのプログラム開発
環境があり、ジョブキューの投入を行なうことも出来ます。

RCNP ノード (sx57) に login する場合:

RCNP ノード上でインタラクティヴモード用に割り当てられているのは、
2 プロセッサーです。
ホスト名は、

sx5.rcnp.osaka-u.ac.jp

です。
外部のネットワークから sx57 への直接のログインはできません。
RCNP の汎用計算機システム senri/saho を経由します。

フロントエンド、RCNP の汎用計算機とも、local network
の外部からのアクセスには ssh を使用します。

これらの CPU は、テスト用短時間ジョブ (キュークラス RS)
の実行にも使用されます。
コンパイルについては、フロントエンド機でのクロスコンパイラーの方が
高速です。

ファイルの編集などの作業は、NFS 接続によって、RCNP メインシステム
(senri) からも行なうことが出来ます。
senri からアクセスする際には、各自の SX5 の home ディレクトリは
/home.sx5/rcnpXXXX に、work ディレクトリは /work.sx5/rcnpXXXX
に、それぞれマウントされています
( 各ディスク領域については次の項を参照 )。

### パスワードの変更

パスワードの変更は、ｓｘ５７上で、ｙｐｐａｓｓｗｄを使って行なって下さい。

### ディスク

RCNP ユーザー用のディスクは、RCNP ノードのローカルディスクに置かれます。
次のような使用領域が用意されています。

MP(sx57) MP(cmc) MP(ibm) hosted speed(sx57) speed(cmc) size quota comment
/sx/rcnp/home /sx/rcnp/home /home.super sx57 high mid 1TB 5GB/user
/sx/rcnp/work /sx/rcnp/work /work.super sx57 high mid 2TB none
/sx/rcnp/data
/data.super ibm slow
3TB none
/sx/rcnp/data2
/data2.super fss slow
5.5TB none
/sx/rcnp/data3 /data3.super fss slow 2.3TB none only for Kanazawa-U
/sxshort/rcnp /sxshort/rcnp
CMC mid high 8TB none

/sxshort/rcnp は、３センター共用で、データには２週間の寿命があります。
（状況により２週間で自動的に消去されない場合もありますが、運が良い程度に思って下さい。）

どのディスクシステムも共用の資源ですので、
不用になったファイルは速やかに消して下さい。

/sx/rcnp/work のクラスタサイズは 4 MB です。
ファイルのサイズを 4 MB 単位で換算しますので、
どんな小さいファイルでも、自動的に最小 4 MB は消費してしまいます。
小サイズのファイルは、home あるいは senri
のディスクに置くよう心がけて下さい。

これらのディレクトリの下に、各ユーザーのディレクトリ
(rcnpXXXX) が作成されます。

RCNP のメインシステム、 senri から、上の二つのディスク領域は
NFS によって参照することができます。
逆に、SX-5 から senri のディスクを参照することは出来ません。
home 領域のクラスタサイズもそれほど小さくはないので、
小サイズのファイルは、senri のディスクに置くか、あるいは
tar コマンドでまとめて置くなどして下さい。

### プログラムのコンパイル

コンパイルは、sx57 上でインタラクティヴ・モードで、あるいは
フロントエンド上でクロスコンパイラーを使用して行ないます。

フロントエンド上のクロスコンパイラを推奨します。
sx57 上のコンパイラは、整合性の確認や、
コンパイラのバグなどの状況においてのみ使用してください。
sx57 でのコンパイルは遅く、それゆえに負荷も高く、通常のジョブを妨害します。
貴重なベクトルプロセッサを有効に使うために、
コンパイラはフロントエンドで使って下さい。

使用可能な言語は、FORTRAN90, HPF, C, C++ です。
FORTRAN77 はサポートされませんのでご注意下さい。
(Fortran77 にあって 90 にないような命令が使えないという意味です。)

並列化については、 ノード間並列 (16 CPU 以上) については MPI、
ノード内並列については自動並列化に加えて MPI, HPF, OpenMP が
使用出来ます。

Fortran90 の場合:

interactive (sx5) では f90
Frontend では (cross compiler) sxf90
がコンパイルコマンドです。
Fortran 以外の言語、自動並列化については CMC の web-page
にあるマニュアルを参照して下さい。

MPI の場合:

interactive (sx5) では mpif90
Frontend では (cross compiler) sxmpif90
がコンパイルコマンドです。

### ジョブ・キュー システム

#### RCNP ノードのキュー設定

RCNP ノードの CPU は、単一 CPU での計算用のキューのみで使用します。

queue CPU Time memory (default/max) notice
RS@rcnp 1-2 5min 2/16 GB 会話型処理と共用
RM@rcnp 14-16 2 hours 2/8 GB -
RL@rcnp 14-16 10 hours 2/32 GB -

ユーザーあたりの実行ジョブ数の制限はありません。

14-16 CPU が RM@rcnp と RL@rcnp に割り当てられます。
この二つのキューでは、ジョブが終了するまで CPU を占有します。
走行するジョブの数はシステムの負荷を見て決まるので、
CPU 数以上のジョブが走行する場合もあります。
逆にメモリ負荷が高い場合など、
CPU 数未満のジョブしか走行しない場合もありますが、sx57 では稀です。

使用するメモリは、全体で 128 GB までなので、あまり大きなメモリを
使用するプログラムはキューの優先度が下がる場合があります。
なるべく投入する際にメモリサイズ (max) を指定して下さい。
(次の「実行シェルスクリプトの例」の項目を参照。)
program のサイズは、size コマンドでおおよその値が分かります。
一度投入されて実行された program は、run の log file を見れば
正確な値が分かります。

デフォルトの場合を含め、メモリ使用量を指定すると、
実際に使用するかどうかに関わらず、
キューイングシステムがその量を確保してしまいます。
大きすぎる量を指定すると、実際に使われていなくても、後続のジョブが
「メモリ不足」のため実行待ちになる事があるので、適切な量を指定して下さい。
もちろん指定量以上を使用するとジョブは異常終了します。
メモリが混雑している場合で、デフォールトより少ない使用量の場合は、
少ない使用量を陽に指定すると走行しやすくなります。

#### CMC ノードのキュー設定

並列計算用のプログラムの実行は、CMC ノードを利用して実行します。

CMC のページを参照して下さい。

#### ジョブの投入

以下は 2003 年 8 月より搭載されている NQS II に沿って書かれています。
従来の NQS の仕様にそったコマンドオプションやスクリプトは、
例えば qstat の変りに (大文字の) QSTAT
を用いれば使えます。

実行スクリプトを NQS に投入するには、フロントエンド、あるは SX5
のインタラクティブモードから qsub コマンドを使用します。

% qsub script.sh

script.sh は実行スクリプトを表しています。

ジョブの実行状況などを確認するには、qstat コマンド、
あるいは jobr コマンドを用います。
後者の場合、現在投入されているすべてのジョブの状況がわかるので便利です。

投入したジョブを削除するには、qdel コマンドを使います。

% qdel job-id

job-id は投入したジョブの ID で、投入時、あるいは
qstat や jobr などのコマンドで調べることが出来ます。
例えば SX5 (RCNP ノード) から投入したジョブの場合、XXXXX.rcnp
(XXXXX は数字) という形をしています。

#### フェアシェア・スケジューリング

ジョブの実行を各ユーザーについて公平に行なうために、
フェアシェア・スケジューリングが導入されます。
(テスト期間中 (26 Dec 2000 - 4 Jan 2001) は運用されません。)
それまでの使用実績に応じて、次に投入されたジョブの優先度が決まる
システムです。
過去のある期間にあまり実行していないユーザーに優先的にジョブの
実行を行ないますので、これまでに起こったように、キューに投入された
順番に従って実行されるためにいつまでたっても後から入れたジョブが実行
されない、といった問題は少なくなると期待されます。

#### 実行シェルスクリプトの例

以下は、RM_rcnp クラスに投入する場合のスクリプト
の例です。

-------------------------------------------------------------------
#!/bin/csh
#PBS -q RM@rcnp <-- 投入するキューのクラス
#PBS -o data <-- ログのアウトプット用ファイル
#PBS -l memsz_job=1gb,cputim_job=2:00:00 <-- 最大メモリ使用量、CPU 時間の設定
setenv F_FILEINF YES <-- プログラムの file I/O 情報を得るための設定
setenv F_PROGINF YES <-- プログラムのラン情報を得るための設定
cd ~/WORKING_DIR/ <-- 作業ディレクトリを指定
./a.out
-------------------------------------------------------------------

「<--」 以右はコメントです。
1-3 行目については、queue の submit の際のオプションによって指定
することも出来ます。

デフォルトのメモリ使用量以上のメモリスペースが必要なプログラム
については最大メモリ使用量を設定する必要があります。

#PBS -l memsz_job=1gb 等のｌオプションは
1 行にまとめて書く必要があります。

プログラムのラン情報を得るための設定は、特にスピードが落ちたりは
しないそうなので、付けておくとよいでしょう。

### ライブラリ、アプリケーション

使用可能なライブラリやアプリケーションについては、
RCNP あるいは CMC の web-site にある説明やマニュアルをご覧下さい。

### プログラム開発環境

効率のよいプログラムを書くために、プログラムのプロファイリング
のためのアプリケーションが用意されています。
CMC の web-site をご覧下さい。

### コンサルティングサービス

ヘルプデスクが開設されています。
SX-5 に関係した、システム使用上の質問、プログラムの開発や
実行に関する相談などを受け付けます。
質問は、ウェブのフォームによってブラウザ上から入力します。
回答もウェブのフォームを通して行われます。

ヘルプデスクの URL:

http://helpdesk.center.osaka-u.ac.jp/

ヘルプデスクの利用の手引き ( Dec 2000 現在はドラフト版) が
pdf フォーマットにて用意されています。
上記ヘルプデスクのサイトからダウンロード出来ます。

ヘルプデスクでの質問、回答の内、多くのユーザーにとって有益なものに
ついては、FAQ としてまとめられる予定になっています。
(2003 年 1 月現在、まだのようですが。)

また、RCNP の機器やネットワークに特に関連した事項については、
RCNP のメインシステムと同様に、

consult@rcnp.osaka-u.ac.jp

へ、メールによって質問して頂くことも出来ます。
その際、ヘルプデスクでの処理が適当と判断される場合は、改めて
そちらへ質問して頂けるようにお願いする場合もありますので、
ご了承下さい。

### Update history

Ver.1.0: 3 Oct 2003 H.Matsufuru
RCNP での公開版。
Ver.0.94: 19 Aug 2003 H.M.
NQS II へのバージョンアップに従う改訂。
Ver.0.93: 29-30 Jan 2003 H.M.
こまごまと改訂。
Ver.0.92: 27 Dec 2000 H.M.
(コンサルティング、実行スクリプトの例、その他の変更 )
Ver.0.91: 21 Dec 2000 H.M.
Ver.0.9: 9 Dec 2000 written by H. Matsufuru

Computer and Network Group,
Research Center for Nuclear Physics, Osaka University 2003