Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "スーパーコンピュータの ネットワーク 情報ネットワーク特論."— Presentation transcript:

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

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

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

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

5 計算機の理論的な演算性能と 実際の性能 理論的な演算性能: 1秒間に実行できる演算の数  = OPS (Operations Per Second)    特に実数計算(Floating Operation)の性能の場合     FLOPS (FLoating Operations Per Second) 実際の性能: プログラムを実行する際の性能 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)

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

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

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

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

10 地球シミュレータの成果 台風進路予測 台風発生予測 CO2の増加に伴う温暖化の予測
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 Jack Dongarra教授  テネシー大学教授、Top500サイトの創始者 USAの開発意欲に火を付けた

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

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

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

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

16 最新情報: 2012年11月 1位  Titan(USA) PFLOPS 2位  Sequoia (USA) PFLOPS 3位  K Computer(Japan) 10.5 PFLOPS 国別合計: 1位 USA 54.9% (89.0 PFLOPS) 2位 Japan 12.0% (19.4 PFLOPS) 3位 China % (12.3 PFLOPS) 4位 Germany 6.3% (10.1 PFLOPS) 5位 UK % ( 7.3 PFLOPS) 以下,France, Italy, Australia, Russia, Canada, India, Korea, ...

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

18 Seq uoia 製品名: IBM BlueGene/Q 構成: 16プロセッサコア x 約10万ノード
Top500 List の 2位,4位,5位,9位 構成: 16プロセッサコア x 約10万ノード CPU: IBM PowerBQC 1.6GHz 理論演算性能に対する実性能比:  16.3 PF / 20.1 PF (= 0.81) 電力あたり性能: GFLOPS / W ネットワーク:  5次元トーラス構造 出典:

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

20 Titan vs Sequoia vs 京 vs 地球シミュレータ
総コア数 299,008 1,572,864 705,024 5,120 ノード数 18,688 98,304 88,128 640 GPU Yes No 理論性能 27.1 PF 20.1 PF 11.3 PF 0.041 PF 実性能 17.6 PF 16.3 PF 10.5 PF 0.036 PF 実性能/理論 0.64 0.81 0.93 0.88 電力 8.2MW 7.9MW 12.7MW 3.2 MW 実性能/電力 2.1 GF/W 0.83GF/W 0.01GF/W

21 計算機の高速化手段 プロセッサコア数の増加 高速ネットワークの開発 低消費電力プロセッサコアの高密度実装 GPUの利用

22 何故、GPU? 実は基本的なグラフィック計算の主要部分は  連続領域に対する演算の繰り返し ⇒ グラフィック以外の計算にも利用可能

23 何故、安くて低消費電力? グラフィック処理に特化した簡略化 スケールメリット メモリ量を制限 演算の種類を制限 ほとんどのPCに搭載
1〜6GB程度 演算の種類を制限 主に加算,乗算の性能重視 除算,平方根等はソフトウェアで計算 複雑な処理は制限 スケールメリット ほとんどのPCに搭載

24 GPGPUの性能 地球シミュレータの 1/80 の性能 地球シミュレータの 1/30000 の電力
例) NVIDIA Tesla C2075 演算性能(単精度) 1.03 TFLOPS 演算性能(倍精度) 515 GFLOPS GPUメモリ容量 6GB 消費電力 215W 価格 22万円前後 地球シミュレータの 1/80 の性能 地球シミュレータの 1/30000 の電力 地球シミュレータの 1/ の価格

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

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

27 並列計算機登場の理由 今後も、大幅な周波数増は見込めない 物理的,経済的な限界 物理的な限界 = 消費電力と熱 経済的な限界 = 開発コスト
物理的な限界 = 消費電力と熱 周波数に対して指数関数的に増加 例えば x86系 CPU は 2004年の 3.8GHz以降、 頭打ち状態 経済的な限界 = 開発コスト 回路の微細化、複雑化 電流漏れ,熱等の問題が深刻化 今後も、大幅な周波数増は見込めない

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

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

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

31 並列プログラムの例: 複数の「スレッド」で並列処理
並列プログラムの例:  複数の「スレッド」で並列処理 スレッド:  同じ記憶空間を共有しながら進行する流れ スレッド0 スレッド1 スレッド2 スレッド3 ... ... ... ... 全スレッドが 同じ配列を 共有 24 25 49 50 74 75 99 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

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

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

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

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

