31
第9回 PCクラスタ ワークショップ@京都 2010年2月19日 1 Catwalk Tutorial Catwalk Tutorial 東京大学 堀 敦史

04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 1!

Catwalk Tutorial

Catwalk Tutorial

東京大学 堀 敦史

Page 2: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 2!

Catwalk Tutorial

ファイルステージング •  ファイルサーバ上のファイルを計算ノード間でコピー Stage-IN サーバ -> 計算ノード

Stage-OUT 計算ノード -> サーバ

•  短所 ‒  ジョブスクリプトに記述 - 間違えるとジョブ失敗 ‒ 遅い •  多くの場合,バックグラウンド処理なので速度の考慮なし •  計算時間にステージングの時間がプラス

•  長所 ‒  それほど強力なファイルサーバは必要ない

Page 3: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 3!

Catwalk Tutorial

ファイルステージングの例

•  JAXA さんの例

#!/bin/sh     #PBS ・・・      #F_FF10I=/data/input_file    #F_FF20O=/data/output_file      #F_FF30IO=/data/inoutput_file      ./a.out

入力ファイル

出力ファイル

入出力ファイル

Page 4: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 4!

Catwalk Tutorial

Catwalk

•  従来のステージングの欠点を改良 ‒ より並列ファイルシステムに近い使い易さ ‒ より高性能なファイルステージング

•  並列ファイルシステムの欠点も改良 ‒ 強力なファイルサーバの必要性 ‒ システム依存性をなくし,可搬性を向上

•  協調的なシステム ‒ 既存の分散/並列ファイルシステムとの共存,使い分けが可能

Page 5: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 5!

Catwalk Tutorial

Catwalk の概要

•  ふたつの Catwalk ‒ Catwalk •  オンデマンドファイルステージング •  ステージングの記述が不要なので、記述を間違えない •  NFS と比肩できる性能

‒ Catwalk-ROMIO •  MPI-IO に特化した Catwalk •  並列ファイルシステムと比肩できる(or それ以上)の性能

•  1台のファイルサーバのみをサポート

Page 6: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 6!

Catwalk Tutorial

Catwalk の特長

•  インストールに root 権限不要 ‒ ビルドして PATH に登録するだけ ‒ 独自の設定ファイルなし

•  特別なハードは不要 ‒ ファイルサーバ 普通のディスクとネットワーク

‒ 計算ノード 普通のディスクとネットワーク

‒ ネットワーク Ethernet (GbE) で十分

•  対象となるファイルは普通のファイル ‒ 変換やコピーの必要なし

Page 7: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 7!

Catwalk Tutorial

Catwalk のモデル •  ファイルサーバにあるファイルを計算ノードからアクセスできる

‒ プログラムからは Catwalk の存在は見えない •  必要に応じて計算ノードのディスクにキャッシュを生成する

‒ キャッシュはプログラムの終了時に自動的に削除 •  計算ノードに書込まれたファイルはファイル最終的にファイルサーバ上に書込まれる

‒ MPI-IO で生成しても通常のファイルとして生成

Page 8: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 8!

Catwalk Tutorial

Catwalk の使い方モデル •  個人が使っている PC あるいはログインサーバ上のファイルを,クラスタから直接アクセス(しているように見せかける)!

•  陽にクラスタファイルシステムにコピー不要!•  Catwalk の性能は並列/分散ファイルシステムに負けない!(どっちが良いかはケースバイケース)

並列/分散 ファイルシステム ではない

Page 9: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 9!

Catwalk Tutorial

Catwalk の内部 リング分散プロセス構造! 並列アクセスを出来るだけ逐次アクセスに!!→ シークを減らして高速化!

•  Stage-IN!–  対象ファイルを全てローカルディスクにコピー!

•  Stage-OUT!–  逐次全体コピー!

•  MPI-IO Read!–  Stage-IN と同じ!

•  MPI-IO Write!–  並列書込要求を逐次書込に変換

Page 10: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 10!

Catwalk Tutorial

アジェンダ

•  ふたつの Catwalk ‒ 逐次/並列プログラム Catwalk

‒ 並列プログラム(MPI-IO) Catwalk-ROMIO

