gfarm:File

ペタバイトスケールデータインテンシブ
コンピューティングのためのGrid
Datafarmアーキテクチャ
http://datafarm.apgrid.org/
建部修見
産業技術総合研究所グリッド研究センター
On behalf of the Gfarm project
ペタスケールデータコンピューティング
- Petascale Data Intensive Computing
z 大規模データ計算科学、データマイニング
¾高エネルギー物理学、粒子物理学
¾天文台、地球惑星
¾生命情報工学 . . .
z 大規模ビジネスデータベース
¾e-Japan、電子政府、電子商取引
¾データウェアハウス
¾検索エンジン
すばる望遠鏡
3次元地震シミュレータ
Data Grid Projects in Japan
z ATLAS/Grid Datafarm
¾
¾
AIST, KEK, Titech,
UTokyo, . . .
New Data Grid
Architecture for Petascale
data-intensive computing
and its reference
implementation (Gfarm)
z Japanese Virtual
Observatory
¾
¾
z NARC, Agriculture
z RIKEN, JAIST, Genome
Informatics
z Potential Projects
¾
¾
Bosai, Earthquake
measurement
NASDA, SELENE Luna
exploration
NAO, Titech, AIST, . . .
Distributed databases,
Common access method to
multiwavelength databases,
Statistical analysis
3D earthquake simulator in MIKI
Subaru Telescope
例: CERN Large Hadron Collider 加
速器実験
~2000 物理学者
35 ヶ国
LHCb実験の
検出器
LHC円周
26.7km
ALICE実験の検出器
ATLAS検
出器
40mx20m
7000 トン
トラック
解析モデルスキーム (LHC ATLAS, CMS, …)
z 資源階層 (Tier0,Tier1,Tier2, ...)
1 TIPS = 25,000 SpecInt95
~PBytes/sec
オンラインシステム
Bunch crossing per 25 nsecs.
100 triggers per second
Event is ~1 MByte in size
~100 MBytes/sec
オフラインファーム
~20 TIPS
~100 MBytes/sec
~622 Mbits/sec
or Air Freight
Tier 0
CERN 計算センター
>20 TIPS
Tier 1
ドイツ地域センタ
ー
日本地域
センター
イタリア地域セン
ター
Tier 2
研究所
研究所
~0.25TIPS
データキャッシュ
ワークステーション
研究室
フェルミラボ
~4 TIPS
~2.4 Gbits/sec
Tier2 センター
Tier2 センター
Tier2 センター
Tier2 センター Tier2 センター
~1 TIPS ~1 TIPS ~1 TIPS ~1 TIPS
0 ~1 TIPS
~622 Mbits/sec
Tier 3
PC (1999) = ~15 SpecInt95
大学
100 - 1000
Mbits/sec
Tier 4
Physicists work on analysis “channels”.
Each institute has ~10 physicists working
on one or more channels
Data for these channels should be
cached by the institute server
24 March 2000, WW A/C Panel, P. Capiluppi
高エネルギーデータ解析の流れ
Event
RAW
カロリメータ 1 カロリメータ 2
デジタル値
デジタル値
飛跡検出器 1 飛跡検出器 2
デジタル値
デジタル値
カロリメータ再構成
カロリメータ再構成 飛跡再構成
飛跡再構成
アルゴリズム 1 アルゴリズム 2 アルゴリズム 1 アルゴリズム 2
マグネット 1
デジタル値
磁場再構成
アルゴリズム
~1PB/year
(1MB/event
100MB/sec)
Event
REC
カロリメータ 1 カロリメータ 2
エネルギー
エネルギー
飛跡検出器 1 飛跡検出器 2
位置情報
位置情報
カロリメータ再構成
アルゴリズム
飛跡再構成
アルゴリズム
マグネット 1
磁場
Event
ESD
クラス
ター 1
クラス
ター 2
クラス
ター 3
エレクトロン同定
アルゴリズム
飛跡 1 飛跡 2 飛跡 3 飛跡 4 飛跡 5
ジェット同定
アルゴリズム
電子1
光子1
電子 2
ジェット 1ジェット 2
~300TB/year
100KB/event
Et miss同定
アルゴリズム
Event
AOD
~1PB/year
Et miss
~10TB/year
10KB/event
ペタスケールデータコンピューティング
における要求項目
z 装置、計算機、人、可視化装置などが広域に分散す
るため、高速接続、効率アクセス、安全に共有する
技術
¾ スケーラブルな並列I/Oバンド幅
z > 100GB/s, > 1TB/s (システム内,システム間)
¾ スケーラブルな計算パワー
z > 1TFLOPS, > 10TFLOPS
¾ 安全な認証、効率的で制御されたデータ / プログラム共
有、アクセス制限
¾ システムモニタと管理
z 耐故障性 / 動的再配置 / データ復元、再計算
従来手法(1): HPSS/DFS, . . .
スーパ
コンピュータディスク
ネットワーク (-10Gbps)
ムーバ
ムーバ
ムーバ
メタデータ
ムーバ
マネージャ
ペタスケール
ディスク
テープ メタデータ
キャッシュ
アーカイブ
単一システムイメージ、並列I/O
I/Oバンド幅はネットワークに制限される
従来手法(2): ストライピングクラスタファ
イルシステム – PVFS, GPFS, . . .
ネットワーク (-10Gbps)
計算
ノード
計算
ノード
I/O
ノード
I/O
ノード
ファイルストライプ
メタデータ
マネージャ
メタデータ
単一システムイメージ、並列I/O
I/Oバンド幅はネットワークに制限される
ペタバイトスケールコンピューティングに向け
て
z 広域における効率的な共有
¾ 広域高速データ転送
¾ 広域データ複製管理
z TB/sを超えるスケーラブルなバンド幅のために
¾ I/Oバンド幅はネットワークバンド幅に制限される
¾ ローカルI/Oを積極的に利用
¾ ネットワークのデータ移動を可能な限り避ける
z 耐故障性
¾ 広域ネットワークの一時的不通はおこりがち
¾ ノードやディスクの故障もおこりやすい
z 根本的に新しいパラダイムが必要
提案手法:広域データ並列ファイルシス
テム
ネットワーク
計算、
計算、
計算、
計算、 メタデータ
I/Oノード I/Oノード I/Oノード I/Oノード マネージャ
N x 100MB/s
ファイル断片
メタデータ
単一システムイメージ、並列I/O
ローカルファイルビュー、アフィニティスケジューリング
主大規模ファイルに対し局所性を利用
提案手法(2): グリッド上の広域データ
並列ファイルシステム
z グリッド上のクラスタ・オブ・クラスタファイルシステム
¾ 耐故障性と負荷分散のため、クラスタ間にファイル複製
¾ クラスタファイルシステムの広域拡張
z ファイルのブロックサイズはブロックごとに自由 – ファイル断片
z 計算ノードとI/Oノードを統合
z 並列I/O、並列ファイル複製、. . .
z ローカルI/Oを利用したスケーラビリティ
¾ ローカルファイルビュー – グリッド並列I/O API
¾ データ分散に応じたファイルアフィニティスケジューリング
z グリッド環境における耐故障性、負荷分散
¾ ファイル複製、生成履歴をファイルシステムメタデータで一
貫して管理することによりデータ復元 - 複製は負荷分散
にも利用
Gfarm cluster-of-cluster filesystem (1)
z Extension of cluster
filesystem
¾ File is divided into file
fragments
¾ Arbitrary length for each
file fragment
¾ Arbitrary number of I/O
nodes for each file
¾ Filesystem metadata is
managed by metaserver
¾ Parallel I/O and parallel
file transfer
z Cluster-of-cluster
filesystem
¾ File replicas among (or
within) clusters
MS
z fault tolerance and load
balancing
MS
¾ Filesystem metaserver
manages metadata at each
Inter-cluster
site
~10Gbps
Metaserver
Gfarm cluster-of-cluster filesystem (2)
z Gfsd – I/O daemon
running on each
filesystem node
¾ Remote file operations
¾ Authentication / access
control (via GSI, . . .)
¾ Fast executable
invocation
¾ Heartbeat / load monitor
z Process / resource
monitoring, management
z Gfmd – metaserver and
process manager running
at each site
¾ Filesystem metadata
management
¾ Metadata consists of
z Mapping from logical
filename to physical
distributed fragment
filenames
z Replica catalog
z Command history for
regeneration of lost files
z Platform information
z File status information
z Size, protection, . . .
Extreme I/O bandwidth (1)
z Petascale file tends to be accessed with access
locality
¾ Local I/O aggressively utilized for scalable I/O throughput
¾ Target architecture – cluster of clusters, each node
facilitating large-scale fast local disks
z File affinity process scheduling
¾ Almost Disk-owner computation
z Gfarm parallel I/O extension - Local file view
¾ MPI-IO insufficient especially for irregular and dynamically
distributed data
¾ Each parallel process accesses only its own file fragment
¾ Flexible and portable management in single system image
¾ Grid-aware parallel I/O library
Extreme I/O bandwidth (2)
Process manager - scheduling
gfarm:File
z File affinity scheduling
Host0.ch
Host1.ch
Host2.jp
gfmd
Host0.ch Host1.ch Host2.jp
Host3.jp
Host3.jp
Process.0
Process.1
Process.2
Process.3
PC
PC
PC
PC
gfsd
gfsd
gfsd
gfsd
File.0
File.1
File.2
File.3
Process scheduling based on file distribution
Ex. % gfrun –G gfarm:File Process
Extreme I/O bandwidth (3)
Gfarm I/O API – File View (1)
gfarm:File
z Global file view
Host0.ch
Host1.ch
gfmd
Host0.ch Host1.ch Host2.jp
Host3.jp
Host2.jp
Host3.jp
Process.0
Process.1
Process.2
Process.3
PC
PC
PC
PC
gfsd
gfsd
gfsd
gfsd
File.0
File.1 FileFile.2
File.3
(I/O bandwidth limited by bisection bandwidth,
~GB/s, as an ordinal parallel filesystem)
Extreme I/O bandwidth (4)
Gfarm I/O API - File View (2)
gfarm:File
z Local file view
Host0.ch
Host1.ch
gfmd
Host0.ch Host1.ch Host2.jp
Host3.jp
Host2.jp
Host3.jp
Process.0 Process.1 Process.2 Process.3
gfsd
gfsd
gfsd
gfsd
File.0
File.1
File.2
File.3
Accessible data set is restricted to a local file fragment
Scalable disk I/O bandwidth (>TB/s)
(Local file fragment may be stored in remote node)
Extreme I/O bandwidth support
example: gfgrep - parallel grep
gfarm:input
gfmd
Host1.ch Host2.ch Host3.ch
Host4.jp Host5.jp
% gfrun –G gfarm:input gfgrep
–o gfarm:output regexp gfarm:input File affinity scheduling
Host2.ch
Host4.jp
open(“gfarm:input”, &f1)
gfgrep
gfgrep
create(“gfarm:output”, &f2)
set_view_local(f1)
input.2
input.4
output.2
output.4
set_view_local(f2)
Host1.ch
grep regexp
close(f1); close(f2)
gfgrep
input.1
output.1
Host3.ch
gfgrep
input.3
output.3
CERN.CH
Host5.jp
gfgrep
input.5
output.5
KEK.JP
耐故障性のサポート
z File replicas on an individual fragment
basis
z Re-generation of lost or needed writeonce files using a command history
¾Program and input files stored in faulttolerant Gfarm filesystem
¾Program should be deterministic
¾Re-generation also supports GriPhyN virtual
data concept
Gfarm APIとGfarmコマンド
http://datafarm.apgrid.org/
Gfarm並列I/O APIs
z gfs_pio_open / create / close
z gfs_pio_set_view_local / index / global
z gfs_pio_read / write / seek / flush
z gfs_pio_getc / ungetc / putc
z gfs_mkdir / rmdir / unlink
z gfs_chdir / chown / chgrp / chmod
z gfs_stat
z gfs_opendir / readdir / closedir
主なGfarmコマンド
z gfrep
¾ 並列ストリームにより
ファイル複製作成
z gfwhere
¾ 複製カタログ表示
z gfls
¾ ディレクトリの内容表示
z gfcp
¾ 並列ストリームによる
ファイルコピー
z gfrm, gfrmdir
¾ ファイル、ディレクトリ削
除
z gfmkdir
¾ ディレクトリ作成
z gfdf
¾ ファイルシステムの空き
ブロック数の表示
z gfsck
¾ ファイルシステムの検査
と修復
Porting Legacy or Commercial
Applications
z Hook syscalls open(), close(), write(), . . . to
utilize Gfarm filesystem
¾ Intercepted syscalls executed in local file view
¾ This allows thousands of files to be grouped
automatically and processed in parallel.
¾ Quick upstart for legacy apps (but some portability
problems have to be coped with)
z gfreg command
¾ After creation of thousands of files, gfreg
explicitly groups files into a single Gfarm file.
予備評価1 – 評価環境 Presto III
Gfarm 開発クラスタ (プロトタイプ)
z Dual Athlon MP
1.2GHz 128ノード
z 768MB, 200GB HDD
z 総計98GBメモリ, 25TB
ディスク
z Myrinet 2K, 64bit PCI
z 614 GFLOPS (ピーク)
z 331.7GFLOPS Linpack
for Top500
2001年10月より稼動
初期性能評価(2)
- 並列I/O (ファイルアフィニティスケジュー
リングと局所ファイルビュー)
[MB/s]
40
書込み 1742 MB/s
読み込み 1974 MB/s
open(“gfarm:f”, &f);
set_view_local(f);
write(f, buf, len);
close(f);
35
30
25
20
15
10
5
0
Gfarm parallel
write
Unix
independent
write
Gfarm parallel
read
Unix
independent
read
Presto III 64 ノード
640 GB データ
初期性能評価(3)
- ファイル複製 (gfrep)
Gfarm parallel copy bandwidth [MB/sec]
443 MB/s
23 並列ストリーム
400
300
Seagate ST380021A
200
Maxtor 33073H3
180 MB/s
7 並列ストリーム
100
0
0
5
10
15
20
The number of nodes (fragments)
Presto III, Myrinet 2000, 10 GB ファイル断片
[1] O.tatebe, et al, Grid Datafarm Architecture for Petascale Data Intensive
Computing, Proc. of CCGrid 2002, Berlin, May 2002
産総研Gfarmクラスタ I の設計
z
z
クラスタノード
¾ 1U, Dual 2.4GHz Xeon, GbE
¾ 480GB RAID with 4 3.5” 120GB HDDs + RAID card
12ノードプロトタイプクラスタ (2002年10月稼動)
¾ 12U + ギガビットイーサスイッチ (2U) + KVM スイッチ (2U) + キー
ボード
¾ Totally 6TB RAID with 48 disks
z
z
z
1063 MB/s on writes, 1437 MB/s on reads
410 MB/s for file replication with 6 streams
480GB
GbE switch
¾ Up to 4 Gbps for external network
¾ WAN emulation with NistNET
80-node cluster will be installed by
120MB/s
Feb 2003
10GFlops
産総研クラスタ初期性能評価
並列ディスクI/O性能
並列ファイル複製性能
Gfarm parallel file replication
500
1600
1400
1200
1000
800
600
400
200
0
read
write
Bandwidth [MB/s]
Total bandwidth [MB/s]
Gfarm parallel disk I/O bandwidth
400
300
200
100
0
1
2
3
4
5
6 7 8
# nodes
9 10 11 12
1
2
3
4
5
6
# nodes
1436 MB/s for reading 410 MB/s using 6 nodes
1063 MB/s for writing
Per 1 node
Per 1 node
120 MB/s for reading 68 MB/s = 547 Mbps
89 MB/s for writing
Grid Datafarm US-Japan Testbad
Tsukuba WAN
1 Gbps
AIST
Tokyo
NOC
OC-12 POS
OC-12 ATM
Titech
GbE
SuperSINET
ICEPP
GbE
KEK
PNWG
APAN/TransPAC
StarLight
NII-ESnet HEP PVC
20 Mbps
Titech
NOC
ESnet
OC-12
SDSC
US
Japan
KEK
Indianapolis OC-12
Indiana Univ.
GigaPoP
AIST
ICEPP
SDSC
Indiana U
Total disk capacity: 18 TB, disk I/O bandwidth: 6 GB/s
関連研究
z MPI-IO
¾ ローカルI/Oのスケーラビリティ活用の鍵
となる局所ファイルビューがない
z PVFS – ストライピングクラスタファイルシ
ステム
¾ UNIX I/O API, MPI-IO
¾ 局所性を利用しないため,ネットワークで
バンド幅が制限される
¾ 耐故障性???広域???数千大規
模??
z IBM PIOFS, GPFS
z HPSS – 階層型大容量ストレージシステ
ム
¾ ネットワークバンド幅によりI/Oバンド幅が
制限される
z Distributed filesystems
¾ NFS, AFS, Coda, xFS, GFS, . . .
¾ 複数からの書き込みに対しバンド幅が確
保できない
z Globus – Gridツールキット
¾ GridFTP – Gridセキュリティと並列スト
リーム
¾ 複製管理
z 複製カタログとGridFTP
複製カタログとGridFTP
z Kangaroo – Condor approach
¾ ローカルディスクをキャッシュとして利用し、
広域における遅延を隠蔽
¾ バンド幅は解決されない
Gfarmはグリッド環境における広域クラスタ・
オブ・クラスタファイルシステムの初めて
の試み
¾ ファイル複製
¾ ファイルアフィニティスケジューリング、. . .
Grid Datafarm Development
Schedule
z Initial Prototype 2000-2001
¾ Gfarm filesystem, Gfarm API, file affinity scheduling,
and data streaming
¾ Deploy on Development Gfarm Cluster
z Second Prototype 2002(-2003)
¾
¾
¾
¾
¾
¾
¾
10xN Gbps
KEK
Grid security infrastructure
Load balance, Fault Tolerance, Scalability
Multiple metaservers with coherent cache
Evaluation in cluster-of-cluster environment
Study of replication and scheduling policies
ATLAS full-geometry Geant4 simulation (1M events)
Accelerate by National “Advanced Network ComputingSuper
initiative” (US$10M/5y)
SINET
z Full Production Development (2004-2005 and
beyond)
¾ Deploy on Production GFarm cluster
¾ Petascale online storage
z Synchronize with ATLAS schedule
¾ ATLAS-Japan Tier-1 RC “prime customer”
Tsukuba
WAN
10 Gbps
U-Tokyo (60km)
TITECH (80km)
5km AIST/TACC
Summary
http://datafarm.apgrid.org/
datafarm@apgrid.org
z Petascale Data Intensive Computing Wave
z Key technology: Grid and cluster
z Grid datafarm is an architecture for
¾
¾
¾
Online >10PB storage, >TB/s I/O bandwidth
Efficient sharing on the Grid
Fault tolerance
z Initial performance evaluation shows scalable performance
¾ 1742 MB/s, 1974 MB/s on writes and reads on 64 cluster nodes of
Presto III
¾ 443 MB/s using 23 parallel streams on Presto III
¾ 1063 MB/s, 1436 MB/s on writes and reads on 12 cluster nodes of
AIST Gfarm I
¾ 410 MB/s using 6 parallel streams on AIST Gfarm I
z Metaserver overhead is negligible
z I/O bandwidth limited by not network but disk I/O (good!)