次世代スーパーコンピュータの設計開発に向けたシステ

第6回 PSIプロジェクト研究者全体会議
サブテーマ3-②
インターコネクト・シミュレータNSIMの開発
柴村英智
(財)九州システム情報技術研究所
NSIM:インターコネクト・シミュレータ
並列離散事象シミュレーションに基づくサイクル・レベル性能予測
コンフィグレーション指定による様々なパラメータ設定
– トポロジ、スイッチ/ルータ仕様、シミュレーション解像度(≧ns)、など
CPU
CPU
↓スイッチ/ルータ
Bridge
NIC
SW/RT
SW/RT
NIC
SW/RT
MEM
MEM
MPI_Send開始時刻
MPI_Recv完了時刻
スタートアップ遅延 ケーブル遅延
(コンフィグで指定)
ターゲットでの超並列実行を
想定した通信パターンファイル
インターコネクト
コンフィグレーション

性能評価対象システムの
インターコネクト仕様
2008/02/19
ポスト処理遅延
(コンフィグで指定)
スイッチ/ルータ遅延
NSIM
通信プロファイル

Bridge


通信プロファイルからMPI
通信を抽出し解析
通信遅延を計算
通信プロファイル
(通信遅延有り)

通信遅延時間が印加された
通信パターンファイル
インターコネクトの
基本性能

