修士中間発表

2,602
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,602
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

修士中間発表

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

    Clipping is a handy way to collect important slides you want to go back to later.

×