Presentation is loading. Please wait.

Presentation is loading. Please wait.

スーパーコンピュータの ネットワーク 情報ネットワーク特論 2011年11月22日.

Similar presentations


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

1 スーパーコンピュータの ネットワーク 情報ネットワーク特論 2011年11月22日

2 今日の講義内容 スーパーコンピュータの構造 スーパーコンピュータのネットワーク 最新のスーパーコンピュータ事情

3 最近のスーパーコンピュータの構造 ネットワーク 多数(数千~数万)の"計算ノード"をネットワークで接続 した大規模並列計算機
多数(数千~数万)の"計算ノード"をネットワークで接続 した大規模並列計算機 数台~数百台程度の、小~中規模な並列計算機より ネットワークに対する制約が厳しい CPU コア CPU コア CPU コア CPU コア CPU コア CPU コア CPU コア CPU コア メイン メモリ メイン メモリ メイン メモリ メイン メモリ ネットワーク ネットワーク

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

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

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

7 地球シミュレータが速い理由 非常に高速なCPUを搭載した計算ノード: ベクトルプロセッサ 5120台の計算ノードによる並列計算
全ノードを接続する高速なネットワーク

8 基本的なCPUの構成 メモリからデータが届くまで計算できない 命令読み出し → 解釈 → データ読み出し → 計算 → 結果の出力
命令読み出し → 解釈 → データ読み出し  → 計算 → 結果の出力 入出力装置 磁気ディスク, キーボード, ディスプレイ等 処理装置(CPU) 制御装置 演算装置 メモリ プログラム 3 100 1 3 200 2 1 1 2 データ メモリからデータが届くまで計算できない

9 CPUとメモリの速度差の問題 CPU:1回の演算時間: 0.25~0.5ns メモリ:1回の読み書き時間: 数ns~数十ns
ベクトルプロセッサ,スカラープロセッサ, それぞれ別の方法で解決

10 ベクトルプロセッサのメモリ 連続データに対する単純な演算の繰り返しに有効 パイプラインによる連続アクセスの高速化 さらに、
パイプライン(=バケツリレー) → データが届き始めてからはメモリ遅延の影響なし さらに、 複数のデータの同時転送 ベクトル命令で効率良く実行 一つの命令で複数のデータに対する演算を一括指示 メモリ 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) vadd a(1~100) b(1~100) add a(2) b(2) add a(3) b(3) 連続データに対する単純な演算の繰り返しに有効

11 ベクトルプロセッサの特徴 利点: 簡単に高速化できる 欠点 1): 用途が限定 欠点 2): 高価
利点: 簡単に高速化できる 強力な自動ベクトル化コンパイラにより, プログラムをほとんど書き換えずに高性能を達成 欠点 1): 用途が限定 科学技術計算以外では,ほとんど効果が無い メモリをランダムに参照する処理: 探索、ソート等 欠点 2): 高価 高速なパイプラインの実現には複雑な回路設計が必要  ⇒ 開発費が高価 用途が限定されるため、販売台数が少ない  ⇒ スケールメリットが得られにくい

12 スカラープロセッサ キャッシュメモリの利用 速度に応じて階層化 様々な種類の計算を無難にこなす CPUとメモリの間に置く高速メモリ
高速だが小容量 速度に応じて階層化 アクセスされた領域をCPUの近くにコピー 小さい領域内での計算が非常に高速 CPU 1次 2次 キャッシュメモリ 階層 遅延時間 容量 1次キャッシュ 1クロック 32KB 2次キャッシュ 5クロック 256KB 3次キャッシュ 12クロック 3MB~9MB メモリ 数百クロック 数GB~数百GB 3次 メモリ 様々な種類の計算を無難にこなす

13 ベクトルからスカラーへ スカラープロセッサ: ある程度の性能を安価に提供可能 プログラムの工夫が重要 構造が比較的簡単 ⇒ 開発費が安価
スカラープロセッサ: ある程度の性能を安価に提供可能 構造が比較的簡単  ⇒ 開発費が安価 PCやサーバ等にも搭載  ⇒ スケールメリット大 プログラムの工夫が重要 キャッシュメモリの有効利用: 一旦キャッシュにコピーしたデータの再利用等

