狠狠撸

狠狠撸Share a Scribd company logo
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を行う事が可能CPUCPUCPUCPUCPUCPUCPUCPU計算ノードDiskDiskDiskI/Oノード3
問題点: スケーラビリティ並列ファイルシステムは、10万以上のプロセスからの要求を裁けるほどにはスケーラビリティが無い各プロセスから非連続なI/Oが来ると、seek回数が増大ネットワーク輻輳Etc.参考文献24/7 Characterization of Petascale I/OWorkloads [Carns, Cluster 2009]並列分散環境におけるファイル共有システムの負荷原因探索システム[佐伯, SWoPP 2009]CPUCPUDisk4
研究目標millionプロセスにも耐えうる並列I/Oシステムクライアント側での最適化バックエンドファイルシステムにI/Oを発行する前に、プロキシを用意し、そこで最適化 を行う (Aggregation, Rescheduling, Caching, etc)CPUCPUCPUCPUCPUCPUCPUCPUForwarderForwarderForwarderForwarderDiskDiskDisk5
提案1: Gather-Arrange-Scatter (GAS)中継サーバーでリクエストマージ、スケジューリングを行い、並列Writeの性能を向上する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: アーキテクチャClientClientClientCoordinator(2) メタデータ要求?ロック獲得MetadataMetadataMetadata(3) データ要求顿补迟补顿补迟补顿补迟补キャッシュサーバー3キャッシュサーバー2キャッシュサーバー1狈贵厂/笔痴贵厂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/P10
予备スライド
I/O Software Stack Overview, IOFSL
Gather & Arrange (sort) Phase13I/O-Node 1I/O-Node 2I/O-Node 3DiskDiskDiskDispatcherProcessDispatcherProcessCompute-Node 1Process 1A3A2A1Process 2A7A5A4Compute-Node 2I/OServerProcessI/OServerProcessI/OServerProcessProcess 3BIVBIIBIProcess 4BIXBVIBV
Arrange (merge) & Scatter Phase14I/O-Node 1I/O-Node 2I/O-Node 3DiskDiskDiskMergingDispatcherProcessDispatcherProcessCompute-Node 1Process 1A5A2, A1A3A4Process 2A7Compute-Node 2I/OServerProcessI/OServerProcessI/OServerProcessProcess 3BIBIVProcess 4BIIBVBIXBVI
pdCache: アーキテクチャClientClientClientCoordinator(2) メタデータ要求?ロック獲得MetadataMetadataMetadata(3) データ要求顿补迟补顿补迟补顿补迟补キャッシュサーバー3キャッシュサーバー2キャッシュサーバー1狈贵厂/笔痴贵厂
Evaluation: Comparison with MPI-IO16(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      - GASForwardingOverheadOptimizationEffect Latency + Scheduling Overhead   when the number is small

More Related Content

修士中间発表