SlideShare a Scribd company logo
1 of 16
Scalable Parallel I/O Systems by Client-Side Optimizations 石川研究室 太田一樹  <kzk@il.is.s.u-tokyo.ac.jp> 1 修士論文中間発表
背景 システム内のコア数の増大 コモディティCPUのマルチコア化 クラスタ内においてもマルチコアCPUを一般的に使用 クラスタ内で走る計算プロセスの数が増加 LANL RoadRunner (129600 core), ORNL Jaguar (150120 core), ANL BG/P (163840 core) アプリケーションが扱うデータ量の増加 計算能力の増大・ディスクの大容量化 CPU/メモリ速度に比べるとディスクは非常に低速 ディスクI/Oが、アプリケーション全体のボトルネックになる 2
関連研究: 並列ファイルシステム 複数のディスクを1つの論理的なファイルシステムに見せる (e.g. PVFS [Carns 2000], GPFS [Schmuck 2002], Lustre[Schwan 2003], etc) ファイルをストライピングすることで、複数ディスクを用いて同時にI/Oを行う事が可能 CPU CPU CPU CPU CPU CPU CPU CPU 計算 ノード Disk Disk Disk I/O ノード 3
問題点: スケーラビリティ 並列ファイルシステムは、10万以上のプロセスからの要求を裁けるほどにはスケーラビリティが無い 各プロセスから非連続なI/Oが来ると、seek回数が増大 ネットワーク輻輳 Etc. 参考文献 24/7 Characterization of Petascale I/OWorkloads [Carns, Cluster 2009] 並列分散環境におけるファイル共有システムの負荷原因探索システム[佐伯, SWoPP 2009] CPU CPU Disk 4
研究目標 millionプロセスにも耐えうる並列I/Oシステム クライアント側での最適化 バックエンドファイルシステムにI/Oを発行する前に、プロキシを用意し、そこで最適化 を行う (Aggregation, Rescheduling, Caching, etc) CPU CPU CPU CPU CPU CPU CPU CPU Forwarder Forwarder Forwarder Forwarder Disk Disk Disk 5
提案1: Gather-Arrange-Scatter (GAS) ,[object Object],Gather-Arrange-Scatter: Node-Level Request Reordering for Parallel File Systems on Multi-Core Clusters [Ohta, Cluster 2008 Poster] Improving Parallel Write by Node-Level Request Reordering [Ohta, CCGRID2009] 3つのフェーズで最適化 Gather: 計算ノードにおいてローカルにI/O要求を収集し Arrange:  バッファが溢れた際に要求を整列(並び替え・マージ) Scatter: I/Oノードに並列に要求を送信 64コア/8ノード環境において既存手法に比べ35%の高速化 注意点 I/O要求は非同期に発行される POSIX atomicity semanticsは守っていない 6
提案2: pdCache (Parallel Disk Cache) Cachingにより、ファイルシステムへの負荷を低減 ファイルサーバー独立な並列ファイルキャッシュ機構[太田, HOKKE2009] 下層のネットワーク , ファイルシステム非依存 ページ単位でキャッシュを管理 書き込みの場合、メモリ上にデータを一端キャッシュし、遅延して書込み 同じ領域を読み込む場合は、キャッシュから読み込まれる 複数プロセスからの並列I/Oにおいて、約8倍の高速化 参考文献 Scaling Parallel I/O Performance through I/O Delegate and Caching System [Wei, SC2008] I/Oキャッシュ専用ノードを用意する事でアプリケーション性能を向上 ファイルキャッシュシステムの有効性向上に向けた科学技術計算アプリケーションのI/O特性評価 [安井, SWoPP2009] FlontFlow/Blue, ProteinDFという2つのアプリケーションのI/Oをトレースし、キャッシュアプローチが有効な事を観測した 7
pdCache: アーキテクチャ Client Client Client Coordinator (2) メタデータ要求・ロック獲得 Metadata Metadata Metadata (3) データ要求 Data Data Data キャッシュサーバー3 キャッシュサーバー2 キャッシュサーバー1 NFS/PVFS 8
今後の課題 IOFSLにGAS, pdCacheの技術を統合 I/O Forwardingサーバーのオープンソース実装 一般的なHPC環境で動作し、MPICH2から利用可能になる ネットワーク, バックエンドファイルシステム透過  BlueGene, Cray XT, Linux Clusterで動作可能 MPI-IO から使用可能 大規模環境での評価 T2K東大、BlueGene/P @ Argonne 並列I/Oベンチマーク (NAS BTIO, MPI-IO Test, IOR, etc) アプリケーション (FrontFlow/Blue, ProteinDF, etc) 9
まとめ クライアント側のI/O最適化技法を提案 中継サーバーを使用し、I/Oシステムのスケーラビリティを向上させる (Aggregation, Rescheduling, Caching, etc) Gather-Arrange-Scatter リクエストマージ、スケジューリング 既存手法に比べ64プロセス・8ノードの環境で約35%の高速化 pdCache データキャッシング IOFSLに最適化手法を統合し、より大規模な環境で評価予定 T2K東大, BlueGene/P 10
予備スライド
I/O Software Stack Overview , IOFSL
Gather & Arrange (sort) Phase 13 I/O-Node 1 I/O-Node 2 I/O-Node 3 Disk Disk Disk Dispatcher Process Dispatcher Process Compute-Node 1 Process 1 A3 A2 A1 Process 2 A7 A5 A4 Compute-Node 2 I/O Server Process I/O Server Process I/O Server Process Process 3 BIV BII BI Process 4 BIX BVI BV
Arrange (merge) & Scatter Phase 14 I/O-Node 1 I/O-Node 2 I/O-Node 3 Disk Disk Disk Merging Dispatcher Process Dispatcher Process Compute-Node 1 Process 1 A5 A2, A1 A3 A4 Process 2 A7 Compute-Node 2 I/O Server Process I/O Server Process I/O Server Process Process 3 BI BIV Process 4 BII BV BIX BVI
pdCache: アーキテクチャ Client Client Client Coordinator (2) メタデータ要求・ロック獲得 Metadata Metadata Metadata (3) データ要求 Data Data Data キャッシュサーバー3 キャッシュサーバー2 キャッシュサーバー1 NFS/PVFS
Evaluation: Comparison with MPI-IO 16 (1) mpi_io_simple-pvfs2      - Non-Coll I/O with ROMIO      - PVFS2 (2) mpi_io_full-pvfs2      - Collective I/O with ROMIO      - PVFS2 (3) gas-not-arrange      - Fortran I/O      - GAS without arranging        (intentionally disabled) (4) gas-arrange      - Fortran I/O      - GAS ForwardingOverhead OptimizationEffect ,[object Object]

