スーパーコンピューティング: 高速に計算する技術 九州大学情報基盤研究開発センター 南里 豪志 [email protected] 1 レポート課題 ! この講義を聴いたうえで、 日本で、多額の予算を投じてスーパーコ ンピュータを開発する意義の有無につい て論じなさい ! 締切: 11月12日(金) ! 提出先: [email protected] ! 提出形式: Wordもしくはテキストファイル 2 グラフィックプロセッサで スーパーコンピュータを作る? ! PC用のグラフィックプロセッサ(GPU)を スーパーコンピュータとして使う 1997年の世界最速スーパーコンピュータと 同等のハードウェア性能を約7万円で実現 http://wiredvision.jp/news/200806/2008062322.html 何故こんなことに? 3 講義の流れ ! なぜ高速な計算機が必要か ! スーパーコンピュータのアーキテクチャ ベクトルプロセッサとスカラープロセッサ 並列計算機 アクセラレータ (Cell, GPU等) ! 今後の展望 4 スーパーコンピュータの重要性 ! 様々な分野でスーパーコンピュータが活躍 膨大な計算に基づいたシミュレーション: 製品設計、薬品開発、遺伝子解析、気象予測 、株価予測、etc... ! 計算能力が商品やサービスの質に直結 5 スーパーコンピュータの利用例: 天気予報 ! 現在はほとんど「数値予報」に依存 ある時点での大気の状態をもとに 時間的な変化をシミュレート 大気の状態: 温度、湿度、気圧、風、地形など 予測法: 流体力学計算(流体の運動+熱力学) ! 予測精度向上の手段: 計算方法の改善、観測データの改善、 より細かい格子での計算、etc. 特に格子の大きさに注目 6 日本近辺の天気予報 ! 地球全体と東アジア領域について 大気情報を収集し大気の循環を シミュレート ! 東アジア領域の計算 以前は、水平方向 20km四方、鉛直方向40層 の格子に分割して計算 20km四方の地域全体が同じ気温,湿度? 例) 福岡市の面積= 340km2 7 計算モデルの改良(2006年) ! 水平方向 5km, 垂直方向 50層 = 格子の数が 4 x 4 x 1.25 = 20倍 ! 計算量は、少なくとも 20倍以上 以前の格子数で、24時間後を予測する計算に 2時間要していたとすると... ⇒ 同じ計算機だと 40時間以上 予報を計算しているうちに明日が来てしまう! 8 さらに高速な計算機が必要な例: 地球環境予測 ! 地球全体の大気循環や海洋循環を予測 長期予報 温暖化 エルニーニョ 地域の天気予報とは比較にならない計算量 9 地球シミュレータの登場 (2002年) ! 稼動開始時点(2002年3月)時点で, 世界最高速のスーパーコンピュータ 日本の計算機メーカ(主に NEC)が開発 ! 開発目標: 10km四方(赤道近辺)の精度 で地球全体の大気循環をシミュレート ! それまでは 100km四方 例えば台風の発生過程: 100km四方だと台風が 台風に見えない 10 地球シミュレータの成果 ! 台風進路予測 5.5km四方で地球全体をシミュレート(日本近辺は 2.78k m四方) 海底探査船「ちきゅう」に, 台風進路の予測結果を到達 予定の3日前に提供 ! 台風発生予測 過去10年間についてシミュレーションによる台風発生回 数が実際の値とほぼ一致 ! CO2の増加に伴う温暖化の予測 2040年には年間の真夏日日数が約20日増加, 平均気温が約2度上昇. 11 世界的に見た 地球シミュレータの性能 ! 世界の計算機性能比較サイト TOP500( http://www.top500.org)で断トツの 1位 2位から10位までの計算機の演算性能の合計を上回る性 能(2002年6月時点) ! “Computenik” = 「計算機分野でのスプートニクだ!」 (in New York Times, by Jack Dongarra@Univ. Tenn.) 米国の開発意欲に火を付けた 12 Top500リスト: スーパーコンピュータの性能比較 ! 計算機の性能(演算回数/秒)は 動作させるプログラムによって変化するので、 比較のため、共通のプログラム(ベンチマーク)が 必要 ! Top500リスト: LINPACKベンチマークを使った性能比較 実際に稼働中の計算機で計測した性能を登録 毎年6月と11月に更新 LINPACKベンチマーク: 大規模な連立一次方程式の求解 計算機の基本性能比較向き (実際のプログラム実行性能の参考にはなりにくい) 13 米国の逆襲(2004年) ! IBM Blue Gene/L (2004年11月∼) http://www.research.ibm.com/bluegene/ 理論最高性能 70.72TFLOPS ちなみに地球シミュレータはSGIの計算機に次いで3位 「まだ完成形ではない」: 2005年前半に、さらに4倍高速化 日本のすべてのスーパーコンピュータを かき集めても追いつかない規模になる 14 米国の逆襲(2005年) ! IBM Blue Gene/L (2005年11月) 理論最高性能 280.6TFLOPS 世界で初めて 100TFLOPSを越えた計算機 地球シミュレータは7位に後退 本当に日本のすべてのスーパーコンピュータを かき集めても追いつかない規模に 世界500位に入った計算機の性能の国別合計: 1位 米国 68.3% 2位 日本 5.68 % 3位 イギリス 5.41% 4位 ドイツ 3.10% 5位 中国 2.59% 以下、 オーストラリア、スイス、オランダ、韓国、… 15 最新情報(2010年6月) ! 1位 Cray Jaguar – XT5-HE(米国) 2位 Dawning TC3600 (中国) 2位と7位に中国が登場 1.759PFLOPS 1.271PFLOPS ! 国別合計: 1位 米国 56.40% (17.97 PFLOPS) 2位 中国 9.23% ( 2.99 PFLOPS) 3位 ドイツ 6.93% ( 2.25 PFLOPS) 4位 英国 5.50% ( 1.79 PFLOPS) 5位 フランス 5.26% ( 1.71 PFLOPS) 6位 日本 3.86% ( 1.25 PFLOPS) 以下、 ロシア,スウェーデン,カナダ,スイス,... 日本のシステムの最高位: 地球シミュレータ2 (NEC) 191.2TFLOPS(22位) 16 さらに最新情報 ! 中国のスーパーコンピュータが 2.507PFlops を達成。(2010年10月) 2010年11月のリスト更新で世界最速へ? http://japan.cnet.com/news/service/story/0,3800104747,20422175,00.htm ! 東京工業大学が理論性能 2.4PFlopsの TSUBAME2.0 運用開始 Linpackの性能は計測中 http://www.titech.ac.jp/topics/news/ 17 日本の 次世代スーパーコンピュータ ! 理化学研究所と富士通が開発中 http://www.aics.riken.jp 目標: 2012年までに 毎秒1京回の計算(=10PFLOPS)が 可能な計算機を開発 例えば... 1km平方で分割したアジア域の雲解像モデ ル解析(24時間分)を 1分で計算 地球シミュレータでは 12時間必要 18 次世代スーパーコンピュータ に関する問題 ! 膨大な開発費: 7年間で約1,200億円 事業仕分けでの指摘 「2番じゃダメなんですか?」 ! 米国では2012年に 20PFlopsの計算機 Sequoia を開発予定 19 アーキテクチャの変化: 地球シミュレータ → BlueGene/L 地球シミュレータ BlueGene/L 1CPUあたりの性能 CPU数 8GFLOPS 5,120 2.8GFLOPS 131,072 ! 地球シミュレータ: 最速のプロセッサを比較的少数利用 ! BlueGene/L: 低速のプロセッサを多数利用 対照的なアプローチ 20 プロセッサのアーキテクチャ ! 地球シミュレータ: ベクトルプロセッサ 科学技術シミュレーションに特有の計算を 超高速に実行するための特殊な構造 連続領域の大量データに対する同じ演算の繰り返し 非常に高速だが,非常に高価 ! BlueGene/L: スカラープロセッサ PC等で使われているものと同じ構造 そこそこの性能を安価に実現 比較的容易に開発,スケールメリット 特に,メモリ装置の構造に大きな差 21 基本的なCPUの構成 ! 命令読み出し → 解釈 → データ読み出し → 計算 → 結果の出力 入出力装置 磁気ディスク, キーボード, ディスプレイ等 制御装置 メモリ プログラム 3 100 1 処理装置(CPU) 3 200 2 1 1 演算装置 2 データ メモリからデータが届くまで計算できない 22 CPUとメモリの速度差の問題 ! CPU:1回の演算時間: 0.25∼0.5ns ! メモリ:1回の読み書き時間: 数ns∼数十ns ! 約10~100倍の性能差: データを待つ間,CPUは仕事ができない ! ベクトルプロセッサ,スカラープロセッサ, それぞれ別の方法で解決 23 ベクトルプロセッサのメモリ ! パイプラインによる連続アクセスの高速化 パイプライン(=バケツリレー) → データが届き始めてからはメモリ遅延の影響なし CPU メモリ a[8] a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] さらに、 ! 複数のデータの同時転送 CPU メモリ ! ベクトル命令 一つの命令で複数のデータに対する演算を一括指示 非ベクトル add a(1) b(1) add a(2) b(2) add a(3) ベクトル vadd a(1~100) b(1~100) b(3) 連続データに対する単純な演算の繰り返しに有効 24 スカラープロセッサのメモリ ! キャッシュメモリの利用 CPUとメモリの間に置く高速メモリ 高速だが小容量 ! 速度に応じて階層化 階層 遅延時間 容量 1次キャッシュ 1クロック 32KB 2次キャッシュ 5クロック 256KB 3次キャッシュ 12クロック 3MB∼9MB メモリ 数百クロック 数GB∼数百GB キャッシュメモリ CPU 1次 2次 3次 メモリ アクセスされた領域をCPUの近くにコピー 小さい領域内での計算が非常に高速 25 ベクトルからスカラーへ ! ベクトルプロセッサの利点=簡単に高い性能 プログラムの工夫がほとんど不要 メモリ機構の高速化と プログラム自動チューニング技術の発達 ! ベクトルプロセッサの欠点=高価 開発費や製造費が非常に高価. ! スカラープロセッサ: ある程度の性能を安価に提供可能 キャッシュメモリをうまく使うテクニックが必要 問題を小さく分割して,一旦キャッシュにコピーした データを最大限利用する技術等 26 では,スカラープロセッサで どうやって高速化する? ! 1: クロック周波数を上げる クロック周波数=計算機の基本的な処理速度 ! 2: プロセッサの数を増やす = 並列計算機 ! 3: 特定の計算が得意な装置を追加する = アクセラレータ 27 クロック周波数による高速化 ! 利点: 自動的に速くなる プログラムの変更は基本的に不要 ! 欠点: 物理的,経済的な限界 物理的な限界 = 消費電力と熱 周波数に対して指数関数的に増加 例えば x86系 CPU は 2004年の 3.8GHz以降、 頭打ち状態 経済的な限界 = 開発コスト 電流漏れ,熱等の問題が深刻化 28 並列計算機による高速化 ! オンチップマルチコア Core いまや、ほとんどのPCが この形 ! 共有メモリ型並列計算機 Core L1 L1 L2 キャッシュ CPU CPU CPU CPU CPU CPU CPU 数CPU~数十CPU メモリ ! 分散メモリ型並列計算機 ~数万CPU ネットワーク CPU CPU CPU CPU メモリ メモリ メモリ メモリ 29 地球シミュレータ、BlueGene/L の 構成 ! 階層構造: 小∼中規模の共有メモリ型並列計算機で 分散メモリ型並列計算機を構成 CPU CPU...CPU メモリ CPU CPU...CPU メモリ CPU CPU...CPU メモリ ... CPU CPU...CPU メモリ 地球シミュレータ BlueGene/L ノードあたりCPU数 ノード数 8 640 2 65,536 30 並列計算機 ! 利点: 物理的な性能は、比較的容易に 向上できる 極端な話,単純に数を増やせば向上する ! 欠点1: プログラムが複雑 計算の分割や同期,ノード間通信の指示 ! 欠点2: 並列化にともなう処理時間増加 主に同期待ち時間と,通信に要する時間 どちらも、特にコアやノードの数が増えると深刻 31 アクセラレータの追加 ! 特定の計算を高速化 ! 特に最近はグラフィックプロセッサの 科学技術計算用途への流用に注目: GPGPU (General Purpose GPU) PC用のGPU (NVIDIA, ATI等) 中国の最新システムは ATI搭載 東工大の TSUBAME2.0は NVIDIA搭載 安価かつ低消費電力で性能を大幅に向上 32 何故、グラフィックプロセッサ? ! 実は基本的なグラフィック計算の主要部分は 連続領域に対する演算の繰り返し ベクトルプロセッサの得意な計算と同じ ! 基本構造がベクトルプロセッサとほぼ同じ 33 何故、安くて低消費電力? ! グラフィック処理に特化した簡略化 メモリ量を制限 1 2GB程度 演算の種類を制限 主に加算,乗算の性能重視 除算,平方根等はソフトウェアで計算 複雑な処理は不可 ! スケールメリット ゲーム市場での消費大 34 GPUとスーパーコンピュータ ! 最新GPU (AMD Radeon HD 5970) 演算性能(単精度) 4.64 TFLOPS 演算性能(倍精度) 928 GFLOPS GPUメモリ容量 2GB 294W 消費電力 価格 地球シミュレータの 1/40 の性能 7万円前後 ! スーパーコンピュータ: 地球シミュレータ BlueGene/L TSUBAME2.0 総演算性能 40TFLOPS 360TFLOPS 2.4PFLOPS 総記憶容量 10TB 32TB 100TB 導入コスト 500億円 $1億 32億 電力 6,000KW 216KW 1MW 35 GPGPUの問題点 ! PCからアクセラレータへのデータ転送が遅い 基本的に PCI Expressバスの速度が上限 x16 で 4GB/sec 大規模問題では致命的 複数GPUによる並列化の大きなネック ! 性能に対するメモリ量が少ない ! プログラムが複雑 ホストPC側とアクセラレータ側双方のプログラム データの移動も全てプログラムに明記 性能を活かすためには高度なチューニングが必要 36 GPGPU: 現状は順調 ! 利用者側: 複雑なチューニング技術の開発 データ転送と計算の同時実行、等 ! メーカー側: 科学技術計算向けの拡張 倍精度演算の高速化 搭載メモリの容量増加 ! ソフトウェア: プログラム開発ツールの提供 共通言語 OpenCL 最適化技術や数値計算ライブラリ 37 GPGPU: 今後の課題 ! 問題によって向き不向きがある メモリを大量に使った計算は苦手 ! 計算が大規模化した場合の問題 複数のGPU間で通信しながらの分散並列処理 ! 科学技術計算向け拡張部分のビジネスモデル ゲームに必要ない部分(倍精度実数演算等)に どのくらい費用と時間をかけることが出来るか? 38 スーパーコンピュータの今後 ! 地球シミュレータまで: 性能重視 自動車技術におけるF1 的な位置づけ ! 今後はコストも重要 開発コスト,電力 ! 自国で開発するか? 他国の技術を買ってくるか? 39 Top500リストの別の見方 ! コンピュータメーカー別のシステム数の比率 米国製以外は、富士通(1.4%)くらい。 40 Top500リストの別の見方(続き) ! 搭載プロセッサの種類 米国製以外は、富士通(Sparc)が 2システム、 NECが 1システム 米国、日本以外は、独自開発を行っていない 41 ちょっと宣伝 ! あなたもスーパーコンピュータを使えます http://www.cc.kyushu-u.ac.jp/scp/ 学生用ID: PrimeQuest 16CPUまで無料 それ以上の利用は,規模に応じて課金 ! 研究室配属後,担当教員を介して申請 ! 利用可能なシステム(来年以降順次更新予定) 富士通 PrimeQuest (2048core) 13 TFLOPS 富士通 PCクラスタ(1568core) 18 TFLOPS 日立製作所 SR16000 (1344core) 25 TFLOPS 42
© Copyright 2024 ExpyDoc