修士中間発表
TRANSCRIPT
![Page 2: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/2.jpg)
背景• システム内のコア数の増大– コモディティ CPU のマルチコア化
• クラスタ内においてもマルチコア CPU を一般的に使用– クラスタ内で走る計算プロセスの数が増加
• LANL RoadRunner (129600 core), ORNL Jaguar (150120 core), ANL BG/P (163840 core)
• アプリケーションが扱うデータ量の増加– 計算能力の増大・ディスクの大容量化– CPU/ メモリ速度に比べるとディスクは非常に低速– ディスク I/O が、アプリケーション全体のボトル
ネックになる2
![Page 3: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/3.jpg)
関連研究 : 並列ファイルシステム• 複数のディスクを1つの論理的なファイルシス
テムに見せる (e.g. PVFS [Carns 2000], GPFS [Schmuck
2002], Lustre [Schwan 2003], etc)• ファイルをストライピングすることで、複数
ディスクを用いて同時に I/O を行う事が可能
Disk Disk Disk
CPU CPU CPU CPU CPU CPU CPU CPU計算ノード
I/Oノード
3
![Page 4: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/4.jpg)
問題点 : スケーラビリティ• 並列ファイルシステムは、 10 万以上のプロセスか
らの要求を裁けるほどにはスケーラビリティが無い– 各プロセスから非連続な I/O が来ると、 seek 回数が増大– ネットワーク輻輳– Etc.
• 参考文献– 24/7 Characterization of Petascale I/O
Workloads [Carns, Cluster 2009]
– 並列分散環境におけるファイル共有システムの負荷原因探索システム [ 佐伯 , SWoPP 2009] Disk
CPU CPU
4
![Page 5: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/5.jpg)
研究目標• million プロセスにも耐えうる並列 I/O シス
テム• クライアント側での最適化– バックエンドファイルシステムに I/O を発行す
る前に、プロキシを用意し、そこで最適化 を行う (Aggregation, Rescheduling, Caching, etc)
Disk Disk Disk
CPU CPU
Forwarder
CPU CPU
Forwarder
CPU CPU
Forwarder
CPU CPU
Forwarder
5
![Page 6: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/6.jpg)
提案 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
![Page 7: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/7.jpg)
提案 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
![Page 8: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/8.jpg)
pdCache: アーキテクチャClient
Metadata
Data
Metadata
Data
Coordinator
Metadata
Data
(2) メタデータ要求・ロック獲得
(3) データ要求
キャッシュサーバー 2
NFS/PVFS
キャッシュサーバー 1 キャッシュサーバー 3
Client Client
8
![Page 9: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/9.jpg)
今後の課題• 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
![Page 10: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/10.jpg)
まとめ• クライアント側の I/O 最適化技法を提案– 中継サーバーを使用し、 I/O システムのスケーラビリ
ティを向上させる (Aggregation, Rescheduling, Caching, etc)– Gather-Arrange-Scatter
• リクエストマージ、スケジューリング• 既存手法に比べ 64 プロセス・ 8 ノードの環境で約 35% の高速化
– pdCache• データキャッシング
• IOFSL に最適化手法を統合し、より大規模な環境で評価予定– T2K東大 , BlueGene/P
10
![Page 11: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/11.jpg)
予備スライド
![Page 12: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/12.jpg)
I/O Software Stack Overview
, IOFSL
![Page 13: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/13.jpg)
Gather & Arrange (sort) Phase
13
Process 2
Process 1
Compute-Node 1
Process 3
Compute-Node 2
Process 4
Dispatcher
Process
Dispatcher
Process
I/OServer
ProcessDisk
I/O-Node 1
I/OServer
ProcessDisk
I/O-Node 2
I/OServer
ProcessDisk
I/O-Node 3
A7 A5 A4
A3 A2 A1
BIV BII BI
BIX BVI BV
![Page 14: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/14.jpg)
Arrange (merge) & Scatter Phase
14
Process 2
Process 1
Compute-Node 1
Process 3
Compute-Node 2
Process 4
Dispatcher
Process
Dispatcher
Process
I/OServer
ProcessDisk
I/O-Node 1
I/OServer
ProcessDisk
I/O-Node 2
I/OServer
ProcessDisk
I/O-Node 3
A7
A5
A4
A3 A2, A1
BIV
BII
BI
BIX BVI BV
Merging
![Page 15: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/15.jpg)
pdCache: アーキテクチャClient
Metadata
Data
Metadata
Data
Coordinator
Metadata
Data
(2) メタデータ要求・ロック獲得
(3) データ要求
キャッシュサーバー 2
NFS/PVFS
キャッシュサーバー 1 キャッシュサーバー 3
Client Client
![Page 16: 修士中間発表](https://reader033.vdocuments.pub/reader033/viewer/2022052618/554f671ab4c905bb178b4b62/html5/thumbnails/16.jpg)
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- Latency + Scheduling Overhead when the number is small- The Effect of Optimization gets larger
ForwardingOverhead
OptimizationEffect