More Related Content

Similar to 修士中間発表

4200 Kte7.0 Training V1.0
4200 Kte7.0 Training V1.04200 Kte7.0 Training V1.0
4200 Kte7.0 Training V1.0wayneliao
 
Ruby on Rails Tutorial Part I
Ruby on Rails Tutorial Part IRuby on Rails Tutorial Part I
Ruby on Rails Tutorial Part IWei Jen Lu
 
20090418 イケテルRails勉強会 第2部Air編
20090418 イケテルRails勉強会 第2部Air編20090418 イケテルRails勉強会 第2部Air編
20090418 イケテルRails勉強会 第2部Air編mochiko AsTech
 
20090323 Phpstudy
20090323 Phpstudy20090323 Phpstudy
20090323 PhpstudyYusuke Ando
 
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPHow To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPAtsuhiro Kubo
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 CakephpstudyYusuke Ando
 
P2P Bug Tracking with SD
P2P Bug Tracking with SDP2P Bug Tracking with SD
P2P Bug Tracking with SDJesse Vincent
 
Yakiniku(焼き肉) on the Cloud
Yakiniku(焼き肉) on the CloudYakiniku(焼き肉) on the Cloud
Yakiniku(焼き肉) on the CloudTakao Funami
 
20090418 イケテルRails勉強会 第1部Rails編
20090418 イケテルRails勉強会 第1部Rails編20090418 イケテルRails勉強会 第1部Rails編
20090418 イケテルRails勉強会 第1部Rails編mochiko AsTech
 
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Yusuke Kawasaki
 
PMT-006-生產計劃與管理
PMT-006-生產計劃與管理PMT-006-生產計劃與管理
PMT-006-生產計劃與管理handbook
 
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法devsumi2009
 
電源回路のデバイスモデリングと LTspiceを活用したノイズシミュレーション
電源回路のデバイスモデリングと LTspiceを活用したノイズシミュレーション電源回路のデバイスモデリングと LTspiceを活用したノイズシミュレーション
電源回路のデバイスモデリングと LTspiceを活用したノイズシミュレーションTsuyoshi Horigome
 
Peeling The Onion For Ipdc Forum09 Mix Ver1
Peeling The Onion For Ipdc Forum09 Mix Ver1Peeling The Onion For Ipdc Forum09 Mix Ver1
Peeling The Onion For Ipdc Forum09 Mix Ver1hutuworm
 