平均通信遅延時間や
スループットなど
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
2
第5回全体会議(2007年7月)までの成果
NSIMの基本シミュレーション機構が完成
– 小規模の通信プロファイルを用いた検証を実施
小規模な性能予測実験によって、NSIMの性能を検証
– HPL: 問題サイズ5,000、ブロック数50、プロセス数4x4
• Xeon 3GHzのクラスタマシンで114秒(16コア)~169秒(1コア)
• 性能見積の精度は約5%
• 小規模の評価では台数効果が出ない
大規模アプリケーション/システムの性能評価
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
3
今回の成果(概要)
シミュレーションの高速化
– 共有メモリマシンの利用
– 時刻同期機構、イベント管理機構の高速化
大規模通信プロファイルへの対応
– 通信プロファイルの分割と部分読込み実行機構の実装
大規模アプリケーションの性能評価に向けて
– 8,192ノードシステムを想定したAll-to-all通信のシミュレーション
– 21GBの大規模通信プロファイルを用いたシミュレーション
直接網への対応
– 3次元トーラス網を中心に実装
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
4
シミュレーションの高速化
インターコネクトシミュレーションを遅くする要因
– クラスタシステムにおける分散時刻同期のオーバヘッド
– NSIMを実行するランク間でのイベント転送のオーバヘッド
– クラスタシステム1ノードにおけるメモリ容量不足
– 大規模シミュレーションにおけるNSIMイベント増加のオーバヘッド
⇒ 共有メモリマシンの利用
– 日立SR11000(IBM Power5 16コア、96GBmem)
– DELL Precision T7400(Intel Xeon dual quad-core、32GBmem)
– クラスタシステムでは実行できない通信プロファイルをシミュレート可能
⇒ 時刻同期機構、イベント管理機構の高速化
– 前回の全体会議の報告から大幅な速度向上(2.3~68.9倍)を達成
– 大規模通信プロファイル利用時に大きな効果
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
5
NSIM実行速度の評価
第5回全体会議時の結果と比較
評価アプリケーション: HPL
– 問題サイズ(N): 500、1000、2000、5000
– プロセス数(PxQ): 4x4、16x16、32x32
– ブロックサイズ: 128
BSIM-Loggerによる通信プロファイル生成
– 上記パラメータの組合せから数種を選択
– ゼロ通信遅延時間の通信プロファイルを生成
実験環境
– 富士通 PRIMEGY RX200S3 (@九州大学)
• Intel Xeon 3.0GHz (EM64T, dual-core)、7GB mem
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
6
シミュレーション時間(プロセス数固定:16)
180
160
140
1CPU
114.4
↓
12.1
2CPU
実行時間(秒)
4CPU
120
100
8CPU
16CPU
80
最近の成果(高速化)分
60
40
20
3.5
↓
1.1
7.7
↓
2.5
19.3
↓
4.6
0
HPL.M500.4x4.16N
HPL.M1000.4x4.16N
HPL.M2000.4x4.16N
HPL.M5000.4x4.16N
実行アプリケーション
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
7
シミュレーション時間(問題サイズ固定:2000)
1,200
1CPU
1,000
2CPU
529.6
↓
148.7
実行時間(秒)
4CPU
800
600
400
200
8CPU
16CPU
414.9
↓
78.9
32CPU
1,024プロセス
最近の成果(高速化)分
19.3
↓
16プロセス
4.5
256プロセス
0
HPL.M2000.4x4.16N
HPL.M2000.16x16.4N
HPL.M2000.32x32.16N
実行アプリケーション
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
8
8192ノードシステムのAll-to-allシミュレーション
1,000
Bruckアルゴリズムに則し、人工的に生成した通信プロファイルを利用
645.26
555.59
264.21
261.45
シミュレーション時間(秒)
151.61
142.15
87.47
100
249.01
202.24
107.69
139.21
64.82
66.37
25.04
10
144.67
68.51
173.30
76.10
106.86
遅延:無 精度:ナノ秒
遅延:有 精度:ナノ秒
遅延:有 精度:マイクロ秒
8.01
3.23
■予測実行時間
解像度
ナノ秒: 0.000106 秒
解像度マイクロ秒: 0.000107 秒
1.22
1
1CPU
2CPU
4CPU
8CPU
16CPU
32CPU
64CPU
0.62
128CPU
0.39
0
CPU数
※1 九大PRIMERGYシステムで実行
※2 スライド5の高速化は非適用
シミュレーションの精度を粗く(ナノ⇒マイクロ秒)すると実行速度が大幅に向上
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
9
大規模通信プロファイルへの対応
BSIM-Loggerが出力する通信プロファイル
– 全MPI通信イベントを含む単一ファイル構成
– 大規模アプリケーションを模擬する通信プロファイル
⇒ ファイルサイズの肥大化 ⇒ オンメモリでのNSIM実行が困難
大規模通信プロファイルの事例
– HPL N=262,144 NB=128 P=Q=32
• 通信プロファイル:
• 理想実行時間:
• 通信メッセージ数:
22,282,546,772(≒20.75G)バイト
1,230.66 秒
54,521,921 メッセージ
• 理論データ転送量: 33,419,271,348,792(≒30.39T)バイト
メッセージ毎に正確に計算すると(※MTU=512バイト)
• 総転送パケット数:
• 総データ転送量:
2008/02/19
65,314,156,257(≒60.83G)パケット
33,440,848,003,584(≒30.41TB)バイト
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
10
通信プロファイルの分割
単一通信プロファイルを複数通信プロファイルに分割
– MPI通信イベントをランク毎に分割
– NSIM実行に適したデータ構造へ変換
clog形式通信プロファイル
ts=0.052319 icomm=0 rank=8 thd=0 type=bare et=MPI_Send START
ts=0.052319 icomm=0 rank=8 thd=0 type=msg et=send icomm=0 rank=12 tag=9001 sz=8
ts=0.052319 icomm=0 rank=8 thd=0 type=bare et=MPI_Send END
ts=0.052319 icomm=0 rank=12 thd=0 type=bare et=MPI_Recv START
ts=0.052319 icomm=0 rank=12 thd=0 type=msg et=recv icomm=0 rank=8 tag=9001 sz=8
ts=0.052319 icomm=0 rank=12 thd=0 type=bare et=MPI_Recv END
ts=0.052320 icomm=0 rank=10 thd=0 type=bare et=MPI_Recv START
ts=0.052314 icomm=0 rank=10 thd=0 type=msg et=recv icomm=0 rank=8 tag=9001 sz=8
ts=0.052314 icomm=0 rank=10 thd=0 type=bare et=MPI_Recv END
plog形式通信プロファイル
[12] 052315282 Tw=04053 Te=0 COMP
rank-12 [12] 052319335 Tw=00000 Te=0 RECV src=8[8] dst=12[12] icomm=0 size=8 tag=9001
[12] 052319335 Tw=00954 Te=0 COMP
[10] 052314567 Tw=05007 Te=0 COMP
rank-10 [10] 052319574 Tw=00477 Te=0 RECV src=8[8] dst=10[10] icomm=0 size=8 tag=9001
[10] 052320051 Tw=00953 Te=0 COMP
[8] 052317667 Tw=01192 Te=0 COMP
rank-8 [8] 052318859 Tw=00000 Te=0 SEND src=8[8] dst=12[12] icomm=0 size=8 tag=9001
[8] 052318859 Tw=01192 Te=0 COMP
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
11
複数通信プロファイルの部分読込み実行
NSIM rank0
NSIM rank1
バッファから
新規イベントを
キューに投入
NSIMイベントキュー
NSIMイベントバッファ
バッファ内のイベント
残量に応じて新規
イベントを読込む
plog形式
通信プロファイル
rank0 rank1 rank2 rank3
2008/02/19
rank4 rank5 rank6 rank7
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
12
大規模通信プロファイルを用いたシミュレーション
評価アプリケーション:HPL
– 問題サイズ:262,144、ブロックサイズ:128、プロセス数:32x32
– 通信プロファイルサイズ: 20.75Gバイト
実行環境
– DELL Precision T7400
• Intel Xeon 2.83GHz Quad core (E5440), 32GB mem.
– MPICH2-1.0.6p1
– 通信プロファイルを分割し部分読込み実行によりシミュレーション
実行結果
– 8コア実行: 約12時間
(高速化前の処理性能で見積もると38日必要)
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
13
まとめ
次世代スーパーコンピュータの性能評価に向けた
並列シミュレーション技術を開発
– 大規模なインターコネクトシミュレーションに関わる
有益な技術的知見を得た
大規模なシミュレーションを実用時間内で終了
– 8,192ノードシステムのシミュレーション
(All-to-all、bruckアルゴリズム)
⇒ 約140秒(Xeon 3GHz, クラスタ 8コア)
– 22GBの大規模通信プロファイル
(HPL、問題サイズ:262,144、ブロックサイズ:128、
プロセス数:P=Q=32、1,024ランク)
⇒ 約12時間(Xeon 2.83GHz, SMP 8コア)
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
14
課題
数10万ノード規模のインターコネクトへの対応
– 超大規模通信プロファイルの管理技術開発
• ランク数(10万ランク~)、MPI通信(数100億個~)、ファイルサイズ
(数10TB~)を今から意識
– シミュレーション環境
• 64ビット整数演算、数TB MEM、数10TB HDDが近い将来に必要
• 遠くのスパコンよりも足下のメニーコアマシン?
ノード(プロセッサ)シミュレーションとの連携/融合
– 次次世代スパコンの設計開発に向けて、高度なノード構成(複数
コア、メモリ階層など)を踏まえた評価が必要
直接網シミュレーションの検証
– 現在、検証中
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
15
今年度の対外発表
次世代スーパーコンピュータの設計開発を支援するシス
テム性能評価環境PSI-SIM
– 2007年7月 NGArchForum2007
次世代スーパーコンピュータの設計開発に向けたシステ
ム性能評価環境PSI-SIM
– 2007年7月 SWoPP2007
PSI-NSIM:大規模並列システムの性能解析に向けた相
互結合網シミュレータ
– 2007年10月 信学会CPSY研究会
2008/02/19
All Rights Reserved, Copyright (C) PETASCALE SYSTEM INTERCONNECT PROJECT 2005,2006,2007,2008
16