1 / 58

CPU の高速化テクニックから スーパーコンピュータまで

CPU の高速化テクニックから スーパーコンピュータまで. 天野. SoC 設計論. 大学院. SoC 設計演習. マイクロプロセッサアーキテクチャ特論. コンピュータアーキテクチャ特論. VLSI 設計論 ( MIPS の設計、レイアウト). 4 年春. 情報工学実験第 2  ( I/O を含んだマイクロプロセッサ). 3 年秋. コンピュータアーキテクチャ. 3 年春. 高速化の流れ. スレッドレベルの 高速化. Simultaneous Multithreading. マルチコア化. 複数命令の同時発行 (スーパースカラ). 命令レベルの

brett-rojas
Download Presentation

CPU の高速化テクニックから スーパーコンピュータまで

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. CPUの高速化テクニックからスーパーコンピュータまでCPUの高速化テクニックからスーパーコンピュータまで 天野

  2. SoC設計論 大学院 SoC設計演習 マイクロプロセッサアーキテクチャ特論 コンピュータアーキテクチャ特論 VLSI設計論 (MIPSの設計、レイアウト) 4年春 情報工学実験第2 (I/Oを含んだマイクロプロセッサ) 3年秋 コンピュータアーキテクチャ 3年春

  3. 高速化の流れ スレッドレベルの 高速化 Simultaneous Multithreading マルチコア化 複数命令の同時発行 (スーパースカラ) 命令レベルの 高速化 パイプラインを細かく (スーパーパイプライン) 周波数の向上 RISCの登場 パイプライン化 命令の動的スケジュール マルチコア 革命 2003-2004 1980 1990 2000

  4. MIPSの命令セット • 32ビットレジスタが32個ある • 3オペランド方式 • LD,STはディスプレースメント付き • ADD R3,R1,R2 • ADDI R3,R1,#1 • LD R3, 10(R1) • ST R1, 20(R2) • BEQ R1,R2, loop

  5. 命令フォーマット 3種類の基本フォーマットを持つ 31 26 25 21 20 16 15 11 10 6 5 0 shift amount R-type opcode rs rt rd function 31 26 25 21 20 16 15 0 I-type opcode rs rt immediate 31 26 25 0 J-type opcode target

  6. ir rd imm rt rs pc + ALU ALU パイプラインの概観 ID EX MEM WB IF control signals Decoder rwadr Register File MUX dout0 aluout dout1 MUX MUX MUX hazard 4 pcset exfdata MUX badr ifpc memfdata ddataout idata iaddr daddr ddatain Data Memory Instruction Memory

  7. パイプライン処理の問題点とその解決法 • うまく動けば1クロックに1命令終わる  • CPI=1でクリティカルパスは1/(ステージ数) • ステージ数分高速化、周波数向上のためにもステージ数を増やす • スーパーパイプライン • 命令間に依存性があると継続する命令が実行できずストール(失速)する • データハザード • できる命令から実行する • 命令の動的スケジューリング:アウトオブオーダ実行 • 飛び先と飛ぶかどうかが分からないとストールする • コントロールハザード • 分岐予測 • 投機的実行:実行してしまって後で取り消す

  8. 命令のアウトオブオーダ実行 トーマスローのアルゴリズム Hennessy & Patterson Computer Architecture より

  9. IF RF EX WB IF RF EX WB スーパスカラ方式 2命令同時発行の例 (3,4命令同時発行も実現されている) 命令コードの互換性がある 命令実行制御がたいへん 通常の命令 パイプライン 浮動小数点演算 パイプライン キャッシュ 浮動小数点演算命令 通常の命令 メモリシステム

  10. VLIW(VeryLongInstructionWord)方式 WB EX EX EX EX RF IF 4つの命令分の長い命令 実行の制御はコンパイラがあらかじめ行うので制御は簡単 コードの互換性がない

  11. マルチスレッドとSMT(Simultaneous Multi-Threading) Issue Slots Issue Slots Issue Slots Clock Cycles fine-grained multithreaded superscalar superscalar SMT

  12. マルチコア、メニーコア • 動作周波数の向上が限界に達する • 消費電力の増大、発熱の限界 • 半導体プロセスの速度向上が配線遅延により限界に達する • 命令レベル並列処理が限界に達する • メモリのスピードとのギャップが埋まらない → マルチコア、メニーコアの急速な発達 マルチコア革命 2003-2004年 • プログラマが並列化しないと単一プログラムの性能が上がらない

  13. クロック周波数の向上 Pentium4 3.2GHz Nehalem 3.3GHz 高速プロセッサのクロック周波数 周波数 1GHz 年間40% プロセッサの動作周波数は2003年で限界に達した 消費電力、発熱が限界に Alpha21064 150MHz 100MHz 2008 1992 2000 年

  14. Flynnの分類 • 命令流(InstructionStream)の数: M(Multiple)/S(Single) • データ流(DataStream)の数:M/S • SISD • ユニプロセッサ(スーパスカラ、VLIWも入る) • MISD:存在しない(AnalogComputer) • SIMD • MIMD

  15. 命令 一人の命令で皆同じことをするSIMD 命令メモリ 半導体チップ内でたくさんの 演算装置を動かすには良い 方法 アクセラレータ(普通のCPU にくっつけて計算能力を加速 する加速装置)の多くは この方式 安くて高いピーク性能が 得られる →パソコン、ゲーム機と   共用 演算装置 Data memory

  16. TSUBAME2.0(Xeon+Tesla,Top500 2010/114th) 天河一号(Xeon+FireStream,2009/11 5th) GPGPU:PC用グラフィックプロセッサ ※()内は開発環境

  17. GeForce GTX280 240 cores Host Input Assembler Thread Execution Manager Thread Processors Thread Processors Thread Processors Thread Processors Thread Processors … PBSM PBSM PBSM PBSM PBSM PBSM PBSM PBSM PBSM PBSM Load/Store Global Memory

  18. GPU(NVIDIA’s GTX580) 128 Cores 128 Cores L2 Cache 128 Cores 128 Cores 128個のコアは SIMD動作をする 4つのグループは 独立動作をする もちろん、このチップを たくさん使う 512 GPU cores ( 128 X 4 ) 768 KB L2 cache 40nm CMOS 550 mm^2

  19. MIMD(Multipe-Instruction Streams/Multiple-Data Streams) Node 0 0 Node 1 1 2 Interconnection Network Node2 3 メモリ空間 Node 3 独立して動けるプロセッサ を複数使う

  20. MIMD(Multipe-Instruction Streams/Multiple-Data Streams)の特徴 • 自分のプログラムで動けるプロセッサ(コア)を多数使う • 同期:足並みを揃える • データ交信:共通に使うメモリを持つなど • 最近のPC用のプロセッサは全部この形を取っている • 最近はスマートフォン用のCPUもマルチコア化

  21. Multi-Core (Intel’s Nehalem-EX) L3 Cache CPU CPU CPU CPU CPU CPU L3 Cache CPU CPU 8 CPU cores 24MB L3 cache 45nm CMOS 600 mm^2

  22. Intel 80-core chip [Vangal,ISSCC’07] Intel 80-Core Chip

  23. まとめ • 汎用プロセッサのマルチコア化は現在絶好調進行中 • 世代が進む毎に2ずつ増えている • しかし、コア数をこれ以上増やしても良いことがないかも、、、 • メニーコア • GPUなどのアクセラレータの性能向上は進む • メニーコアによるクラウドコンピューティング

  24. スーパーコンピュータ • 特に科学技術計算が非常に速い計算機 • 医療、物理、天体、気象などの研究用の膨大な計算をする • 非常に高価なため主として国の研究機関に設置 • 開発、運用のためには総合的な技術が必要 • 世界一高速なスーパーコンピュータはアメリカ、日本、中国で争ってきた • 巨額の国家予算がつぎ込まれるため、政治的な関心が高い→2009年12月 事業仕分けの対象になる 「一番じゃなきゃいけないんですか?」 昨年、「京」が世界一を奪取、10PFLOPSを達成 今、最もマスコミが取り上げてくれるコンピュータ

  25. FLOPSって何? • Floating Point Operation Per Second:一秒間に実行できる浮動小数点演算の数 • 浮動小数とは? • (仮数)× 2 (指数乗) で表す数 • 倍精度(64ビット)、単精度(32ビット)があり世界標準(IEEE標準)が決まっている 指数 仮数 符号 単精度 8ビット 23ビット 倍精度 11ビット 52ビット

  26. ペタフロップスって何? 10の6乗 10の9乗 10の12乗 10の15乗 10の18乗 100万 M(メガ) 10億 G(ギガ) 1兆 T(テラ) 1000兆 P(ペタ) 100京 E(エクサ) スーパーコンピュータ 数10TFLOPS-10PFLOPS iPhone4S 140MFLOPS アクセラレータ 数TFLOPS ハイスペックなPC 50-80GFLOPS 注意! スーパーコンピュータの 性能向上率は1.9倍/年 10PFLOPS=1秒に1京回浮動小数点演算を行う → 「京」の名前の由来

  27. 世界一はどのように決まる? • Top500/Green500Linpackという行列計算プログラムを動かした場合の性能、性能/電力をランキング • 演算性能重視 • ゴードンベル賞 • もっとも演算性能が高いマシン、値段が安くて性能の高いマシン、特徴のあるマシンを表彰 • HPC Challenge • Global HPL 行列演算: 演算性能 • Global Random Access: メモリのランダムアクセス: 通信性能 • EP stream per system: 多重負荷時のメモリアクセス: メモリ性能 • Global FFT:演算性能と通信性能が共に要求されるやっかいな問題 • 11月 ACM/IEEE Supercomputing Conference • Top500、ゴードンベル賞、HPCChallenge、Green500 • 6月 International Supercomputing Conference • Top500、Green500

  28. Rmax: Peta FLOPS Sequoia USA 16PFLOPS 10 K Japan Top 5 9 8 3 Tianhe(天河)China 2 Jaguar USA Nebulae China 1 Roadrunner USA Tsubame Japan Kraken USA Jugene Germany 2011.11 2011.6 2010.11 2010.6

  29. SACSIS2012招待講演より

  30. Top 500 201111月

  31. Green 500 201111月 1-5位はIBM Blue Gene/Q 10位はTsubame-2.0(東工大)

  32. 一番じゃなきゃいけないんですか? • Top500の一位に固執する必要はない • 差が少しならばこだわっても意味がない   → オリンピックではないので、、 Green500、ゴードンベル賞コスト対性能部門、HPCChallengeの各プログラム それぞれの上位のマシンはそれぞれの利用価値がある マスコミはあまり取り上げてくれないが、、 • 今までの歴史を見ると、一位は他を圧倒して登場する • Top500の一位はゴードンベル賞、HPCChallengeも受賞する場合が多い • 京は、Top500 1位、ゴードンベル賞性能部門、HPC Challenge4つすべてで受賞している • 一位の宣伝効果は大きい • 一定の間隔で一位を取れる技術を保持することは重要

  33. スーパーコンピュータはなぜ速い ×凄く速いクロック(時間刻み)で動くから Pentium4 3.2GHz Nehalem 3.3GHz 高速プロセッサのクロック周波数 周波数 京2GHz 1GHz 年間40% プロセッサの動作周波数は2003年で限界に達した 消費電力、発熱が限界に Alpha21064 150MHz 京の動作周波数はその辺のパソコンのCPUよりも低い →発熱を抑えるため 100MHz 2008 1992 2000 年

  34. 並列処理の3つの方法 並列処理→ 皆で働けば速くなる:プロセッサコア(処理装置)をたくさんもつ • 一人の命令で皆が同じことをやる • SIMD(Single Instruction Stream Multiple Data Streams):   シムディー • 流れ作業 • パイプライン処理、ベクトル計算機 • 皆でてんでんばらばらに計算するが、どこかで歩調を合わせる • MIMD(Multiple Instruction Streams Multiple Data Streams): ミムディー、マルチコア、メニーコア、スカラー計算機 • どのマシンも3つの方法を色々なレベルで使っている • しかし、使い方によっていくつかの種類に分けることができる • たくさんのプロセッサをちゃんと動かすために • 巨大、高速なメモリ、ディスク • 高速な結合網

  35. Peta FLOPS ピーク(最大)性能と Linpack性能 11 K Japan 10 5 アクセラレータタイプは ピークとLinpack性能の 差が大きい 4 Tianhe(天河)China ホモジーニアス アクセラレータ GPU利用 3 Nebulae China 2 Tsubame Japan Jaguar USA 1 アクセラレータタイプは エネルギー効率が良い

  36. パイプライン処理 1 2 3 4 5 6 ステージ それぞれのステージは自分の仕事が終わったら結果を次に渡す ステージの実行時間が同じならば、6倍に性能が上がる 要するに流れ作業 結果が出るまで次の作業ができない場合は、パイプラインに泡が入ってしまう → しかし行列計算など独立に計算ができれば有利!

  37. ベクトル処理(ベクトル計算機) ベクトルレジスタ a0a1a2….. 乗算器 加算器 X[i]=A[i]*B[i] Y=Y+X[i] b0b1b2…. 行列が長ければ効率が良い 古典的なスーパーコンピュータはベクトル型 (地球シミュレータ) 最近は減っている

  38. ベクトル処理(ベクトル計算機) ベクトルレジスタ a1a2….. 乗算器 加算器 a0 b0 X[i]=A[i]*B[i] Y=Y+X[i] b1b2….

  39. ベクトル処理(ベクトル計算機) ベクトルレジスタ a2….. 乗算器 加算器 a1 a0 b0 b1 X[i]=A[i]*B[i] Y=Y+X[i] b2….

  40. ベクトル処理(ベクトル計算機) ベクトルレジスタ a11….. 乗算器 加算器 a10 x1 a9 x0 b9 b10 X[i]=A[i]*B[i] Y=Y+X[i] b11….

  41. MIMD(Multipe-Instruction Streams/Multiple-Data Streams) Node 0 0 Node 1 1 2 Interconnection Network Node2 3 メモリ空間 Node 3 独立して動けるプロセッサ を複数使う

  42. 日本のスーパーコンピュータ紹介 • 「京」スーパーコンピュータ • 現在の世界一、ホモジーニアスなマルチコア、スカラプロセッサ • アクセラレータを用いず久々に一位を奪取、使いやすい • 地球シミュレータ • ベクトル計算機で世界一を取った最後?のコンピュータ • ピーク性能と実効性能の差が小さい • 東工大 Tsubame • アクセラレータ(GPU)を多数利用、電力比に優れたスーパーコンピュータ • 長崎大 DEGIMA • アクセラレータを利用、手作り感のあるスーパーコンピュータ、優れたコストパフォーマンス、エネルギー効率、ゴードンベル賞受賞 • GRAPEプロジェクト • 天体物理学用、専用計算機、SIMD、様々なマシンがゴードンベル賞を何度も受賞しているユニークなスーパーコンピュータ

  43. SACSIS2012招待講演より

  44. スーパーコンピュータ「京」 Memory L2 C Core Core Tofu Interconnect 6-D Torus/Mesh Core Core Inter Connect Controller Core Core Core Core SPARC64 VIIIfx Chip RDMA mechanism NUMA or UMA+NORMA 4 nodes/board 96nodes/Lack 24boards/Lack

  45. SACSIS2012招待講演より

  46. SACSIS2012招待講演より

  47. 水冷式のボード構成

  48. 京 のラック構成

  49. 6次元トーラス Tofu

  50. SACSIS2012招待講演より

More Related