テンプレート管理ツール r3
テンプレート管理ツール r3テンプレート管理ツール r3
テンプレート管理ツール r3Ippei Ogiwara
 
Dynamic Language による Silverlight2 アプリケーション開発
Dynamic Language による Silverlight2 アプリケーション開発Dynamic Language による Silverlight2 アプリケーション開発
Dynamic Language による Silverlight2 アプリケーション開発terurou
 

Similar to 修士中間発表 (20)

4200 Kte7.0 Training V1.0
4200 Kte7.0 Training V1.04200 Kte7.0 Training V1.0
4200 Kte7.0 Training V1.0
 
What Can Compilers Do for Us?
What Can Compilers Do for Us?What Can Compilers Do for Us?
What Can Compilers Do for Us?
 
Ruby on Rails Tutorial Part I
Ruby on Rails Tutorial Part IRuby on Rails Tutorial Part I
Ruby on Rails Tutorial Part I
 
20090418 イケテルRails勉強会 第2部Air編
20090418 イケテルRails勉強会 第2部Air編20090418 イケテルRails勉強会 第2部Air編
20090418 イケテルRails勉強会 第2部Air編
 
20090323 Phpstudy
20090323 Phpstudy20090323 Phpstudy
20090323 Phpstudy
 
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPHow To Create Custom DSLs By PHP
How To Create Custom DSLs By PHP
 
Ribbit
RibbitRibbit
Ribbit
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 Cakephpstudy
 
Iir 08 ver.1.0
Iir 08 ver.1.0Iir 08 ver.1.0
Iir 08 ver.1.0
 
Seize The Cloud
Seize The CloudSeize The Cloud
Seize The Cloud
 
P2P Bug Tracking with SD
P2P Bug Tracking with SDP2P Bug Tracking with SD
P2P Bug Tracking with SD
 
Yakiniku(焼き肉) on the Cloud
Yakiniku(焼き肉) on the CloudYakiniku(焼き肉) on the Cloud
Yakiniku(焼き肉) on the Cloud
 
20090418 イケテルRails勉強会 第1部Rails編
20090418 イケテルRails勉強会 第1部Rails編20090418 イケテルRails勉強会 第1部Rails編
20090418 イケテルRails勉強会 第1部Rails編
 
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
 
PMT-006-生產計劃與管理
PMT-006-生產計劃與管理PMT-006-生產計劃與管理
PMT-006-生產計劃與管理
 
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
 
電源回路のデバイスモデリングと LTspiceを活用したノイズシミュレーション
電源回路のデバイスモデリングと LTspiceを活用したノイズシミュレーション電源回路のデバイスモデリングと LTspiceを活用したノイズシミュレーション
電源回路のデバイスモデリングと LTspiceを活用したノイズシミュレーション
 
Peeling The Onion For Ipdc Forum09 Mix Ver1
Peeling The Onion For Ipdc Forum09 Mix Ver1Peeling The Onion For Ipdc Forum09 Mix Ver1
Peeling The Onion For Ipdc Forum09 Mix Ver1
 
テンプレート管理ツール r3
テンプレート管理ツール r3テンプレート管理ツール r3
テンプレート管理ツール r3
 
Dynamic Language による Silverlight2 アプリケーション開発
Dynamic Language による Silverlight2 アプリケーション開発Dynamic Language による Silverlight2 アプリケーション開発
Dynamic Language による Silverlight2 アプリケーション開発
 

