PC クラスタワークショップ 日立のテクニカルコンピューティングへの取り組み 2010/2/19 株式会社日立製作所中央研究所清水正明 1
目次 1 2 3 日立テクニカルサーバラインナップ 日立サーバラインナップ 物理乱数発生カードの紹介 4 GPU コンピューティングへの取り組み 5 TOP50 状況 2
1-1 日立テクニカルサーバ :History&Future Almost 30 Years of Super Computing Development Petaflop computer Vector S-810 First Japanese vector supercomputer S-820 Single CPU peak performance 3 GFlops Scalar Parallel (MPP type) SR2201 S-3800 Single CPU peak performance 8 GFlops (fastest in the world) SR8000 First commercially available distributed memory parallel processor Vector-Scalar Combined type First HPC machine with combined vector & scalar processi ng SR11000 147.2 GFlops of node peak performance with POWER5+ processor (Model K2) PC Server HA8000 Series SR16000 Over 3-4 times node peak performance with POWER6 processor HA8000-tc/RS425 High Performance Server for Cluster System '96 Hitachi started development of Hitachi s original chipset and server for Itanium processor. '82 '85 '90 '95 '00 05 10 POWER 6 is a trademar k of IBM cor porati on. POWER5+ is a trademark of IBM corporation. 3
1-2 日立テクニカルサーバラインアップ PC クラスタからスカラ SMP までラインアップ拡充 最新 POWER6 TM プロセッサ 32way 搭載 SR16000 Opteron TM 4 ソケットプロセッサ 今後の最新 cpu にも対応予定 SR16000 VL1 モテ ル POWER6 TM 5.0GHz64way 空冷モテ ル Opteron TM 2.3/1.9GHz16way HA800-tc/RS425 SR16000 L2 モテ ル SR16000 L1 モテ ル POWER6 TM 4.7GHz32way 水冷モテ ル POWER6 TM 3.5GHz32way 空冷モデル PC クラスタ スカラ SMP クラスタ 4
2 日立サーバラインナップ ブレードサーバ ラックマウントサーバ 5
2-2 BladeSymphon yラインアップ 規模や用途を広範囲にカバー 単なる統合ではなく 全体最適化したシステムを提供します ターゲット ブレードサーバ部 ストレージ部 ネットワーク部 Web3 階層統合システム, 大規模データベース等 ハイエンドモデル BS200 Hitachi Storag e Solutions CommuniMax PC サーバ統合データセンター中小規模の部門サーバ 小型高集積モデル BS320 SMS10 BR160 BR20 ロードバランサ AX2500 サーバ仮想化日立サーバ仮想化機構 Virtage VMware ESX WindowsServer 2008Hyper-V TM かんたん導入モデル BladeSymphon ysp 導入後すぐに使えるブレードサーバ システム管理ソフトウェア BladeSymphon ymanagesuite ミドルウェア 主要 ISV ソフトウェア プラットフォームソリューション / サポートサービス 6
2-3 ハイエンドモデル BS2000 の特徴 ミッションクリティカル システムにフォーカス 仮想統合を実現する高性能 高信頼ブレードサーバ 仮想化による集約 高速処理に対応した性能 拡張性 -インテル Xeon プロセッサー搭載 メモリ最大 144GB -I/O 性能 :162Gbps( 内部バス 単方向 ) -I/O 拡張性 シャーシ : 内蔵スイッチ 6 台サーバブレード : 拡張カード x2,pci-express カード x2 I/O スロット拡張装置 :PCI-Express カード x16 日立サーバ仮想化機構 Virtage 標準搭載 (*1) 8 ブレード /10U メインフレームの高信頼 高可用化技術を継承 -Linux 環境高信頼化, 稼動中の保守性, 保守作業容易性 世界最高基準の高効率電源 -CSCIGold 基準適合,80PLUS GOLD 認証取得 (*2) 長期サポート ( ロングライフサポートサービス :7 年 ) *1:Essential モデル *2: 電源負荷 50% 時の変換効率 92% を実現 7
2-4 小型高集積モデル BS320 の特徴 より軽く より小さく高密度実装を追求 幅広い用途に対応する高集積 省電力ブレードサーバ 高さ6U( 約 27cm) に最大 10 ブレード搭載可能 最大重量約 98kg/ シャーシの軽量設計 用途に応じた多彩なサーバブレードをラインアップ 日立サーバ仮想化機構 Virtageに対応 (*1) 高効率電源 (CSCISilver 基準適合,80PLUS SILVER 認証取得 (*2)) 長期サポート ( ロングライフサポートサービス :7 年 ) 標準サーバブレード SAN 専用サーバブレード HDD 拡張サーバブレード PCI 拡張サーバブレードロードバランサブレード *1:PCI 拡張サーバブレード Virtage モデルで提供 *2: 電源負荷 50% 時の変換効率 89% 以上を実現 8
2-5 HA800 製品ラインアップ (4Processor) xj モデル (2Processor) HA8000/ TS20 xj モデル (1Processor) HA8000/ TS10 Xeon(X5570/E5540/E5520/E5502) 2コア 4コア SAS3.5/2.5 型 HDD SATA 3.5 型 HDD 日立製 RAID 静音 ( 全モデル ) オンボード SVP 消費電力表示 Xeon(X3430/X3460/X3470 2コア 4コア SAS3.5 型 HDD SATA 3.5 型 HDD 日立製 RAID 静音 WSS モテ ル HA8000/ RS440 HA8000/ RS220 HA800-es/RS220 HA8000/ RS210 HA800-es/RS210 HA8000/ RS110 Xeon(X7460/E7450/E7450/E7220) 2コア 4コア 6コア SAS2.5 型 HDD 日立製 RAID LAN4 ホ ート Xeon(X5570/E5540/E5520/E5502) Xeon(L5520)*2 2コア 4コア SAS3.5/2.5 型 HDD SATA 3.5 型 HDD 日立製 RAID オンボードSVP 消費電力表示 WSS モテ ル Xeon(X5570/E5540/E5520/E5502) Xeon(L5520)*2 2コア 4コア SAS3.5/2.5 型 HDD SATA 3.5 型 HDD 日立製 RAID オンボードSVP 消費電力表示 Xeon(X3430/ X3460 /X3470) 2コア 4コア SATA 3.5 型 HDD WSS モテ ル *1:HA8000 のみ *2:HA8000-es のみ 9
3 物理乱数発生カードの紹介 10
3 物理乱数発生カードの用途 : モンテカルロシミュレーション等 シミュレーションにおいて高品質な乱数が求められる 利点 : CPU に負荷を与えず乱数を生成可能 11
3-1 物理乱数発生カード 日立 SR シリーズ用に物理乱数カードを独自開発 第三世代ではノードに最大 4 枚を搭載可能とし生成性能を向上 第一世代 (199 年 1 月出荷 ) 第二世代 (204 年 12 月出荷 ) 第三世代 (2010 年 1 月出荷予定 ) 搭載サーバ SR800 SR11000 SR16000 理論乱数生成速度 25MB/s 20MB/s 20MB/s( 単体 ), 40MB/s( ノード ) 乱数源, 白色ノイズ, 白色ノイズ, 白色ノイズ, 乱数生成方式 A/D 変換 A/D 変換 + 並列 A/D 変換 + 並列 物理インターフェース PCI2.1 準拠 PCI2.2 準拠 (64bit,66MHz) PCIExpressx4 ノード搭載枚数 1 セット (2 枚 ) 1 枚 1~4 枚 12
3-2 新 ( 第三世代 ) 物理乱数カードの概観 Buffer with parallel conversion circuit PCI bus controller Noise generator A/D converter On-board power supply 乱数カード ホスト I/F:PCI-Exp4x 物理乱数発生源 : 白色ノイズ ( 熱雑音 ) 理論乱数生成性能 : 200MB/s/ カード,400MB/s/ ノード 13
3-3 新 ( 第三世代 ) 物理乱数カードの論理構成図 PCIExpress x4(1gb/sx 双方向 ) 乱数データを DMA 転送 アナログ回路 (4 組 ) 200MHz サンプリング 12bit(4bit 選択 ) ブリッジ FPGA PCI-X バス 100MHzx8B AMP A/D 変換 乱数生成 1 (RNG2 方式 ) バッファ PCI-X バス IP コア 乱数生成 2 ダイオード電圧の熱雑音を A/D コンバータでサンプリング 独立した 4 系統の生成源を統合し乱数生成 14
3-4 物理乱数カードの使い方 ( プログラム I/F) Fortran のユーザ インタフェース ( サブルーチン 関数 ) を提供 ユーザは乱数データの個数と型を指定するだけ 利用可能データ型は単精度整数 単精度実数 倍精度実数 ノード 特定の COMMON 領域 乱数の種別に応じて名称が決まっている ユーザ プログラム 乱数データ格納領域 物理乱数カード サブルーチン名 ( 一部 ) RANDOM IRANDM DRAND DURANDM 機能 正の整数乱数 ( 整数型 ) を指定した領域に 1 個取得 正の整数乱数 ( 整数型 ) を指定した領域に N 個取得 Fortran の COMMON 領域名 :IRANAR 正の実数乱数 ( 倍精度型 ) を戻り値として取得 正の実数乱数 ( 倍精度型 ) を指定した領域にN 個取得 *N は最大 3,000,000 個 Fortran のCOMMON 領域名 :DURANAR 15
4 GPU コンピューティングへの取り組み 16 16
4-1 最新 GPU の動向 HPC 向け機能の拡充 倍精度性能の飛躍的向上 メモリエラー訂正機能 (ECC) のサポート GPU 機種に依存しないヘテロジニアスプログラミング環境 OpenCL のサポート NVIDIA Tesla20 S2070 性能 550~625GFLOPS 4( 倍精度 ) AMD/ATIRadeonHD5970 2.32TFLOPS 2( 単精度 ) 464GFLOPS 2( 倍精度 ) メモリ GDDR5,6GB 4,ECC サポート GDDR5,1GB 2,256GB/s 電力 900W(typ) Idle51W,max294W プログラミング環境 その他 C forcuda,cudafortran(pgi) 自動 GPU コンパイラ (PGI) OpenCL DirectX 11 統合開発環境 Nexus IEEE754-2008 準拠 Stream SDK(Brook+,CAL) OpenCL DirectX11 開発環境 KernelAnalyzer 17 17
メリット デメリット内容メリッデメリッ4-2 GPGPU のメリット デメリット ト信頼性向上の動き メモリエラー訂正機能サポート (NVIDIA) 高演算性能 単精度 1~3TFLOPS, 倍精度数百 GFLOPS 高メモリバンド幅 150~250GB/s 低価格 HPC 向けGPU で ~30 万円, グラフィクス向け GPU で ~ 数万円 プログラミング環境汎用化の動き OpenCL(GPU,Cel, マルチコア CPU の共通言語仕様 ) PGI コンパイラ (GPU コード自動生成機能 ) トホスト CPU とのデータプログラムの全データを GPU に保持して処理できれば転送による性能低下 10~100 倍加速, プログラムの互換性 プログラム書き換え必須, 性能をひきだすための独特チューニング要 メモリ容量 GPU あたり1~ 数 GB で大規模科学技術計算には不足 プログラムの一部データを GPU に転送して処理すると加速率は10%~3 倍 (*) (*) 東京工業大学青木尊之教授講演より http://www.kgt.co.jp/avs_conso/event/vc15/summary/data/2-4p.pdf ほか 18
4-3 日立の研究開発への GPGPU 適用可能性 計算科学を用いた日立の研究開発分野 材料物性 ナノシミュレーション 機械 ( 熱流体, 構造, 振動 ) 電磁場 ライフサイエンス 19
4-4 GPGPU 性能評価 (1) 分子動力学 評価対象 : 隣接粒子リスト作成処理全粒子間のすべての組み合わせに対して距離を計算し, カットオフ半径以下のものについてポテンシャル計算の対象とする 27,343 粒子, 領域サイズ 120x120x70A, カットオフ半径 5.2A 実行環境 : Corei7(2.67GHz)+GeForceGTX285 CUDA 2.2 実行結果 CPU 実行 :8.12 秒,0.8GFLOPS GPU 実行 :0.10 秒,64.9GFLOPS 約 80 倍高速化 9 8 7 3 2 1 0 8.12 秒 計 6 算 5 時約 80 倍間(4 秒)CPU 実行 0.10 秒 GPGPU 実行 20
4-5 GPGPU 性能評価 メモリホスト (2) 並列 GPU 0 CPU0 GPU 間通信スループットの評価 GPU0 複数 CPU ノード + 複数 GPU でMPI 並列 GPU0 IOH メモリデータ交換スループットを評価実行環境 (Corei7+GTX280)+(Corei7+GTX295)+ Memcpy InfiniBand(x4DDR) CUDA2.2,MVAPITCH2 遂次実行実行結果 パイプライン実行により 3.3GB/s に向上 スループット [MB/s] 3,500 3,000 2,500 2,000 1,500 1,000 500 0 GPU 間通信スループット ( 双方向 ) 遂次実行 (pageable) 遂次実行 (pinned) パイプライン実行 (pinned) 1.E+00 1.E+03 1.E+06 1.E+09 通信サイズ [B] パイプライン実行 GPU0 CPU0 CPU1 GPU1 Memcpy Isend/ Irec v Memcpy Memcpy GPU0 CPU0 CPU1 GPU1 [0] [1] [2] [0] [3] [1] [2] [3] [0] [1] [2] [3] PCIe InfiniBand ホスト CPU1 IOH [0] [1] [2] [0] [3] [1] [2] [3] メモリ 1 GPU1 GPU1 メモリ PCIe 時間 ( 片 8GB/s) InfiniBand 時間 ( 双 4GB/s) PCIe 時間 ( 片 8GB/s) PCIe 時間 4 InfiniBand 時間 ( 双 4GB/s) PCIe 時間 4 21
4-6 今後の取り組み ノウハウの蓄積 : 各種の HPC アプリケーションの GPGPU 適合性を検証 CUDA,PGI コンパイラ ( 指示行ベース ),OpenCL を用いた最適化技術を蓄積 並列 GPU 評価の推進 製品展開, ソリューション展開 : PC クラスタ製品の一展開として推進 ( ご相談ください ) 22
5 TOP5 0 状況 23 23
5-1 TOP50 状況 http://www.top500.org/ 東京大学情報基盤センター殿システム Linpack 測定値 ;82.98Tflops 理論ピーク ;113Tflops=(512+256)x147.2 効率 ;73.4% (209/11 発表 ) Linpack 測定値 ;101.74Tflops 理論ピーク ;139Tflops=(94)x147.2 効率 ;73.1% 24
5-5 2009/11 発表の性能 2008/11 発表の性能 2009/1 4SMPBLAS(Gotor25) (Gotor26) N=10,000 32.07Gflops 87.1% 33.15Gflops 90.1% LINPACK(512+256:113Tflops) (944:139Tflops) N=1,433,600 P=32,Q= 96 4SMP-3072 MPIs N=1,740,800 P=32,Q=118 4SMP-3776MPIs BlocksizeNB=160,Bcast=1ring 82.98Tflops(6 hr 34 min 30 sec ) 73.4% 101.74Tflops(9 hr 36 min 07 sec ) 73.1% 25
26