•  それぞれについて ‒ 使い方の詳細 ‒ 現版の制限事項

•  性能

Page 11: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 11!

Catwalk Tutorial

How to Use

Catwalk

Page 12: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 12!

Catwalk Tutorial

Catwalk の使い方 – 基本 % catwalk -nh 2 mpirun -np 4 catwalk a.out!!nh : ノード(ホスト)数 !プロセス数ではない!!

•  Stage-IN!: a.out 内で read-open したファイルが a.out のカレントディレクトリにコピー!

•  Stage-OUT: a.out がwrite-open したファイルがプログラム終了後にファイルサーバにコピー!

Page 13: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 13!

Catwalk Tutorial

計算ノードの対象ファイル

•  Stage-IN,Stage-OUT 共通 ‒ ファイル名は "/" なしでなければならない ‒ プログラム中でカレントディレクトリ変更可能 ‒ カレントが NFS 等の場合の動作保証なし

•  Stage-IN ‒ カレントディレクトリに同名ファイルがない事

•  Stage-OUT ‒ カレントディレクトリのファイルをサーバへ ‒ いったん作ったファイルを消した場合,対象外

Page 14: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 14!

Catwalk Tutorial

サーバの対象ファイル

•  Stage-IN % catwalk ‒nh 32 ‒path A:B:C mpirun catwalk a.out

a.out で read-open したファイル名をサーバのディレクトリ A,B,C の順で探し,あればコピー.

•  Stage-OUT % catwalk -path X:Y:Z mpirun catwalk a.out

% catwalk -dir X mpirun catwalk a.out

a.out で write-open したファイルをサーバ上のディレクトリ X にコピー(移動)

Page 15: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 15!

Catwalk Tutorial

Catwalk の使用例- read % cat > DIR/foo.dat

適当なファイル foo.dat がサーバにあるとして

% mpirun ‒np 1 wc DIR/foo.dat

wc: DIR/foo.dat: No such file or directory

計算ノードには foo.dat というファイルが無くても

% catwalk -nh 1 -dir DIR mpirun -np 1 catwalk wc foo.dat

Catwalk を使うことで計算ノード上でサーバ上のファイル DIR/foo.dat を読むことができる

Page 16: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 16!

Catwalk Tutorial

Catwalk の使用例 - write % catwalk –nh 2 mpirun –np 2 catwalk touch X!% ls! X@comp0 ! !X@comp1!% catwalk –nh 2 mpirun –np 2 catwalk touch X!% ls!X@comp0 X@comp1 X@comp0#1 X@comp1#1!% catwalk –nh 2 mpirun –np 2 catwalk touch X!% ls!X@comp0 X@comp1 X@comp0#1 X@comp1#1!X@comp0#2 X@comp1#2!%!

Page 17: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 17!

Catwalk Tutorial

Catwalk の制限事項 •  Dynamic Link Program!•  サポートしている glibc 関数!

creat(2), open(2), fopen(3), stat(2), access(2), !exec() 系列!

•  サポートしているコンパイラ!GNU(g77は除く),Intel,PGI 他!

•  セキュリティな環境で使うことが前提!

Page 18: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 18!

Catwalk Tutorial

How to Use

Catwalk-ROMIO

Page 19: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 19!

Catwalk Tutorial

Catwalk-ROMIO 基本操作 % catwalk -mpi mpirun catwalk a.out!!a.out で MPI_File_open( "catwalk:/xxx/yyy" ) とするとサーバ上の /xxx/yyy がアクセスされる!

% catwalk -mpi mpirun catwalk -dir ZZZ a.out!!Catwalk-ROMIO の一時ファイルを計算ノードのディレクトリ ZZZ に生成する!

Page 20: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 20!

Catwalk Tutorial

Catwalk-ROMIO 応用編 •  ssh-agent 風な使い方!必ずセキュアな環境で使う事!!% catwalk –mpi!export XXX=YYY ...! !メッセージが表示される!% export XXX=YYY ... !それをコピペする!% mpirun catwalk a.out!!...!

% catwalk –kill ! !デーモンプロセスを kill!

Page 21: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 21!