修士中間発表

  • 1. Scalable Parallel I/O Systems by Client-Side Optimizations 石川研究室 太田一樹 <kzk@il.is.s.u-tokyo.ac.jp> 1 修士論文中間発表
  • 2. 背景 システム内のコア数の増大 コモディティCPUのマルチコア化 クラスタ内においてもマルチコアCPUを一般的に使用 クラスタ内で走る計算プロセスの数が増加 LANL RoadRunner (129600 core), ORNL Jaguar (150120 core), ANL BG/P (163840 core) アプリケーションが扱うデータ量の増加 計算能力の増大・ディスクの大容量化 CPU/メモリ速度に比べるとディスクは非常に低速 ディスクI/Oが、アプリケーション全体のボトルネックになる 2
  • 3. 関連研究: 並列ファイルシステム 複数のディスクを1つの論理的なファイルシステムに見せる (e.g. PVFS [Carns 2000], GPFS [Schmuck 2002], Lustre[Schwan 2003], etc) ファイルをストライピングすることで、複数ディスクを用いて同時にI/Oを行う事が可能 CPU CPU CPU CPU CPU CPU CPU CPU 計算 ノード Disk Disk Disk I/O ノード 3
  • 4. 問題点: スケーラビリティ 並列ファイルシステムは、10万以上のプロセスからの要求を裁けるほどにはスケーラビリティが無い 各プロセスから非連続なI/Oが来ると、seek回数が増大 ネットワーク輻輳 Etc. 参考文献 24/7 Characterization of Petascale I/OWorkloads [Carns, Cluster 2009] 並列分散環境におけるファイル共有システムの負荷原因探索システム[佐伯, SWoPP 2009] CPU CPU Disk 4
  • 5. 研究目標 millionプロセスにも耐えうる並列I/Oシステム クライアント側での最適化 バックエンドファイルシステムにI/Oを発行する前に、プロキシを用意し、そこで最適化 を行う (Aggregation, Rescheduling, Caching, etc) CPU CPU CPU CPU CPU CPU CPU CPU Forwarder Forwarder Forwarder Forwarder Disk Disk Disk 5
  • 6.
  • 7. 提案2: pdCache (Parallel Disk Cache) Cachingにより、ファイルシステムへの負荷を低減 ファイルサーバー独立な並列ファイルキャッシュ機構[太田, HOKKE2009] 下層のネットワーク , ファイルシステム非依存 ページ単位でキャッシュを管理 書き込みの場合、メモリ上にデータを一端キャッシュし、遅延して書込み 同じ領域を読み込む場合は、キャッシュから読み込まれる 複数プロセスからの並列I/Oにおいて、約8倍の高速化 参考文献 Scaling Parallel I/O Performance through I/O Delegate and Caching System [Wei, SC2008] I/Oキャッシュ専用ノードを用意する事でアプリケーション性能を向上 ファイルキャッシュシステムの有効性向上に向けた科学技術計算アプリケーションのI/O特性評価 [安井, SWoPP2009] FlontFlow/Blue, ProteinDFという2つのアプリケーションのI/Oをトレースし、キャッシュアプローチが有効な事を観測した 7
  • 8. pdCache: アーキテクチャ Client Client Client Coordinator (2) メタデータ要求・ロック獲得 Metadata Metadata Metadata (3) データ要求 Data Data Data キャッシュサーバー3 キャッシュサーバー2 キャッシュサーバー1 NFS/PVFS 8
  • 9. 今後の課題 IOFSLにGAS, pdCacheの技術を統合 I/O Forwardingサーバーのオープンソース実装 一般的なHPC環境で動作し、MPICH2から利用可能になる ネットワーク, バックエンドファイルシステム透過 BlueGene, Cray XT, Linux Clusterで動作可能 MPI-IO から使用可能 大規模環境での評価 T2K東大、BlueGene/P @ Argonne 並列I/Oベンチマーク (NAS BTIO, MPI-IO Test, IOR, etc) アプリケーション (FrontFlow/Blue, ProteinDF, etc) 9
  • 10. まとめ クライアント側のI/O最適化技法を提案 中継サーバーを使用し、I/Oシステムのスケーラビリティを向上させる (Aggregation, Rescheduling, Caching, etc) Gather-Arrange-Scatter リクエストマージ、スケジューリング 既存手法に比べ64プロセス・8ノードの環境で約35%の高速化 pdCache データキャッシング IOFSLに最適化手法を統合し、より大規模な環境で評価予定 T2K東大, BlueGene/P 10
  • 12. I/O Software Stack Overview , IOFSL
  • 13. Gather & Arrange (sort) Phase 13 I/O-Node 1 I/O-Node 2 I/O-Node 3 Disk Disk Disk Dispatcher Process Dispatcher Process Compute-Node 1 Process 1 A3 A2 A1 Process 2 A7 A5 A4 Compute-Node 2 I/O Server Process I/O Server Process I/O Server Process Process 3 BIV BII BI Process 4 BIX BVI BV
  • 14. Arrange (merge) & Scatter Phase 14 I/O-Node 1 I/O-Node 2 I/O-Node 3 Disk Disk Disk Merging Dispatcher Process Dispatcher Process Compute-Node 1 Process 1 A5 A2, A1 A3 A4 Process 2 A7 Compute-Node 2 I/O Server Process I/O Server Process I/O Server Process Process 3 BI BIV Process 4 BII BV BIX BVI
  • 15. pdCache: アーキテクチャ Client Client Client Coordinator (2) メタデータ要求・ロック獲得 Metadata Metadata Metadata (3) データ要求 Data Data Data キャッシュサーバー3 キャッシュサーバー2 キャッシュサーバー1 NFS/PVFS
  • 16.
  • 17. The Effect of Optimization gets larger