1 / 54

スーパーコンピュータ の ネットワーク

スーパーコンピュータ の ネットワーク. 情報ネットワーク特論. 今日の講義内容. スーパーコンピュータ開発の歴史 スーパーコンピュータのネットワーク 今後 のスーパーコンピュータ開発. スーパーコンピュータとは?. " スーパー " な計算機  = その時点で、一般的な計算機の性能をはるかに     超える性能を持つ計算機 スーパーコンピュータの用途  = 主に科学技術計算 例えば 分子構造のシミュレーションによる創薬 構造シミュレーション等による車の設計 熱力学 シミュレーション等による気候予測. スーパーコンピュータの開発競争. 「計算機の性能」とは?.

Download Presentation

スーパーコンピュータ の ネットワーク

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. スーパーコンピュータのネットワーク 情報ネットワーク特論

  2. 今日の講義内容 スーパーコンピュータ開発の歴史 スーパーコンピュータのネットワーク 今後のスーパーコンピュータ開発

  3. スーパーコンピュータとは? • "スーパー"な計算機 = その時点で、一般的な計算機の性能をはるかに    超える性能を持つ計算機 • スーパーコンピュータの用途 = 主に科学技術計算 • 例えば • 分子構造のシミュレーションによる創薬 • 構造シミュレーション等による車の設計 • 熱力学シミュレーション等による気候予測 ...

  4. スーパーコンピュータの開発競争 「計算機の性能」とは? • より高い性能のスーパーコンピュータを持つ • 計算技術の向上 • 汎用の計算機への応用 • ソフトウェア効率化の推進 • 経済的な競争力の向上: • 創薬 • 新素材の開発 • 気候予測 • 製品設計 etc.

  5. 計算機の理論的な演算性能と実際の性能 • FLOPS=プロセッサの周波数 x 同時実行可能演算数 x プロセッサ数 • 例) 4演算同時実行可能な 1GHzのプロセッサ 1,000個によるシステム ⇒ 1GHz x 4 x 1,000 = 4,000GFLOPS = 4TFLOPS • G: Giga • T: Tera(=1,000G), • P: Peta(=1,000T), • E: Exa(=1,000P) • 理論的な演算性能: 1秒間に実行できる演算の数 = OPS (Operations Per Second)   特に実数計算(Floating Operation)の性能の場合FLOPS (FLoating Operations Per Second) • 実際の性能: プログラムを実行する際の性能

  6. 理論演算性能と実際の性能の違い 理論演算性能による比較は、ほとんど意味が無い • 理論演算性能: 全ての演算器が休むことなく働き続けることが前提 • 実際のプログラムの性能:様々な要因で演算器が休止 • メモリからのデータ到着待ち • 他のプロセスの計算完了待ち • プロセス間の負荷の不均衡 • 通信の完了待ち • ファイル入出力待ち

  7. 実際のプログラムの性能? どのプログラムを使って比較するか? • プログラムによって傾向が変わる。 例えば。。。 • 仕事を複数のプロセッサに分担させるのが難しい計算: とても高速なプロセッサ 1個による計算機が有利 • たくさんのプロセッサに分担させることができる計算:低速なプロセッサを多数搭載した計算機が有利

  8. Top500 List スーパーコンピュータ開発競争に利用 • 最も有名な、スーパーコンピュータ性能比較リスト http://www.top500.org • 稼働中のスーパーコンピュータの上位500台を掲載。 • LINPACKベンチマークプログラムの性能で順位付け • 連立一次方程式の解を求める計算 • 比較的、理論性能に近い性能が出る • キャッシュヒット率が高い、通信が少ない、負荷が均等 • 他の計算機との比較や傾向の分析などが容易 • 1993年からほとんど同じ条件で更新を継続。 • 世界中のほぼ全てのスーパーコンピュータが登録。

  9. スーパーコンピュータの例) 地球シミュレータスーパーコンピュータの例) 地球シミュレータ • 稼動開始時点(2002年3月)時点で,世界最高速のスーパーコンピュータ • 日本の計算機メーカ(主に NEC)が開発 • 開発目標: 10km四方(赤道近辺)の精度で地球全体の大気循環をシミュレート • それまでは 100km四方 • 例えば台風の発生過程:100km四方だと台風が台風に見えない

  10. 地球シミュレータの成果 • 台風進路予測 • 5.5km四方で地球全体をシミュレート(日本近辺は 2.78km四方) • 海底探査船「ちきゅう」に, 台風進路の予測結果を到達予定の3日前に提供 • 台風発生予測 • 過去10年間についてシミュレーションによる台風発生回数が実際の値とほぼ一致 • CO2の増加に伴う温暖化の予測 • 2040年には年間の真夏日日数が約20日増加,平均気温が約2度上昇.

  11. Top500における地球シミュレータの性能 USAの開発意欲に火を付けた • 35 TFLOPS (Tera Floating Operations Per Second) = 1秒あたりの 35兆回の実数計算 • 断トツの 1位 • 2位から10位までの計算機の演算性能の合計を上回る性能(2002年6月時点) • “Computenik”= 「計算機分野でのスプートニクだ!」 (in New York Times) • by JackDongarra教授 テネシー大学教授、Top500サイトの創始者

  12. USAの逆襲(2004年) • IBM Blue Gene/L (2004年11月~)http://www.research.ibm.com/bluegene/ • 70TFLOPS • ちなみに地球シミュレータ(35TFLOPS)は3位に後退 • 「まだ完成形ではない」:2005年前半に、さらに4倍高速化する計画 日本のすべてのスーパーコンピュータを かき集めても追いつかない規模になる

  13. USAの逆襲(2005年) • IBM Blue Gene/L (2005年11月) • 理論最高性能 280TFLOPS • 世界で初めて 100TFLOPSを越えた計算機 • 地球シミュレータは7位に後退 • 本当に日本のすべてのスーパーコンピュータをかき集めても追いつかない規模に • 世界500位に入った計算機の性能の国別合計:1位 USA 68.3% 2位 Japan 5.68 % 3位 UK 5.41% 4位 Germany3.10% 5位 China 2.59%以下、 Australia, Switzerland, Netherland, Korea, ...

  14. 2010年までの経緯 • ~2010年6月 USAの時代 • 2004~2007 IBM BlueGene/L 478 TFLOPS • 2008 IBM RoadRunner 1.1 PFLOPS • 2009~2010.6 Cray Jaguar 1.8 PFLOPS • 2010年11月 中国の台頭 • 2010.11 中国 Tianhe-1A 2.6 PFLOPS • 日本勢は東京工業大学のTSUBAME2.0が1.2 PFLOPSで4位

  15. 2011年6月 スーパーコンピュータ ”京”の登場 • 1位  K computer(Japan) 8.2 PFLOPS2位  Tianhe-1A (China) 2.6 PFLOPS3位  Jaguar(USA) 1.8 PFLOPS • 国別合計: 1位 USA 42.87%(25.3 PFLOPS) 2位 Japan 18.98% (11.2 PFLOPS) 3位 China 12.11% ( 7.1 PFLOPS) 4位 Germany 5.50% ( 3.2 PFLOPS) 5位 France 5.40% ( 3.2 PFLOPS) • 以下,UK, Russia, Korea, Canada, ...

  16. 最新情報: 2013年6月 来週、更新予定 • 1位 Tianhe-2(China) 33.9 PFLOPS2位  Titan (USA) 17.6 PFLOPS3位  Sequoia (USA) 16.3 PFLOPS4位  K Computer(Japan) 10.5 PFLOPS • 国別合計: 1位 USA 47.8%(106.8 PFLOPS) 2位 China 21.2% ( 47.5 PFLOPS) 3位 Japan 9.1% ( 20.3 PFLOPS) 4位 Germany 5.1% ( 11.4PFLOPS) 5位 France 4.0% ( 8.9 PFLOPS) • 以下,UK, India, Italy, Australia, Russia, Canada, ...

  17. Tianhe-2 (天河2) 出典: http://eng.mod.gov.cn/Database/Academies/2013-06/18/content_4455818_2.htm • 構成:(24プロセッサコア + アクセラレータ) x 約1万6千ノード • CPU: Intel Xeon E5-2692 2.2GHz x 12cores x 2chips • アクセラレータ: Intel Xeon Phi 31S1P • 理論演算性能に対する実性能比: 0.617(= 33.9PF / 54.9PF) • 電力あたり性能:1.90GF / W • ネットワーク: Fat Tree • 名称: TH Express-2 出典: http://www.china.org.cn/top10/2013-06/21/content_29187340_10.htm

  18. Titan 出典: http://www.olcf.ornl.gov/titan/ • 製品名: Cray XK7 • 構成:(16プロセッサコア + GPU) x 約1万8千ノード • CPU: AMD Opteron 6274 2.2GHz • GPU: NVIDIA Tesla K20X • 理論演算性能に対する実性能比: 0.65(= 17.6PF / 27.1PF) • 電力あたり性能:2.14GF / W • ネットワーク:3次元トーラス構造 • 名称: GEMINI

  19. Sequoia 出典: https://www.llnl.gov/news/aroundthelab/2012/Jun/ATL-061812_sequoia.html • 製品名: IBM BlueGene/Q • Top500 List の 2位,4位,5位,9位 • 構成: 16プロセッサコア x 約10万ノード • CPU: IBM PowerBQC 1.6GHz • 理論演算性能に対する実性能比:0.81(= 16.3 PF / 20.1 PF ) • 電力あたり性能: 2.1GFLOPS / W • ネットワーク:5次元トーラス構造

  20. K Computer (京) • 理化学研究所と富士通が開発http://www.aics.riken.jp • 互換機: Fujitsu PRIMEHPC FX10 • 九大情報基盤研究開発センターで利用可能 • 構成:8プロセッサコア x 約8万ノード • CPU: Fujitsu SPARC64 VIIIfx 2.0GHz • 理論演算性能に対する実性能比:0.93 (=10.5PF / 11.3PF) • 消費電力: 0.83GFLOPS / W • ネットワーク: 6次元トーラス/メッシュ構造 • 名称: Tofuインターコネクト 出典: http://www.nsc.riken.jp/K/diary.html SPARC64TMVIIIfxチップ Tofu インターコネクトネットワーク 出典: http://www.ssken.gr.jp/MAINSITE/download/newsletter/2011/20110825-sci-1/lecture-5/ppt.pdf

  21. Tianhe-2 vs Titan vs Sequoia vs京vs地球シミュレータ

  22. 計算機の高速化手段 電力、熱の限界 命令レベル並列性の限界 • クロック周波数の向上 • 命令レベル並列処理の向上 • アクセラレータの利用 • プロセッサコア数の増加 • スレッド並列 • プロセス並列

  23. アクセラレータ • 基本的な考え方: 低性能、低機能だが、電力効率の高いコアを 多数並べて並列計算する • Top500 に登場する主なアクセラレータ: • NVIDIA Tesla • Intel Xeon Phi

  24. NVIDIA Tesla • GPGPU (General Purpose Graphic Processing Unit) • グラフィック用の GPUを汎用計算にも使用する • 高い電力効率 • メモリ量を制限して高速メモリアクセスを実現 • 1〜6GB程度 • 演算の種類を制限して回路を単純化 • 主に加算,乗算の性能重視 • 複雑な処理は制限

  25. GPGPUの問題 性能を活かすためには高度なチューニングが必要 • メモリからアクセラレータのメモリへのデータ転送が遅い • Tesla C2015で 515GFLOPSに対して  8GB/sec • アクセラレータ上のメモリへのアクセスは 144GB/sec • NECのベクトルプロセッサは  100GFLOPSに対して 256GB/sec • 京のスカラープロセッサは    128GFLOPSに対して 64GB/sec • 性能に対するメモリ量が少ない • Tesla C2015で 515GFLOPS に対して 6GB • NECのベクトルプロセッサは 100GFLOPS に対して 64GB • 京のスカラープロセッサは   128GFLOPSに対して 16GB • プログラムが複雑 • ホストPC側とアクセラレータ側双方のプログラム • データの移動も全てプログラムに明記

  26. Intel Xeon Phi 高密度実装が可能 (Intel Xeon Phi 5110Pで 60コア) 既存のプログラムが動く データのコピーが不要 それでも、性能を活かすためには高度なチューニングが必要 • 古い Pentiumのアーキテクチャ+ベクトル演算器を最新の回路技術で実装 • ベクトル演算器: 1度に8個の実数計算を実行可能 • 高い電力効率 • 小さい実装面積 • 最新CPUとアーキテクチャ互換 • 将来は CPUとメモリを共有

  27. 性能比較

  28. もう一つの高速化: プロセッサを増やす CPUコア CPUコア CPUコア CPUコア CPUコア CPUコア CPUコア CPUコア アクセラレータ メインメモリ メインメモリ メインメモリ メインメモリ アクセラレー タ用メモリ ネットワーク ネットワーク • 現在のスーパーコンピュータ = 多数(数千~数万)の"計算ノード"をネットワークで接続した「並列計算機」 • アクセラレータは計算ノード内に搭載される

  29. 並列計算機 並列処理 普通の処理 仕事1 仕事1 仕事2 仕事3 仕事2 仕事3 うまく分担できればプロセッサの数に応じて性能向上 • 仕事を複数のプロセッサに分担させて高速化 = 並列処理 • 並列処理をするには?⇒ 並列プログラムが必要

  30. 並列プログラム 普通のプログラム(=並列じゃないプログラム)とどう違う? • 並列処理に必要な事項を含むプログラム • 各CPUコアへの仕事の分担のさせ方、 • 相互の情報交換、 • CPUコアの間の同期 等

  31. 普通のプログラムの例: 2つのベクトルの和を計算普通のプログラムの例: 2つのベクトルの和を計算 ... 0 99 A = = = = = = = = = = = = = = = = = = = = B + + + + + + + + + + + + + + + + + + + + C プログラム double A[100], B[100], C[100]; ... for (i = 0; i < 100; i++) A[i] = B[i] + C[i]; 0番目から99番目までの要素を順に計算

  32. 並列プログラムの例: 複数の「スレッド」で並列処理並列プログラムの例: 複数の「スレッド」で並列処理 スレッド0 スレッド1 スレッド2 スレッド3 ... ... ... ... 全スレッドが同じ配列を共有 25 49 50 74 75 99 0 24 A = = = = = = = = = = = = = = = = = = = = B + + + + + + + + + + + + + + + + + + + + C double A[100],B[100],C[100]; ... for (i=0; i<25; i++) A[i] = B[i] + C[i]; double A[100],B[100],C[100]; ... for (i=25; i<50; i++) A[i] = B[i] + C[i]; double A[100],B[100],C[100]; ... for (i=50; i<75; i++) A[i] = B[i] + C[i]; double A[100],B[100],C[100]; ... for (i=75; i<100; i++) A[i] = B[i] + C[i]; スレッド0 スレッド1 スレッド2 スレッド: 同じ記憶空間を共有しながら進行する流れ スレッド3

  33. スレッドによる並列化の利点と欠点 • 利点: 簡単に並列化 • コンパイラにお任せ、もしくは若干の変更だけ • 欠点: 基本的に「共有メモリ型並列計算機」向け ⇒ 「分散メモリ型並列計算機」では使えない    = 大規模な計算機で利用できない

  34. 共有メモリ型並列計算機 CPUコア CPUコア CPUコア CPUコア CPUコア CPUコア メインメモリ CPUコアからメインメモリへの経路が共有 ⇒ 規模(=CPUコア数)に限界 • 1つのメインメモリを複数のCPUコアで共有 • マルチCPUコアのPC等

  35. 分散メモリ型並列計算機 CPUコア CPUコア CPUコア CPUコア CPUコア CPUコア CPUコア CPUコア メインメモリ メインメモリ メインメモリ メインメモリ ネットワーク 規模に応じて経路の数も増加⇒ 大規模化が比較的容易 複数の独立したメインメモリで構成

  36. プロセス並列プログラム 分散メモリ型並列計算機における並列処理に必要 プロセス並列 独立した記憶空間をもつ「プロセス」を 単位とした並列処理

  37. 「プロセス並列」プログラムの特徴 (1) 各プロセスが別の配列を利用 プロセス0 プロセス1 プロセス2 プロセス3 ... ... ... ... 0 24 0 24 0 24 0 24 A A A A = = = = = = = = = = = = = = = = = = = = B B B B + + + + + + + + + + + + + + + + + + + + C C C C double A[25],B[25],C[25]; ... for (i=0;i<25;i++) A[i] = B[i] + C[i]; double A[25],B[25],C[25]; ... for (i=0;i<25;i++) A[i] = B[i] + C[i]; double A[25],B[25],C[25]; ... for (i=0;i<25;i++) A[i] = B[i] + C[i]; double A[25],B[25],C[25]; ... for (i=0;i<25;i++) A[i] = B[i] + C[i]; プロセス0 プロセス1 プロセス2 処理だけでなくデータも分割 プロセス3

  38. 「プロセス並列」プログラムの特徴 (2) X プロセス0 プロセス1 プロセス2 プロセス3 A A A A 受信 送信 ネットワーク 他のプロセスのデータは直接参照できない 必要に応じてプロセス間通信

  39. MPI (Message Passing Interface) MPI_Comm_rank(MPI_COMM_WORLD, &myid); ... if (myid == 0) MPI_Send(&(a[5]), 1, MPI_DOUBLE, 1, 0, MPI_COMM_WORLD); if (myid == 1) MPI_Recv(&(a[3]), 1, MPI_DOUBLE, 0, 0, MPI_COMM_WORLD, &status); 自分のプロセス番号を取得 プロセス1に送信 プロセス0から受信 並列プログラム用に用意された通信関数群の定義 例) プロセス0からプロセス1にデータを転送

  40. 並列化手段と並列計算機 MPIプログラムは、作るのに苦労するがどこでも実行できる 利用可能な並列化手段

  41. 並列計算機の利点と欠点 スーパーコンピュータの構成は、 今のところ分散メモリ型並列計算機 • 利点: 理論的な性能は、比較的容易に向上 • 極端な話,単純に数を増やせば向上する • 欠点: 実質的な性能向上には工夫が必要 • 並列プログラムの作成 • 計算の分担 • データの分割 • 計算結果の通信 • 並列処理のための時間増加 • 他のCPUとの同期待ちや通信

  42. スーパーコンピュータのネットワークへの要求スーパーコンピュータのネットワークへの要求 経路長い 経路短い 帯域幅細い 帯域幅太い 競合 競合 経路数多い 経路数少ない topology (= ネットワークの形状)が重要 • 通信性能 • 遅延時間を短く ≒ なるべく短い経路で接続 • 経路の帯域幅を大きく • 経路の本数を多く • 費用 • なるべく安く • 経路数やスイッチ数、経路の帯域幅に依存

  43. Bus / Ring Topology • 一本のBusを全ノードで共有 • 両端をつなげたものが Ring • 長所: • 構成が簡単なので 1本あたりの帯域幅を太く出来る • 経路とスイッチの数はノード数と同じなので費用は低い • 短所: • 同時に利用可能な通信経路は 1本だけ • 双方向の場合、2本 • プロセッサ内部のコア間ネットワーク(8コア)のような小規模なネットワークで利用

  44. Full Direct Connection • 全ノード間で、一対一に接続 • 長所: • 遅延時間(≒ 通信距離)最小 • 短所: • 高価 • ノード数の2乗に応じた経路数 • 各ノードでノード数分の接続が可能な大規模スイッチ • 小規模のCPU間ネットワーク(4CPU程度)で利用

  45. Crossbar Switch • 行列上の switchを介して全ノードを接続 • 長所: • 遅延時間(≒通信距離)はほぼ最小 • ノード数に比例した同時通信帯域幅 • 短所: • 高価 • ノード数の2乗に比例した結線数とスイッチ数 • 最大で、地球シミュレータ(640ノード)程度まで利用 • 通常は数十ノード程度まで

  46. Fat Tree • 多段の crossbar switch による木構造で構成 • 長所: • 比較的、遅延時間が低い • 通信距離はスイッチの段数 x 2 • 比較的、同時通信帯域幅が高い • 上位層のスイッチ数と経路数による • 比較的、費用が安価 • 短所: • 数万ノード以上のシステムでは、まだ高価 • 大規模なシステムでは上位層の経路数を削減 • 通常、数千ノード規模まで • Tianhe-2は特別

  47. 多次元メッシュ/トーラス • 多次元の格子状にノードを配置し、隣接ノード間を直接接続 • 両端を接続したものがトーラス • 長所: • 費用が安価 • ノード数 N に比例した経路数 • リングやバスより格段に高速 • 特に隣接ノードとの通信 • 短所: • 通信パターンによっては、通信衝突が多発 ⇒ プログラムの高度な   チューニングが必要    • 主に数万ノード規模で利用

  48. さらなる大規模化に向けて 出典: http://www.unixer.de/publications/img/ibm-percs-network.pdf 出典: http://research.google.com/pubs/archive/35154.pdf • High-Radix switch(ポート数の多いスイッチ)の利用 • 段数小 ⇒ 通信遅延の低減 • 同時通信帯域幅の維持 • 例) • 多段全対全結合 • DragonFly

  49. スーパーコンピュータ開発の今後 • 膨大な開発費: 京の場合,7年間で約1,200億円 • 事業仕分けでの指摘「2番じゃダメなんですか?」 • 次の目標:2018年に 1 Exa FLOPS を達成  (1 Exa = 1,000 Peta) • 予算は???

  50. 今後の開発計画 • 富士通: 京の商用機発表http://www.hpcwire.com/hpcwire/2011-11-07/fujitsu_unveils_post-k_supercomputer.html • NEC: SX-9後継のベクトル計算機開発計画を発表http://www.perfect-abs.info/news/Vector-Processor.html • IBM: BlueGene/Q で 100PFLOPSを狙うhttp://www.theregister.co.uk/2011/11/16/ibm_bluegene_q_power_775/ • Cray:Blue Water http://wjbc.com/cray-replaces-ibm-on-u-of-illinois-supercomputer/ • Barcelona Supercomputing Center: Tegra+ GPGPUでスーパーコンピュータ開発http://latimesblogs.latimes.com/technology/2011/11/nvidia-supercomputer.html • 中国: 自国製CPU ShenWey SW1600http://www.hpcwire.com/hpcwire/2011-11-01/china_s_indigenous_supercomputing_strategy_bears_first_fruit.html

More Related