修士中間発表
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

修士中間発表

on

  • 3,533 views

 

Statistics

Views

Total Views
3,533
Views on SlideShare
2,960
Embed Views
573

Actions

Likes
0
Downloads
8
Comments
0

3 Embeds 573

http://kzk9.net 568
http://www.slideshare.net 4
http://feeds2.feedburner.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

修士中間発表 Presentation Transcript

  • 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. 提案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
  • 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
  • 11. 予備スライド
  • 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. 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
    • Latency + Scheduling Overhead when the number is small
    • 17. The Effect of Optimization gets larger