14 計算機の高速化手段 1: プロセッサ単体の性能を上げる 2: プロセッサの数を増やす = 並列計算機
1: プロセッサ単体の性能を上げる 1.1 クロック周波数(=計算機の基本的な処理速度)の向上 1.2 プロセッサ内部の演算器を増やす 2: プロセッサの数を増やす    = 並列計算機

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

16 手段1.2 内部の演算器を増やす 理想的な場合でも性能向上は2倍程度 やはり、物理的、経済的な限界 さらに、プログラム側の問題
手段1.2 内部の演算器を増やす やはり、物理的、経済的な限界 集積度(チップに搭載可能な演算器数)の限界 回路の複雑化にともなう開発コスト さらに、プログラム側の問題 演算器の数が増えると、それらを活用できるプログラムは減少 大幅なアルゴリズム変更が求められる場合もある 理想的な場合でも性能向上は2倍程度

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

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

19 普通のプログラムの例: 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];

20 並列プログラムの例: 複数の「スレッド」で並列処理
並列プログラムの例:  複数の「スレッド」で並列処理 スレッド:  同じ記憶空間を共有しながら進行する流れ スレッド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

21 スレッド並列プログラムの作り方 1) コンパイラにおまかせ 2) OpenMP等のスレッド並列化手法

22 コンパイラによる並列化 複雑なプログラムの並列化は、人間の助けが必要
コンパイラの「自動並列化」機能を利用  = 「お任せコース」の最適化の一部 最近は、ほとんどのコンパイラで利用可能 簡単なプログラムでは、それなりの効果 複雑なプログラムの並列化は、人間の助けが必要

23 「OpenMP」による並列化 並列化指示行 簡単にスレッド並列プログラムを 記述するための手法 基本的に「並列化指示行」を追加するだけ
簡単にスレッド並列プログラムを 記述するための手法 基本的に「並列化指示行」を追加するだけ 例) 前出のスレッド並列処理をOpenMPで記述 #include "omp.h" double A[100], B[100], C[100]; ... #pragma omp parallel for for (i = 0; i < 100; i++) A[i] = B[i] + C[i]; 並列化指示行

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

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

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

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