Catwalk Tutorial

Catwalk-ROMIO SSH (1) server% catwalk –mpi –SSH comp32!!Catwalk 環境と SSH port forwarding を設定し!!comp32 に ssh でログイン!

comp32% mpirun catwalk a.out!!server 上のファイルを MPI-IO でアクセス.!

!複数ホップも OK!comp32% catwalk –SSH comp78!comp78% mpirun catwalk a.out!

Page 22: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 22!

Catwalk Tutorial

Catwalk-ROMIO SSH (2) server% catwalk –mpi bash!!Catwalk 環境下の bash を生成!!セキュアな環境でのみ使う事!!

server% catwalk –SSH comp345!!Catwalk 環境を引き継いで comp345 へ!

comp345% mpirun catwalk a.out!!SSH を経由して server のファイルを MPI-IO!

Page 23: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 23!

Catwalk Tutorial

共通オプション

•  Catwalk 及び Catwalk-ROMIO 共通オプション!

ネットワークインターフェイスの指定!!% catwalk -net <IF名> ....!

!IF 名は /sbin/ifconfig で表示されるネットワークインターフェイスの名前.!!例えば eth0, myri0, ib0, ...

Page 24: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 24!

Catwalk Tutorial

Catwalk-ROMIO の制限 •  Catwalk(非ROMIO)と同時に動かない!•  SCore 付属の MPICH でしか動かない!•  MPI-IO の atomic モードには対応していない •  MPI-IO を使った1プロセス1ファイルのアクセス性能は低い!

Page 25: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 25!

Catwalk Tutorial

性能比較

Page 26: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 26!

Catwalk Tutorial

Catwalk vs. NFS (1)

•  ひとつのファイルを各プロセスが 1/N 読む NFS Catwalk

0

4

8

12

16

20

0.8 1 10 20

Agg

rega

te B

andw

idth

[MB

/sec

]

File Size [1000MB]

2x1

2x4

2x16

4x1

4x4

4x16

8x1

8x4

8x16

16x1

16x4

16x16

0

4

8

12

16

20

0.8 1 10 20

Agg

rega

te B

andw

idth

[MB

/sec

]

File Size [1000MB]

2x1

2x4

2x16

4x1

4x4

4x16

8x1

8x4

8x16

16x1

16x4

16x16

Page 27: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 27!

Catwalk Tutorial

Catwalk vs. NFS (2)

•  4x16 の各プロセスが 1GB のファイルを書込む際のサーバの負荷 NFS Catwalk

0

20

40

60

80

100

120

0

5

10

15

20

25

30

0 600 1200 1800 2400 3000 3600

Lo

ad

Ave

rag

e (

1 M

in.)

"tim

e c

at /p

roc/

loa

da

vg"

[Se

c.]

Time [Sec.]

Load Average (Left Y-Axis)

time cat /proc/loadavg (Right Y-Axis)

8 MinutesInsensitive

Zone

0

0.5

1

1.5

2

2.5

3

0

0.2

0.4

0.6

0.8

1

1.2

0 600 1200 1800 2400 3000 3600

Lo

ad

Ave

rag

e (

1 M

in.)

"tim

e c

at /p

roc/lo

ad

avg

" [S

ec.]

Time [Sec.]

Load Average (Left Y-axis)

time cat /proc/loadavg (Right Y-Axis)

Stage-OUT Phase

Page 28: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 28!

Catwalk Tutorial

Catwalk-ROMIO vs. PVFS2

•  PVFS2 サーバ4台 Myri10G (10 Gb/s)

•  Catwalk-ROMIO サーバ1台 Ethernet (1 Gb/s)

nodes=16x16

Page 29: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 29!

Catwalk Tutorial

BT-IO ベンチマーク

Page 30: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 30!

Catwalk Tutorial

Catwalk-ROMIO and Lustre

Page 31: 04 Hori CatwalkTutorial - PC Cluster04_Hori_CatwalkTutorial.ppt Author 堀 敦史 Created Date 2/24/2010 1:55:17 AM

第9回 PCクラスタ ワークショップ@京都 2010年2月19日 31!

Catwalk Tutorial

Q&A