36 ... ... ... ... 「プロセス並列」プログラムの 特徴 (1) 処理だけでなくデータも分割 各プロセスが 別の配列を 利用
「プロセス並列」プログラムの 特徴 (1) 各プロセスが 別の配列を 利用 処理だけでなくデータも分割 プロセス0 プロセス1 プロセス2 プロセス3 ... ... ... ... 24 24 24 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

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

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

39 並列化手段と並列計算機 共有メモリ型 分散メモリ型 自動並列化、 OpenMP ○ × MPI
利用可能な並列化手段 共有メモリ型 分散メモリ型 自動並列化、 OpenMP × MPI MPIプログラムは、 作るのに苦労するがどこでも実行できる

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

41 スーパーコンピュータのネットワーク への要求
通信性能 遅延時間 通信経路の距離が重要 同時利用帯域幅 同時に利用可能な通信経路数が重要 費用 結線数とスイッチ数 topology (= ネットワークの形状)が重要

42 Bus / Ring Topology 一本の Busを全ノードで共有 長所: 短所:
構成が簡単なので 1本あたりの通信性能は高い 結線とスイッチの数はノード数と同じなので費用は低い 短所: 同時に利用可能な通信経路は 1本だけ Ringの場合、2本 プロセッサ内部のコア間ネットワーク(8コア)のような 小規模なネットワークで利用

43 Full Direct Connection
全ノード間で、一対一に接続 長所: 遅延時間最小 同時利用帯域幅最大 短所: 高価 ノード数の2乗に応じた 結線数 各ノードでノード数分の 接続が可能な大規模スイッチ 小規模のシステム内 ネットワーク(4要素程度) で利用

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

45 Fat Tree 多段の crossbar switch による木構造で構成 長所: 短所:
比較的、遅延時間が低い 通信距離はスイッチの段数 x 2 比較的、同時通信帯域幅が高い 上位層のスイッチ数と結線数による 比較的、費用が安価 短所: 数万ノード以上のシステムでは、まだ高価 Top500 List 6位のスーパーコンピュータ(9,400ノード)で利用

46 多次元メッシュ/トーラス 多次元の格子状にノードを配置し、隣接ノード間を直接接 続 長所: 短所:
両端を接続したものがトーラス 長所: 費用が安価 ノード数 N に比例した link数 リングやバスより格段に高速 特に隣接ノードとの通信 短所: 同時通信帯域幅が通信パターン に大きく依存  ⇒ プログラムの高度な    チューニングが必要    Top500 List の 1位~5位 (数十万ノード)で利用

47 さらなる大規模化に向けて High-Radix switch(ポート数の多いスイッチ)の利用 段数小 ⇒ 通信遅延の低減
同時通信帯域幅の維持 例) 多段全対全結合 DragonFly 出典:  出典:

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

49 今後の開発計画 富士通: 京の商用機発表 07/fujitsu_unveils_post-k_supercomputer.html NEC: SX-9後継のベクトル計算機開発計画を発表 IBM: BlueGene/Q で 100PFLOPSを狙う wer_775/ Cray: Blue Water supercomputer/ Barcelona Supercomputing Center: Tegra + GPGPUでスーパーコンピュータ開発 supercomputer.html 中国: 自国製CPU ShenWey SW /china_s_indigenous_supercomputing_strategy_bears_first_fru it.html

50 米国の変化 PCAST (President’s Council of Advaisors on Science and Technology) の指摘 be-the-wrong-path-forward/ “an arms race that is very expensive and may not be a good use of funds.” ゲームのルールが変わる可能性

51 Top500に代わる指標 HPC Challenge http://icl.cs.utk.edu/hpcc/
複数の部門でそれぞれ順位づけ Linpack, Matrix Multiply, Memory Bandwidth, Matrix Transpose, Random Access, Fast Fourier Trans, Communication Bandwidth and Latency Graph500 組み合わせ最適化問題の計算性能比較 Green500 http’// Top500の性能を消費電力で割った電力対性能比を比較

52 実用面の評価 Gordon Bell賞: 実プログラムでの性能競争
2011年: 京を用いてシリコンナノワイヤをシミュレート  (理化学研究所、筑波大、東大、富士通のチーム)    東工大もTSUBAME2.0を用いた新素材形成のシミュレーション で特別賞を受賞 2012年: 京を用いてダークマターの動きを解析  (筑波大、理化学研究所、東工大のチーム)

53 次のスーパーコンピュータ開発に向けた 議論
米国 ヨーロッパ 日本 予算が問題


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

Similar presentations


Ads by Google