28 ... ... ... ... 「プロセス並列」プログラムの 特徴 (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

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

30 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から受信

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

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

33 今日の講義内容 スーパーコンピュータの構造 スーパーコンピュータのネットワーク 最新のスーパーコンピュータ事情

34 スーパーコンピュータのネットワーク への要求
他の通信に邪魔されたくない ⇒ congestion (通信路の競合)が発生しにくい形状 数万~数十万ノードを接続したい ⇒ link や router がノード数に対して爆発的に    増えない形状 topology (= ネットワークの形状)が重要

35 Bus / Ring Topology 大規模並列計算機では、まったく使い物にならない
CPU内のコア間接続等で使用。 構成が簡単なので bandwidth を大きく、latencyを 低くできる。 link と routerの数はノード数と同じなので理想的。 全ての通信が同じlinkを共有するのでcongestion が頻発。 大規模並列計算機では、まったく使い物にならない

36 Full Direct Connection
全ノード間で、congestion 無し、低 latency の通信 を実現。 linkの数や、ノード毎の routerの規模が、ノード数に 応じて爆発的に増加。 大規模並列計算機では、まったく使い物にならない

37 Crossbar Switch 行列上の switchを介して全ノードを接続 互いに独立した通信であれば congestion 無し
独立した通信 = 送信ノードも受信ノードも別である通信 ノード数 N の2乗に比例した link と router

38 Fat Tree 多段の crossbar switch による木構造で構成
上位層の link と switch を増やすことにより 単純な木構造よりも congestion を低減 Crossbar に比べ、link数は削減できるが、 congestionは増加

39 多次元メッシュ/トーラス 多次元の格子状にノードを配置し、隣接ノード間を直 接接続 ノード数 N に比例した link数
通信のパターンによっては congestionが頻発

40 さらなる大規模化に向けて 多段全対全結合 DragonFly
出典:  出典:

41 今日の講義内容 スーパーコンピュータの構造 スーパーコンピュータのネットワーク 最新のスーパーコンピュータ事情

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

43 計算機の理論的な演算性能 一般に1秒間に実行できる演算の数  = OPS (Operations Per Second) 特に実数計算(Floating Operation)の性能の場合  = FLOPS (FLoating Operations Per Second) FLOPSの計算式: 理論演算性能 = システム全体のプロセッサコア数             x プロセッサコアの周波数             x コア内の同時実行可能実数演算数 例えば 4演算同時実行可能な1GHzのコア 1000個のシステム  ⇒ 4000GFLOPS = 4TFLOPS G: Giga, T: Tera(=1000G), P: Peta(=1000T), E: Exa(=1000P)

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

45 プログラム処理性能で比較する場合の問題 どのプログラムを使って比較するか? プログラムによって傾向が変わる。 例えば。。。
プログラムによって傾向が変わる。 例えば。。。 行列の連続した要素に対する計算:  ベクトルプロセッサが圧倒的に高速 不規則なメモリアクセスを行う計算:  スカラープロセッサが高速 たくさんのプロセッサに分担させることができる計算:  大規模並列計算機の効果大   どのプログラムを使って比較するか?

46 Top500 List スーパーコンピュータ開発競争に利用 スーパーコンピュータの性能比較サイト http://www.top500.org
スーパーコンピュータの性能比較サイト    稼働中のスーパーコンピュータの上位500台を掲載。 自己申告制 LINPACKベンチマークプログラムを使用 NxNの連立一次方程式の求解計算における実数演算数 2N3 を 所要時間で割った FLOPS値で比較。 Nは任意に決めてよい。 十分大きな N では理論演算性能に比較的近い性能が出やすい。 キャッシュヒット率が高い、通信が少ない、負荷が均等 他の計算機との比較や傾向の分析などが容易 1993年からほとんど同じ条件で更新を継続。 世界中のほぼ全てのスーパーコンピュータが登録。 スーパーコンピュータ開発競争に利用

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

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

49 米国の逆襲(2005年) IBM Blue Gene/L (2005年11月) 理論最高性能 280TFLOPS
地球シミュレータは7位に後退 本当に日本のすべてのスーパーコンピュータを かき集めても追いつかない規模に 世界500位に入った計算機の性能の国別合計: 位 米国 68.3% 位 日本 5.68 % 位 イギリス 5.41% 位 ドイツ 3.10% 位 中国 2.59% 以下、 オーストラリア、スイス、オランダ、韓国、… 

50 2010年までの経緯 ~2010年6月 米国の時代 2010年11月 中国の台頭
~2010年6月 米国の時代 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位

51 2011年6月  スーパーコンピュータ ”京”の登場 1位  K computer(日本) 8.2 PFLOPS 2位  Tianhe-1A (中国) 2.6 PFLOPS 3位  Jaguar(米国) 1.8 PFLOPS 国別合計: 1位 米国 42.87% (25.3 PFLOPS) 2位 日本 18.98% (11.2 PFLOPS) 3位 中国 12.11% ( 7.1 PFLOPS) 4位 ドイツ % ( 3.2 PFLOPS) 5位 フランス 5.40% ( 3.2 PFLOPS) 以下,英国,ロシア,韓国,カナダ,...

52 最新情報: 2011年11月 1位  K computer(日本) 10.5 PFLOPS 2位  Tianhe-1A (中国) PFLOPS 3位  Jaguar(米国) PFLOPS 国別合計: 1位 米国 % (31.7 PFLOPS) 2位 日本 % (14.2 PFLOPS) 3位 中国 % (10.4 PFLOPS) 4位 フランス % ( 3.7 PFLOPS) 5位 ドイツ % ( 3.6 PFLOPS) 以下,英国,カナダ,ロシア,韓国,...

53 京 - K Computer - 理化学研究所と富士通が開発 http://www.aics.riken.jp
理化学研究所と富士通が開発 当初の目標:  2012年までに毎秒1京回の計算(=10PFLOPS) が可能な計算機を開発する 例えば km平方で分割したアジア域の雲解像モデル解析(24時間 分)を 1分で計算 地球シミュレータでは 12時間必要 出典: 

54 京の特徴的な技術 世界最大規模 低消費電力 高信頼性 高速ネットワーク 約8万ノード x 8CPUコア=約64万CPUコア
128GFLOPS / 58W 高信頼性 水冷方式 エラー検出、訂正機能 高速ネットワーク 6次元トーラス 少ない結線数で全体を 接続 1台壊れても別ルートを 使って運転を継続 SPARC64TM VIIIfxチップ Tofu インターコネクトネットワーク 出典: 

55 地球シミュレータ、BlueGene/L、 京の構成
階層構造: 小~中規模の共有メモリ型並列計算機か マルチコア計算機で分散メモリ型並列計算機を構成 ... ... ... ... CPU CPU CPU CPU CPU CPU CPU CPU CPU ... CPU CPU CPU メモリ メモリ メモリ メモリ 地球シミュレータ BlueGene/L CPUあたりのコア数 1 8 ノード当たりCPU数 2 ノード数 640 65,536 約8万

56 プロセッサのアーキテクチャ ベクトルからスカラーへ 地球シミュレータ: ベクトルプロセッサ BlueGene/L, 京: スカラープロセッサ
地球シミュレータ: ベクトルプロセッサ BlueGene/L, 京: スカラープロセッサ 2011年11月時点で、ベクトルプロセッサは 地球シミュレータ2の1台のみ ベクトルからスカラーへ

57 最近の高速化のアプローチ: アクセラレータの追加
最近の高速化のアプローチ:  アクセラレータの追加 特定の計算を高速化 特に最近はグラフィックプロセッサの 科学技術計算用途への流用に注目: GPGPU (General Purpose GPU) PC用のGPUカードを使用 2位(中国)、4位(米国)、5位(日本 東工大)で NVIDIAのGPU搭載 安価かつ低消費電力で性能を大幅に向上

58 何故、グラフィックプロセッサ? 実は基本的なグラフィック計算の主要部分は 連続領域に対する演算の繰り返し
実は基本的なグラフィック計算の主要部分は  連続領域に対する演算の繰り返し ベクトルプロセッサの得意な計算と同じ 基本構造がベクトルプロセッサとほぼ同じ

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

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

61 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側とアクセラレータ側双方のプログラム データの移動も全てプログラムに明記 性能を活かすためには高度なチューニングが必要

62 GPGPUの利点,欠点 電力あたりの性能は高いが、実効性能比が低い 40 367 8773 2287 35.8 280.6 8162
地球シミュレータ BlueGene/L TSUBAME2.0 総理論演算性能(TFLOPS) 40 367 8773 2287 Linpack性能(TFLOPS) 35.8 280.6 8162 1192 実効性能比 89.5% 76.5% 93.0% 52.1% 電力 6MW 0.2MW 10MW 1MW 電力対実効性能 TFLOPS/MW 5.96 1400 816 導入コスト 500億円 $1億 1200億円 32億円 電力あたりの性能は高いが、実効性能比が低い

63 GPGPU: 今後の課題 プログラムの対応 計算の大規模化への対応 科学技術計算向け拡張部分のビジネスモデル GPGPUは連続単純計算が得意
ゲームに必要ない部分(倍精度実数演算等)に どのくらい費用と時間をかけることが出来るか?

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

65 今後の開発計画 富士通: 京の商用機発表 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

66 米国の変化 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.” ゲームのルールが変わる可能性

67 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の性能を消費電力で割った電力対性能比を比較

68 実用面の評価 Gordon Bell賞 実プログラムでの性能競争
2011年: 京を用いたシリコンナノワイヤのシミュレーション で理化学研究所、筑波大、東大、富士通のチームが受賞 東工大もTSUBAME2.0を用いた新素材形成のシミュレーション で特別賞を受賞 8_ html

69 次のスーパーコンピュータ開発 米国 http://www.exascale.org
米国 ヨーロッパ 日本 予算が問題


Download ppt "スーパーコンピュータの ネットワーク 情報ネットワーク特論 2011年11月22日."

Similar presentations


Ads by Google