Upload
mark-joyce
View
83
Download
0
Embed Size (px)
DESCRIPTION
アクセラレータを用いた 大規模へテロ環境における Linpack. 遠藤敏夫 ( 東京工業大学 ) 松岡聡教授らとの共同研究. 高性能計算において注目される アクセラレータ. HPC システムで消費電力と演算性能の比は今までも / これからも重要 用途をより特化した SIMD アクセラレータに注目 GPU, Cell を含む. それぞれ ピークを 表す. ヘテロ型計算機システム. 「用途特化」型プロセッサのみの HPC システムは非現実的 そのままでは, OS , Linux ,コンパイラ,既存アプリなどが動かない - PowerPoint PPT Presentation
Citation preview
アクセラレータを用いた大規模へテロ環境における
Linpack
遠藤敏夫 ( 東京工業大学 )
松岡聡教授らとの共同研究
高性能計算において注目されるアクセラレータ
HPC システムで消費電力と演算性能の比は今までも / これからも重要
用途をより特化した SIMD アクセラレータに注目• GPU, Cell を含む
ClearSpeed X620
NVidia GeForce GTX280
ATI Radeon HD 4870
単精度性能 933GFlops 1200GFlops
倍精度性能 80GFlops 78GFlops 240GFlops
消費電力 25W 230W 160W
それぞれピークを表す
ヘテロ型計算機システム「用途特化」型プロセッサのみの HPC システムは非現実的 そのままでは, OS , Linux ,コンパイラ,既存アプリな
どが動かない• 例外 : Linux が動く Cell プロセッサ
ヘテロ型計算機システム に注目 汎用 CPU により広範囲のソフトウェアの利用
• 典型的には x86/x86-64 CPUs アクセラレータにより高い電力性能比 例 : LANL Roadrunner, 東工大 TSUBAME
LANL RoadRunner (2008)
世界初の Linpack1 ペタを実現したのはヘテロ型スパコン
6120 dual-core Opteronと, 12240 Cell ( 倍精度対応 )
IBM ブレード型ピーク性能 1.375PFlops
90% 以上は Cell による
2008/6 Top500 で世界一, Linpack 1.026PFlops
東工大 TSUBAME Grid Cluster (2006)
500GB48disks 500GB
48disks500GB48disks
Voltaire ISR9288 Infiniband 10Gbps
ClearSpeed CSX600
SIMD acceleratorx 360 PCI-X boards
SunFire X460016 Opteron cores x 655nodes
648
ピーク演算速度 102TFlops= Opteron 49.8TF +
ClearSpeed 52.2TFほぼ1:1 2008/6 Top500 で世界 24 位( 67.7TF)
初登場時 7 位 (38.18TF)メモリ合計 20TB
Cooling Towers (~20 units)Cooling Towers (~20 units)
1.6PByte storage1.6PByte storage16 Opteron cores x16 Opteron cores x
655 Compute nodes655 Compute nodes
288Port 10Gbps288Port 10Gbps
InfiniBand SW x 6InfiniBand SW x 6
TSUBAME ユーザと応用 約 1,400 ユーザ
• 東工大教員,院生,学部生• 一部は他大学,企業
広い応用• 分子動力学• 物理シミュレーション• データマイニング・・・TSUBAME は大きな “ Linux クラスタ”なので,莫大なソフトウェ
ア資産を利用可能 ClearSpeed の利用
• Matlab, Mathematica の BLAS 置き換え• AMBER の一部• プログラミング利用はこれからか
ヘテロ型システムでの疑問目的 : ヘテロ型システムにおける大規模アプリケーションの実
行 スケーラビリティの検証疑問 : 異種のプロセッサを,どうすれば効率的に利用可能? どのように・どれだけタスクを割り当てる?
AMD Opteron 8804.8GFlops peak / core
ClearSpeed X620 accelerator80GFlops peak
+
成果 10,368 Opteron コア と 648 ClearSpeed SIMD ア
クセラレータを混合利用し,効率的な Linpack 実行• + 432 Xeon コアも利用
67.7TFlops を実現:ヘテロ型システムとしては RoadRunner に次ぐ2位
TSUBAME の Top500 への挑戦の歴史
Top500 スーパーコンピュータランキング• 年2回 www.top500.org で発表• Linpack 性能によるランキング
’06 春 ’06 秋 ’07 春 ’07 秋 ’08 春速度 (TF) 38.18 47.38 48.88 56.43 67.70
順位 7 9 14 16 24Opteron
CS x 360 CS x 648
Xeon
異種プロセッサを持つTSUBAME ノードの構成
SunFire X4600
8 dual-coreOpteron CPUs(16 cores)
ClearSpeedAccelerator
Other nodes
32GB memory
1GB memory
PCI-X8Gbps
InfiniBand10Gbps x 2
TSUBAME ネットワーク構成
ISR9288switch
120 nodes
10GBVoltaire InfiniBand
IB(InfiniBand)x24
MPO(fiber)x24
ISR9288switch
ISR9288switch
ISR9288switch
ISR9288switch
ISR9288switch
ISR9288switch
ISR9288switch
120 nodes 120 nodes 120 nodes 120 nodes 55 nodes storage
スイッチ二段の木構造 上流バンド幅:下流バンド幅= 1:5
ClearSpeed X620 アクセラレータ
PCI-X accelerator boards• CSX600 SIMD processor x 2 + 1GB DRAM on board• 210MHz x 2FP x 96SIMD x 2 = 80.6GFlops peak
• Configurable up to 250MHz• Power: 25W/board
提供されるソフトウェア :• CSXL BLAS ライブラリ <= 本研究で利用• CSFFT ライブラリ• Cn プログラミング言語
Opteron と ClearSpeed のDGEMM 性能
0
1
2
3
4
5
0 1000 2000 3000 4000
Matrix size M
Spee
d (G
flops
)
B=960 B=240
(MxB) x (BxM)の行列演算
1 アクセラレータの性能は 1Opteron コアの 14 倍程度 ClearSpeed の性能は,行列サイズに大きく影響される
B M
GOTO BLAS on Opteron (1 core)
0
10
20
30
40
50
60
70
0 2000 4000 6000 8000 10000
12000
Matrix size M
Spe
ed (
GFl
ops)
B=864 B=576
CSXL BLAS 2.50 on ClearSpeed
- GOTO BLAS is by Kazushige Goto, U. Texas
ClearSpeed 行列演算ライブラリ
BLAS 互換の行列積 (DGEMM) 関数を提供 CPU 側で呼び出し, CS
側で計算 入出力行列は CPU 側の
メモリ上• CUDA ライブラリと対照
的 関数呼び出しのたびに
PCI-X 通信コストがかかる• 計算量 O(M2B)• 通信量 O(M2+MB)• M, B 大きいと有利
入力行列データ
出力行列データ
計算DGEMM()
PCI-X
推測される DGEMM の挙動
Linpack と Top500 Linpack は Top500 ランキングで用いられる数値
計算ベンチマーク• N x N 密行列連立一次方程式を解く• TSUBAME の場合は N= 約 100 万
HPL (High-performance Linpack) by A. Petitet• 有名な MPI 並列実装• ブロック化を用いた LU 分解に基づく• 密行列積 (DGEMM) 演算が圧倒的に時間を費やす.
計 O(N3)
Top500 ランキングの主要ルール
Linpack の計算速度 (Flops) を競う• 直接解法であること• 倍精度で計算すること• 問題サイズ N は自由
Linpack(HPL) の計算速度 ( 概算 )
⇒ 問題サイズは,メモリに収まる最大とするのが有利 速度は C に近づく
計算速度 =演算数
実行時間=
(2/3)N3
(2/3)N3/C + O(N2)/W + その他C: 全体の密行列積演算性能W: 通信性能
HPL のアルゴリズム
for (k = 0; k < N; k += B)
パネル分解 (L を計算 )
パネルブロードキャスト 行交換通信・ U を計算 行列の残り全体を更新
LUAA ''
N×N行列 Aを LU 分解
N
B行列積の性能でほとんど決まる
ALL
U
L
U
A’L
U
A’L
U
A’L
U
A’LUA’
HPL のデータ分散
複数プロセスが計算に参加し,並列計算
行列は,二次元ブロックサイクリック分割により均等にプロセスへ分配
N
B
Matrix distribution on 6 (=2x3) processes
HPL プログラムの流れパネル分解など
自分の担当について行列積
通信
上へ戻る
パネル分解など
自分の担当について行列積
通信
上へ戻る
パネル分解など
自分の担当について行列積
通信
上へ戻る
速度の差があると、遅い方にひっぱられる 問題サイズ N を大きくしてもこの影響は減らない
HPL プログラムのカーネル 80:20 の経験則
「プログラム実行時間の 80% は、 20% のコードで費やされる」
HPL ではもっと極端「プログラム実行時間のほとんどは、 1 つのカーネル関数DGEMM で費やされる」
本研究では,各処理を,以下のように振り分ける パネル分解など MPI 通信処理 行列積 (DGEMM) CPU+ アクセラレータで実行
• 注:システム全体では両者の性能比はほぼ1:1
CPU で実行
ヘテロ型 TSUBAME での要件均一環境向けに作られた HPL を,以下の条件下で
効率的に実行したい ノード内へテロ性 : ノード内に,汎用 CPU とア
クセラレータが存在 ノード間へテロ性 : 約半数のノードにだけアク
セラレータ搭載 (’07 春まで ) • DGEMM 性能で約 120GFlops : 70GFlops
HPL への変更は少ないことが望ましい
対象とするシステム構成CPU-Only
Fully-Acc’d
Half-Acc’d
均一環境
ノード内へテロ性
ノード内へテロ性 +ノード間へテロ性
基本方針 (1/2) ノード内へテロ性のために,ライブラリ (DGEMM)層で,異種プロセッサの差異を吸収
しかし,プロセス間の性能をバランスさせる必要・・・
プロセスとプロセッサ間のマッピングを調節• DGEMM は容易に計算分割可能
Processes
Processors
DGEMM 実行中のマッピングの例
基本方針 (2/2) ノード間ヘテロ性のために,各ノードのプロセ
ス数を調節• cf. CHARM++, AMPI from UIUC
ヘテロ性に対応しつつ,各プロセスの負荷を均一に
アクセラレータの時分割 現在のアクセラレータは,
複数プロセスから同時利用できない
DGEMM のみを行うサーバプロセスを設置• ClearSpeed を直接操作• 複数 HPL プロセスから D
GEMM 要求を受付• 効率化のため, mmap で
行列データを共有
HPLプロセス
DGEMMサーバプロセス
CS Lib
アクセラレータの性質を考慮したチューニングの必要性
SIMD アクセラレータの性能は,さまざまなパラメータにより大きく影響を受ける• プロセス粒度• プロセスマッピング• ブロックサイズ
それぞれのシステム構成に応じてチューニングが必要
プロセス粒度の性能への影響プロセス粒度: 1 プロセスがいくつ
の CPU コアに対応するか 粗すぎると,ノード間ヘテロの場
合に,バランス調整が困難 細かすぎると,オーバヘッド大
• 各プロセスの担当行列が小⇒アクセラレータの性能が下がってしまう
• パネルなどの共通データの保持・計算など
細粒度
粗粒度
ブロックサイズの性能への影響 ブロックサイズ B が小さすぎると,
アクセラレータ性能が大きく低下 大きすぎると,パネル分解などのオ
ーバヘッド増加B M
“CPU-only” 構成のチューニング CPU 上の BLAS 性能を引き出すことを最優先
16 Opteron cores
GOTO BLAS にとって望ましい,ブロックサイズ 240 を採用
x 648
“Fully-Acc’d” 構成のチューニング フォーカスは
• プロセス粒度・ブロックサイズは充分に大きく, ClearSpeed BLAS が効率的に動作すること
• プロセスが,均等な性能のプロセッサにマッピングされること
16 Opteron cores
ClearSpeed
For PCI-X communication
ClearSpeed BLAS の特性から,ブロックサイズ 864
x 648
Tuning on “Half-Acc’d” Case アクセラレータありノードとなしノードの
バランスが重要Node w/o ClearSpeed
ClearSpeed
For PCI-X
Node with ClearSpeed
ブロックサイズ 864
x 288
x 360
実行環境 TSUBAME の 648 SunFire X4600 ノード 変更 HPL + Voltaire MPI + GOTO BLAS + C
SXL BLAS 3つのシステム構成 :
• CPU Only: Opteron CPU のみ• Half Acc’d: 648 のうち 360 ノードに ClearSpee
d• Fully Acc’d: 全ノードに ClearSpeedGOTO BLAS is by Kazushige Goto, TACC, Univ. of Texas at Austin
TSUBAME の Linpack 性能
01020304050607080
Spee
d (T
Flop
s)
CPU Only Half Acc'dFully Acc'd Fully Acc'd+X
CPU only と比べ, Half Acc’d の場合,
+28% Full Acc’d の場合,
+66% さらに Xeon クラ
スタで +77%• GCOE「計算世界観の
深化と展開」 TSUBASAクラスタ
CPU Half Fully F+X
N 1334160 1057536 1088640 1181952
time 11.5h 4.5h 3.8h 4.5h
おわりに SIMD アクセラレータを用いた大規模ヘテロ型システム
におけるスケーラビリティを示した Linpack 性能 67.7TFlops 既存実装の HPL への改造という形でヘテロ性へ対応
GPGPU の広がりにより,ヘテロ型システムはより身近に
計算性能に対し, PCI 通信性能の不足が今後問題に