380 likes | 528 Views
科学技術計算を対象とした 大規模再構成可能データパスの 性能評価. 片岡 広志 a) , 本田宏明 b) , Farhad Mehdipour a ) , 井上 弘士 a) , 村上和 彰 a). a) 九州 大学 b) 九州先端科学技術 研究所. 背景. PowerXcell を 搭載したスーパーコンピュータ 「 Roadrunner 」. スーパーコンピュータ 「 TSUBAME 」. アクセラレータボード 「 CSX 600 」.
E N D
科学技術計算を対象とした大規模再構成可能データパスの性能評価科学技術計算を対象とした大規模再構成可能データパスの性能評価 片岡広志a),本田宏明b),FarhadMehdipoura), 井上弘士a),村上和彰a) a)九州大学 b)九州先端科学技術研究所
背景 PowerXcellを搭載したスーパーコンピュータ「 Roadrunner」 スーパーコンピュータ 「TSUBAME」 アクセラレータボード 「CSX 600」 • High Performance Computing (HPC)分野では汎用プロセッサ(GPP) を集積したスーパコンピュータが広く利用されている • GPPの演算性能を補うための種々のアクセラレータ • PowerXcell, ClearSpeed, GPGPU, GRAPE-DR, etc. • 同性能のGPPと比べて、省スペース,低消費電力 http://it.nikkei.co.jp/ http://www.top500.org/system/9485 http://www.clearspeed.com/
大規模再構成可能データパスとその課題(LSRDP: Large Scale Reconfigurable Data Path) • 要求メモリバンド幅を抑え、かつ高い演算性能を実現するアクセラレータ(LSRDP)の提案 • 課題:LSRDPに対する性能評価 • アクセラレータではメモリウォール問題が深刻化 • 高い演算性能に比例した大きな要求メモリバンド幅
研究の目的 • ベンチマークとなるアプリケーションに対し,LSRDPの性能を定量的に評価する • 3種類のアプリケーションを対象 • 性能モデル式+サイクルアキュレートなシミュレータでの実行時間の見積もり • 汎用プロセッサ単体性能との比較 • 性能を決定するボトルネックの解析
目次 • 背景 • 大規模再構成可能データパス • 性能評価 • 評価対象アプリケーション • 評価実験 • おわりに
大規模再構成可能データパスの概要 • 再構成可能なデータパス • 多数のFPU • 再構成可能なネットワーク(ORN) • 入出力にストリームバッファ(SB)を搭載 • 特徴 • 計算コストの高い部分をデータフローグラフ(DFG)化して直接マッピング • パイプライン処理によりDFG部分を加速実行 • 主記憶上に整列されたデータをバースト転送により入力 LSRDP 汎用プロセッサ (GPP: General Purpose Processor) ... FPU FPU FPU FPU ORN : Operand Routing Network : : : : ... FPU FPU FPU FPU ORN ... FPU FPU FPU FPU 入力データ1 SB 入力データ2 入力データ3 SMAC 主記憶
- + DFGの直接マッピングによる効果 スカラープロセッサ LSRDP プログラム B C A = B + C; D = A-E; load R0, [B] load R1, [C] add R2, R0, R1 store R2, [A] Read Mem. Read Mem. ・ ・ ・ ・ ・ ・ ・ E データ 依存 Write Mem. A データ 依存 ・ ・ ・ load R3, [A] load R4, [E] sub R5, R3, R4 store R5, [D] Read Mem. ・ ・ ・ ・ ・ D Write Mem. ・ ・ ・ ・ ・ ・ ・ メモリアクセス回数を削減可能
LSRDPを用いたプログラム実行の流れ オリジナル GPP コード LSRDP 向けコード Loop データ整列 LSRDP 再構成 計算開始信号( GPP -> LSRDP) Loop LSRDP パイプライン動作 End Loop 計算終了信号( LSRDP -> GPP) データ整列 End Loop Loop Loop calculation End Loop End Loop GPP LSRDP 主記憶
LSRDPを用いたプログラム実行の流れ GPP LSRDP Loop データ整列 LSRDP 再構成 計算開始信号( GPP -> LSRDP) Loop LSRDP パイプライン動作 End Loop 計算終了信号( LSRDP -> GPP) データ整列 End Loop 主記憶
LSRDPを用いたプログラム実行の流れ GPP LSRDP Loop データ整列 LSRDP 再構成 計算開始信号( GPP -> LSRDP) Loop LSRDP パイプライン動作 End Loop 計算終了信号( LSRDP -> GPP) データ整列 End Loop 主記憶
LSRDPを用いたプログラム実行の流れ GPP LSRDP Loop データ整列 LSRDP 再構成 計算開始信号( GPP -> LSRDP) Loop LSRDP パイプライン動作 End Loop 計算終了信号( LSRDP -> GPP) データ整列 End Loop 主記憶
LSRDPを用いたプログラム実行の流れ GPP LSRDP Loop データ整列 LSRDP 再構成 計算開始信号( GPP -> LSRDP) Loop LSRDP パイプライン動作 End Loop 計算終了信号( LSRDP -> GPP) データ整列 End Loop 主記憶
LSRDPを用いたプログラム実行の流れ GPP LSRDP Loop データ整列 LSRDP 再構成 計算開始信号( GPP -> LSRDP) Loop LSRDP パイプライン動作 End Loop 計算終了信号( LSRDP -> GPP) データ整列 End Loop 主記憶
LSRDPを用いたプログラム実行の流れ GPP LSRDP Loop データ整列 LSRDP 再構成 計算開始信号( GPP -> LSRDP) Loop LSRDP パイプライン動作 End Loop 計算終了信号( LSRDP -> GPP) データ整列 End Loop 主記憶
性能モデリング GPPとLSRDPはオーバーラップ実行しないと仮定 LSRDPを利用する際の オーバーヘッド LSRDPにおける実行時間 + + 再構成時間 通信時間 (シグナル) 整列時間 理想的な実行時間 (毎クロックサイクル入力データを投入可能) + 主記憶アクセスに係わるストール時間
目次 • 背景 • 大規模再構成可能データパス • 性能評価 • 対象アプリケーション • 評価実験 • おわりに
対象アプリケーション • 2階の定数係数偏微分方程式 • 差分方程式 • 1次元の熱伝導方程式(Heat) • 2次元のPoisson方程式(Poisson) • 量子化学分野 • 2電子積分計算(ERI)
熱伝導方程式(Heat) (D, Bは定数) 差分方程式に対応する DFG • 1次元の熱伝導方程式 • 差分方程式化 • DFGの接続 • x方向とt方向に拡大可能
熱伝導方程式のLSRDP システムへの実装 オリジナル GPP コード LSRDP 向けコード LSRDPを再構成 Loop j’ (DFGで計算する時間発展分毎) データ整列 Loop N LSRDPパイプライン動作 (差分方程式の計算) End Loop データ整列 End Loop Loop j Loop i T(xi,tj) End Loop End Loop
Poisson方程式 2D – Poisson方程式 遂次過緩和(SOR) 法 ω is const. 赤と青の点を交互に求める を求めるために、 の4点が必要
DFGの拡大による繰り返し回数の増加(Poisson) 4+1ノードの入力 中心1ノードの出力 SOR式 1回の計算 SOR式 2回の繰り返し 9+4ノードの入力 中心1ノードの出力 • DFGの拡大により1度に計算可能な繰り返し回数が増加 これに伴い必要な入力数も増加
Poisson方程式のLSRDP システムへの実装 オリジナル GPP コード LSRDP 向けコード LSRDPを再構成 Loop Iter’(DFGで計算する繰り返し回数毎) データ整列 Loop N LSRDPパイプライン動作 (差分方程式の計算) End Loop データ整列 End Loop Loop Iter Loop i loop j u(xi,yj) End Loop End Loop End Loop
2電子積分計算のLSRDP システムへの実装 LSRDP 向けコード オリジナル GPP コード Loop I,J,K,LLSRDP 再構成Loop contraction 初期積分計算 End Loop データ整列 Loop N LSRDP パイプライン動作 (漸化式計算 部分フォック行列計算) End Loop データ整列 End Loop Loop I,J,K,L Loop contraction 初期積分計算 漸化式計算 End Loop 部分フォック行列計算 End Loop 初期積分計算: 開平逆数,指数,誤差関数計算が含まれる.=> GPP による計算 漸化式計算,部分フォック行列計算: 加減乗算のみ => LSRDP での計算
評価実験 3.2GHz 200MHz GPP LSRDP 再構成時間 1cc メモリバンド幅 12.8~102.4 [GByte/sec] 主記憶 • 実験目的 • GPP単体と比較してどれほど実行時間が削減できるか • 性能に影響を与える要因の調査 • メモリバンド幅を変更した際の実行時間への影響 • DFGサイズを変更した際の実行時間の変化 • 評価方法 • サイクルアキュレートなシミュレータ+性能モデル式 • 評価環境
ベンチマークDFGのサイズ • Heat,Poissonについては • サイズが異なる複数のDFGを準備 • ERIは1回の計算で用いる6種類のDFGのサイズが一定
実験結果:Heat 正規化した実行時間 • 実行時間を最大で20%まで削減 • 整列時間が支配的 • DFGサイズの拡大に従って実行時間が減少 主記憶の メモリバンド幅 [GByte/sec] ベンチマークDFG
実験結果:Poisson 正規化した実行時間 • 全てのDFGで実行時間が増加 • 整列時間が支配的 • DFGサイズの拡大に従って実行時間が増加 主記憶の メモリバンド幅 [GByte/sec] ベンチマークDFG
実験結果:ERI 正規化した実行時間 • 実行時間を最大で16%まで削減 • 整列時間が支配的 主記憶の メモリバンド幅 [GByte/sec] ベンチマークDFG
DFGの特徴と整列時間との関係 • DFGサイズの拡大につれて • Heat:性能向上 • Poisson:性能低下 • 整列時間 ∝#I/O(DFGの入出力データ数)×DFG使用回数 • 整列時間は#I/OとDFG使用回数の積に依存しておりDFGサイズとの単純な比例関係にない なぜ?
目次 • 背景 • 大規模再構成可能データパス • 性能評価 • 評価対象アプリケーション • 評価実験 • おわりに
おわりに • まとめ • LSRDPを利用することで実行時間を最大で16%程度まで削減 • メモリバンド幅の増加に従いストール時間は低下 • 実行時間の半分以上を整列時間に使用 • ベンチマークによってDFGサイズによる実行時間への影響は異なる • 今後 • 整列時におけるアルゴリズムの探索 • 新たなメモリ構成の検討
パイプライン動作による演算の推移 入力データ3 入力データ2 空データ 入力データ1 入力データ4 時間 ORN データ 入力 演算 演算 ・・・・ 演算 データ 出力 FPU FPU FPU FPU データ 入力 演算 ・・・・ 演算 演算 データ 出力 ORN データ 入力 ・・・・ 演算 演算 演算 FPU FPU FPU FPU データ 入力 演算 演算 ORN FPU FPU FPU FPU CPSY 2008 10/31 34 ORN
分子軌道法計算のボトルネック:電子反発積分 (ERI) 量子力学的電子反発エネルギー計算 begin loop IJKL (IJ,KL)を利用(部分フォック計算) end: loop ERI の初期項計算 ERI: (IJ,KL) + 漸化計算 (大量の積和計算)
電子反発積分計算表式~(pp,pp) までの漸化計算のみの場合~ 漸化計算のみの場合 入力: 最大 28 個(計算依存) 出力:1 ~ 81 個 (計算依存) (ss,ss)(m) ならびに 種々の係数は入力によって与える (i,j,k,l = x,y,z): p 関数は 3 成分を持つ
DFGの生成(Heat) N 入力 M回時間発展
DFGの拡大による入力数の増加(Poisson) 4+1ノードの入力 中心1ノードの出力 SOR式 1回の計算 SOR式 2回の繰り返し 9+4ノードの入力 中心1ノードの出力 1DFGで計算可能な繰り返し回数の増加に 従って入力数が増加