CMPにおけるオンチップルータの 細粒度パワーゲーティングの評価

Slides:



Advertisements
Similar presentations
IP over DVB-RCS の設計と実装 研究背景 DVB-RCS 衛星回線を用いて受信局から送信局への狭帯域な戻り回線を提供 Forward Link Return Link HUB Terminal.
Advertisements

松谷 宏紀 (慶大) 鯉渕 道紘 (NII) 天野 英晴 (慶大)
情報理工学系研究科 コンピュータ科学専攻 上嶋裕樹
キャッシュ付PRAM上の 並列クィックソートと 並列マージソート
ヘテロジニアスマルチコアプロセッサ 環境を対象としたキャッシュシステム 自動生成ツールの開発
Chapter11-4(前半) 加藤健.
VLSI設計論第4回 アキュムレータマシンと 仮遅延シミュレーション
LZ圧縮回路の設計とハード・ソフト 最適分割の検討 電子情報デザイン学科 高性能計算研究室 4回生 中山 和也 2009/2/27.
ネットワーク技術II 第8.2課 イーサネット・スイッチング
第10回 電力見積もりと省電力設計 慶應義塾大学 理工学部 天野.
SOIピクセル検出器用 Digital Libraryの開発
Network-on-Chip 最前線 ~研究の始め方から最新動向まで~ 松谷@慶應
Verilog HDL 12月21日(月).
Rearrangeable NoC: 配線遅延を考慮した分散ルータ アーキテクチャ
最新技術でネットワーク設備を省エネ化!! Green IT をリードするルータ/スイッチ「AXシリーズ」
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
発表の流れ 研究背景 マルチテナント型データセンタ 関連研究 IPマルチキャスト ユニキャスト変換手法 提案手法 性能評価.
11. 省電力 五島 正裕.
集積回路 6.回路・レイアウト設計 松澤 昭 2004年 9月 2004年 9月 新大VLSI工学.
高性能コンピューティング論2 第1回 ガイダンス
ネットワーク性能に合わせた 分散遺伝的アルゴリズムにおける 最適な移住についての検討
Ibaraki Univ. Dept of Electrical & Electronic Eng.
8. 順序回路の簡単化,機能的な順序回路 五島 正裕.
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
2005年11月2日(木) 計算機工学論A 修士1年 No, 堀江準.
VLSI設計論 慶應義塾大学 理工学部 情報工学科 山﨑 信行
組み込み向けCPU 小型デバイスに搭載されるCPU 特徴 携帯電話,デジタルカメラ,PDA,センサデバイスなど 小型 低消費電力 多機能
サーバ負荷分散におけるOpenFlowを用いた省電力法
汎用テストベンチ作成ツール を用いた シミュレーションからテストまで
第8回  論理ゲートの中身と性質 論理ゲートについて,以下を理解する 内部構成 遅延時間,消費エネルギー 電圧・電流特性 瀬戸.
これからが面白いプロセッサアーキテクチャ
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
踏み台攻撃だけを抑制できる VMMレベル・パケットフィルタ
Advanced Computer Architecture
Air Chip/Air Microご紹介.
非レイテンシ指向 レジスタ・キャッシュ・システム
PCPU物理設計 ~マクロレベルの配置配線~
第8回 バックエンド設計その2 配線前処理 慶應義塾大学 理工学部 天野.
予測機構を持つルータを用いた低遅延チップ内ネットワークに関する研究
前坂 たけし (北大院・理) 其の壱 はじめての BIOS 前坂 たけし (北大院・理)
松谷 宏紀 (慶大) 鯉渕 道紘 (NII) 王 代涵 (慶大) 天野 英晴 (慶大)
#6 性能向上、ブレイクスルー、集中と分散 Yutaka Yasuda.
ディジタル回路 6. 順序回路の実現 五島 正裕.
Advanced Computer Architecture
マルチホーミングを利用した Proxy Mobile IPv6の ハンドオーバー
チャネルの動的On/Off制御のための 先読みルータアーキテクチャ
通信機構合わせた最適化をおこなう並列化ンパイラ
ディジタル回路 5. ロジックの構成 五島 正裕.
低遅延オンチップネットワークのための予測ルータの評価
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
計算機構成 第4回 アキュムレータマシン テキスト第3章
VLSI設計論第3回 順序回路の記述と論理合成
仮想ネットワークを考慮した SoftIRQ制御によるCPU割当ての手法
VMMのソフトウェア若化を考慮した クラスタ性能の比較
サービス指向ルータ向け 問合せ処理用ハードウェアの検討
信号伝搬時間の電源電圧依存性の制御 による超伝導単一磁束量子回路の 動作余裕度の改善
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
コンピュータアーキテクチャ 第 9 回.
福岡工業大学 情報工学部 情報工学科 種田研究室 于 聡
計算機工学特論 スライド 電気電子工学専攻 修士1年 弓仲研究室 河西良介
Mondriaan Memory Protection の調査
8. 順序回路の実現 五島 正裕.
Cソースコード解析による ハード/ソフト最適分割システムの構築
SpectreとMeltdown ITソリューション塾・第27期 2018年3月20日 株式会社アプライド・マーケティング 大越 章司
コンピュータアーキテクチャ 第 9 回.
ILC衝突点ビームモニターのための 読み出し回路の開発
ディジタル回路 8. 機能的な順序回路 五島 正裕.
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
信号伝搬時間の電源電圧依存性の制御 による超伝導単一磁束量子回路の 動作余裕度の改善
ソケットの拡張によるJava用分散ミドルウエアの高信頼化
Presentation transcript:

CMPにおけるオンチップルータの 細粒度パワーゲーティングの評価 松谷 宏紀 鯉渕 道紘 池淵 大輔 宇佐美 公良 中村 宏 天野 英晴 (東京大学) (国立情報学研究所) (慶應義塾大学) (芝浦工業大学)

最近のマルチコア・メニーコア 4 8 16 32 64 128 256 2002 2004 2006 2008 2010 MIT RAW STI Cell BE Sun T1 Sun T2 TILERA TILE64 Intel Core, IBM Power7 AMD Opteron Intel 80-core ClearSpeed CSX600 ClearSpeed CSX700 picoChip PC102 picoChip PC205 UT TRIPS (OPN) Number of PEs (caches are not included) 2 Intel SCC Fujitsu SPARC64

最近のマルチコア・メニーコア 4 8 16 32 64 128 256 2002 2004 2006 2008 2010 MIT RAW STI Cell BE Sun T1 Sun T2 TILERA TILE64 Intel Core, IBM Power7 AMD Opteron Intel 80-core ClearSpeed CSX600 ClearSpeed CSX700 picoChip PC102 picoChip PC205 UT TRIPS (OPN) Number of PEs (caches are not included) 2 シンプルな PE を大量に接続 Intel SCC 高性能 CPU を複数接続 Fujitsu SPARC64

共有メモリ型 CMP: Network-on-Chip 8-CPU CMP の構成例 プロセッサ (プライベート L1 キャッシュ内蔵) 共有 L2 キャッシュ、バンク分割 (non-uniform cache arch) [Beckmann, MICRO’04] UltraSPARC L1キャッシュ (I & D) (各 16kB) L2キャッシュバンク (各 256kB, 4-way)

共有メモリ型 CMP: Network-on-Chip 8-CPU CMP の構成例 プロセッサ (プライベート L1 キャッシュ内蔵) 共有 L2 キャッシュ、バンク分割 (non-uniform cache arch) プロセッサと L2 バンクの結合  Network-on-Chip (NoC) NoC は CMP の通信インフラストラクチャーなので、 いつでもパケット転送できる状態でなければならない。 でも、それだと NoC が常にリーク電力を消費してしまう。。 そこで、NoC にランタイム・パワーゲーティングを適用して、 リーク電力を最小限に抑えよう! [Beckmann, MICRO’04] UltraSPARC L1キャッシュ (I & D) (各 16kB) L2キャッシュバンク (各 256kB, 4-way) オンチップルータ

発表の流れ: 細粒度 PG ルータの評価 オンチップルータの細粒度パワーゲーティング パワードメインのハードウェア評価 入力バッファ、 出力ラッチ クロスバMUX、仮想チャネルMUX パワードメインのハードウェア評価 回路設計 @ Fujitsu 65nm 面積、ウェイクアップ遅延、On/Off エネルギー 早期ウェイクアップ手法 ウェイクアップ遅延の隠ぺい CMP システムレベル評価 アプリケーション性能 (早期ウェイクアップ付き) リーク電力の削減量 (On/Off エネルギー込み) 35個のパワードメイン (ルータ1個あたり) オーバヘッドをちゃんと評価します

パワーゲーティング: 粗粒度 vs. 細粒度 細粒度なアプローチ 粗粒度なアプローチ スタセル単位 セルごとに VGND ポート IPコア (モジュール) 単位 VGND リングで囲む VGND と GND の間にパワースイッチを挿入 [宇佐美, ICCD’06] Virtual GND (VGND) IP Core IP Core IP Core IP Core IP Core IP Core IP Core IP Core On/Off PowerSwitch GND ring

パワーゲーティング: 粗粒度 vs. 細粒度 細粒度なアプローチ 粗粒度なアプローチ スタセル単位 セルごとに VGND ポート IPコア (モジュール) 単位 VGND リングで囲む VGND と GND の間にパワースイッチを挿入 [宇佐美, ICCD’06] PowerSwitch On/Off OR AND VDD GND INV DFF OR AND VDD GND INV DFF OR AND VDD GND INV DFF Virtual GND (VGND) IP Core IP Core VGND On/Off PowerSwitch GND ring

パワーゲーティング: 粗粒度 vs. 細粒度 ルータ内の細かい部品 (入力バッファ、マルチプレクサ)は、互いに独立して動作する 細粒度 PG のほうがスリープできるチャンスが多い ARBITER X+ X+ Packet#2 Packet#1 X- X- Y+ Y+ Y- Y- 5x5 CROSSBAR CORE CORE

細粒度ランタイム PG ルータ 各ルータは、多数のマイクロパワードメインに分割 入力 VC バッファ、 出力ラッチ 仮想チャネルMUX、クロスバMUX 35個のパワードメイン (ルータ1個あたり) ARBITER X+ X+ X- X- Y+ Y+ Y- Y- 5x5 CROSSBAR CORE CORE

細粒度ランタイム PG ルータ 各ルータは、多数のマイクロパワードメインに分割 入力 VC バッファ、 出力ラッチ 仮想チャネルMUX、クロスバMUX 35個のパワードメイン (ルータ1個あたり) ARBITER X+ X+ Packet X- X- Y+ Y+ Y- Y- 5x5 CROSSBAR CORE CORE

細粒度ランタイム PG ルータ 各ルータは、多数のマイクロパワードメインに分割 入力 VC バッファ、 出力ラッチ 仮想チャネルMUX、クロスバMUX 35個のパワードメイン (ルータ1個あたり) ARBITER X+ X+ X- X- Y+ Y+ Y- Y- 5x5 CROSSBAR CORE CORE

細粒度ランタイム PG ルータ 各ルータは、多数のマイクロパワードメインに分割 入力 VC バッファ、 出力ラッチ 仮想チャネルMUX、クロスバMUX 35個のパワードメイン (ルータ1個あたり) ARBITER X+ X+ X- X- Y+ Y+ Y- Y- 5x5 CROSSBAR CORE CORE

細粒度ランタイム PG ルータ 各ルータは、多数のマイクロパワードメインに分割 入力 VC バッファ、 出力ラッチ 仮想チャネルMUX、クロスバMUX 35個のパワードメイン (ルータ1個あたり) ARBITER X+ X+ X- X- Y+ Y+ Y- Y- 5x5 CROSSBAR CORE CORE

各パワードメインは本当に使われるときだけ起こされる (リークを消費) 細粒度ランタイム PG ルータ 各ルータは、多数のマイクロパワードメインに分割 入力 VC バッファ、 出力ラッチ 仮想チャネルMUX、クロスバMUX 35個のパワードメイン (ルータ1個あたり) ARBITER X+ X+ X- X- Y+ Y+ Y- Y- 5x5 CROSSBAR CORE CORE 各パワードメインは本当に使われるときだけ起こされる (リークを消費)

発表の流れ: 細粒度 PG ルータの評価 オンチップルータの細粒度パワーゲーティング パワードメインのハードウェア評価 入力バッファ、 出力ラッチ クロスバMUX、仮想チャネルMUX パワードメインのハードウェア評価 回路設計 @ Fujitsu 65nm 面積、ウェイクアップ遅延、On/Off エネルギー 早期ウェイクアップ手法 ウェイクアップ遅延の隠ぺい CMP システムレベル評価 アプリケーション性能 (早期ウェイクアップ付き) リーク電力の削減量 (On/Off エネルギー込み) 35個のパワードメイン (ルータ1個あたり)

細粒度ランタイムPGルータ: 設計フロー Verilog ネットリスト Holdセル挿入 (スリープ時に不定値伝搬を防ぐ) 自動配置配線 パワースイッチ挿入 自動配置配線 (再び) SPICE ネットリスト抽出 SPICE シミュレーション Synopsys DesignCompiler module FIFO (in, out); input [127:0] in; output [127:0] out: DFF reg0 (in0, out0, clk); DFF reg1 (in1, out1, clk); endmodule By hand Synopsys Astro Sequence Design CoolPower Synopsys Astro Cadence Assura (QRC) Synopsys HSIM

細粒度ランタイムPGルータ: 設計フロー Verilog ネットリスト Holdセル挿入 (スリープ時に不定値伝搬を防ぐ) 自動配置配線 パワースイッチ挿入 自動配置配線 (再び) SPICE ネットリスト抽出 SPICE シミュレーション Synopsys DesignCompiler module FIFO (in, out); input [127:0] in; output [127:0] out: DFF reg0 (in0, out0, clk); DFF reg1 (in1, out1, clk); HOLD (out0); HOLD (out1); endmodule By hand Synopsys Astro Sequence Design CoolPower Synopsys Astro Cadence Assura (QRC) Synopsys HSIM

細粒度ランタイムPGルータ: 設計フロー Verilog ネットリスト Holdセル挿入 (スリープ時に不定値伝搬を防ぐ) 自動配置配線 パワースイッチ挿入 自動配置配線 (再び) SPICE ネットリスト抽出 SPICE シミュレーション Synopsys DesignCompiler VDD OR AND DFF By hand GND Synopsys Astro GND Sequence Design CoolPower INV DFF AND OR NOR Synopsys Astro VDD Domain#0 Domain#1 Cadence Assura (QRC) Synopsys HSIM

細粒度ランタイムPGルータ: 設計フロー Verilog ネットリスト Holdセル挿入 (スリープ時に不定値伝搬を防ぐ) 自動配置配線 PowerSwitch Verilog ネットリスト Holdセル挿入 (スリープ時に不定値伝搬を防ぐ) 自動配置配線 パワースイッチ挿入 自動配置配線 (再び) SPICE ネットリスト抽出 SPICE シミュレーション Synopsys DesignCompiler VDD OR AND DFF By hand GND Synopsys Astro VGND GND Sequence Design CoolPower INV DFF AND OR NOR Synopsys Astro VDD Domain#0 Domain#1 Cadence Assura (QRC) Synopsys HSIM

Holdセル&パワースイッチで 4.3%増、スタセル改造を含めると15.9% パワードメインの評価: 面積オーバヘッド PowerSwitch Hold セル ゲート数 2.6% 増 ドメインの出力ポート数に応じて増える パワースイッチ ゲート数 1.7% 増 ウェイクアップ速度に応じて増える スタセルの改造 各セルに VGND ポートを取り付ける 全セルの高さを 10/9 倍 VDD OR AND DFF GND VGND GND INV DFF AND OR NOR VDD Domain#0 Domain#1 Holdセル&パワースイッチで 4.3%増、スタセル改造を含めると15.9%

パワードメインの評価: ウェイクアップ遅延 Correct output Wakeup & Initialization 2.8nsec ウェイクアップ遅延 電源オフの回路に電源を投入し、動作するまで パケット通信遅延が増える FIFO OUT[1] FIFO OUT[0] 入力 VC バッファの例 VDD GND Clock FIFO FIFO Power ON Wakeup VGND Wakeup Switch Fujitsu 65nm CMOS (1.20V, 75C)

パワードメインの評価: ウェイクアップ遅延 Correct output Wakeup 1.3nsec ウェイクアップ遅延 電源オフの回路に電源を投入し、動作するまで パケット通信遅延が増える MUX OUT[1] MUX OUT[0] クロスバ MUX の例 VDD GND Clock MUX Power ON Wakeup VGND Wakeup Switch パワードメインの電源オンして動作するまで 3nsec (3-cycle@1GHz) Fujitsu 65nm CMOS (1.20V, 75C)

パワードメインの評価: On/Off エネルギー パワースイッチの駆動 ウェイクアップ信号の配線 スリープ期間が短いと、 “元” が取れなくなる FIFO OUT[1] Clock is stopped to clearly show On/Off energy FIFO OUT[0] 入力 VC バッファの例 Power Off Wakeup VDD GND FIFO FIFO On/Off energy Current VGND Wakeup Switch 60~99nsec以上のスリープなら、On/Off エネルギーを償却できる Fujitsu 65nm CMOS (1.20V, 75C)

発表の流れ: 細粒度 PG ルータの評価 オンチップルータの細粒度パワーゲーティング パワードメインのハードウェア評価 入力バッファ、 出力ラッチ クロスバMUX、仮想チャネルMUX パワードメインのハードウェア評価 回路設計 @ Fujitsu 65nm 面積、ウェイクアップ遅延、On/Off エネルギー 早期ウェイクアップ手法 ウェイクアップ遅延の隠ぺい CMP システムレベル評価 アプリケーション性能 (早期ウェイクアップ付き) リーク電力の削減量 (On/Off エネルギー込み) 35個のパワードメイン (ルータ1個あたり)

ウェイクアップ遅延の影響: 評価環境 CMPシミュレータ: GEMS/Simics 3サイクルルータ ウェイクアップ遅延: 2, 3, 4 cycles SPLASH-2 ベンチマーク (8スレッド) [Martin,CAN’05] [RC] [VSA] [ST] radix, lu, fft, barnes, ocean, raytrace, volrend, water-ns, water-sp, fmm (10種類のアプリ) UltraSPARC L1キャッシュ (I & D) (各 16kB) L2キャッシュバンク (各 256kB, 4-way) オンチップルータ

ウェイクアップ遅延の影響: 評価環境 CMPシミュレータ: GEMS/Simics 3サイクルルータ ウェイクアップ遅延: 2, 3, 4 cycles SPLASH-2 ベンチマーク (8スレッド) [Martin,CAN’05] [RC] [VSA] [ST] radix, lu, fft, barnes, ocean, raytrace, volrend, water-ns, water-sp, fmm (10種類のアプリ) Token coherence プロトコル [Martin,ISCA’03] 仮想チャネル0 リクエスト (L1 ⇔ L2) 用 仮想チャネル1 リクエスト (L2 ⇔ 主記憶) 用 仮想チャネル2 リプライ用 仮想チャネル3 スタベイション回避用

実行時間の増加はエネルギ増  ウェイクアップ遅延の隠蔽が必須 ウェイクアップ遅延の影響: 評価結果 SPLASH-2 ベンチ (10個の並列アプリ) の実行時間 2-cycle ウェイク 3-cycle ウェイク 4-cycle ウェイク (667MHz) (1000MHz) (1333MHz) アプリの実行時間が平均 23.2% ~ 46.3% 増加 アプリの実行時間 (正規化) パワーゲーティングしないときの実行時間 = 1.00 Radix Lu Fft Barnes Ocean Ray- trace Vol- rend Water NS SP Fmm Ave 実行時間の増加はエネルギ増  ウェイクアップ遅延の隠蔽が必須

早期ウェイクアップ: Look-ahead method 2ホップ先のルータモジュールを事前にウェイクアップ Look-ahead ルーティングを使用 [松谷,ASPDAC’08] CPU L2キャッシュ Wakeup Wakeup Wakeup 1ホップ目 2ホップ目 3ホップ目 4ホップ目 5ホップ目 NRC VSA ST ルータ(1) ルータ(2) ルータ(3) HEAD DATA 1 DATA 2 DATA 3 SA ルータ(1)が、ルータ(2)の出力ポートを決める  ルータ(3)の入力ポートが判明 ところで、、1ホップ目はどうやって事前にウェイクアップさせるの??

早期ウェイクアップ: LA + CPU ever-on 2ホップ先のルータモジュールを事前にウェイクアップ Look-ahead ルーティングを使用 Ever-on ドメイン 電源を落とさない ウェイクアップ遅延無し CPU隣接ポートの VC0、VC2   のみ Ever-on に設定 [松谷,ASPDAC’08] CPU L2キャッシュ Wakeup Wakeup Wakeup Ever-on 1ホップ目 2ホップ目 3ホップ目 4ホップ目 5ホップ目 仮想チャネル0 リクエスト (L1 ⇔ L2) 用 仮想チャネル1 リクエスト (L2 ⇔ 主記憶) 用 仮想チャネル2 リプライ用 仮想チャネル3 スタベイション回避用 NoCのトラフィック量を解析 Ever-on チャネルは全体の4.7%  最小コストで遅延を大幅に削減

早期ウェイクアップ: LA + Buffer window FIFO バッファの先頭を予め電源オン Window size = 常にオンにしておくバッファ量 短いパケット (window size 以下)  ウェイクアップ遅延無し [Chen,ISLPED’03] ARBITER X+ Window size = 3 X- Y+ Y+ Y- Write Read 5x5 CROSSBAR CORE

早期ウェイクアップ: LA + Buffer window FIFO バッファの先頭を予め電源オン Window size = 常にオンにしておくバッファ量 短いパケット (window size 以下)  ウェイクアップ遅延無し [Chen,ISLPED’03] ARBITER X+ Window size = 3 X- Y+ Y+ Y- Read Write 5x5 CROSSBAR CORE

早期ウェイクアップ: LA + Buffer window FIFO バッファの先頭を予め電源オン Window size = 常にオンにしておくバッファ量 短いパケット (window size 以下)  ウェイクアップ遅延無し [Chen,ISLPED’03] ARBITER X+ Window size = 3 X- Y+ Y+ Y- Read Write 5x5 CROSSBAR CORE

早期ウェイクアップ: LA + Buffer window FIFO バッファの先頭を予め電源オン Window size = 常にオンにしておくバッファ量 短いパケット (window size 以下)  ウェイクアップ遅延無し [Chen,ISLPED’03] ARBITER X+ Window size = 3 X- Y+ Y+ Y- Read Write 5x5 CROSSBAR CORE

早期ウェイクアップ: LA + Buffer window FIFO バッファの先頭を予め電源オン Window size = 常にオンにしておくバッファ量 短いパケット (window size 以下)  ウェイクアップ遅延無し [Chen,ISLPED’03] ARBITER X+ Window size = 3 X- Y+ Y+ Y- Read Write 5x5 CROSSBAR CORE

早期ウェイクアップ: LA + Buffer window FIFO バッファの先頭を予め電源オン Window size = 常にオンにしておくバッファ量 短いパケット (window size 以下)  ウェイクアップ遅延無し [Chen,ISLPED’03] ARBITER X+ Window size = 3 X- Y+ Y+ Y- Read Write 5x5 CROSSBAR CORE 遅延は隠蔽できるが、window size分PGできないリーク削減量(少)

発表の流れ: 細粒度 PG ルータの評価 オンチップルータの細粒度パワーゲーティング パワードメインのハードウェア評価 入力バッファ、 出力ラッチ クロスバMUX、仮想チャネルMUX パワードメインのハードウェア評価 回路設計 @ Fujitsu 65nm 面積、ウェイクアップ遅延、On/Off エネルギー 早期ウェイクアップ手法 ウェイクアップ遅延の隠ぺい CMP システムレベル評価 アプリケーション性能 (早期ウェイクアップ付き) リーク電力の削減量 (On/Off エネルギー込み) 35個のパワードメイン (ルータ1個あたり)

CMP シミュレータ: GEMS/Simics フルシステムシミュレーション CPU 8個、L2バンク64個、4x4メッシュ Sun Solaris 9、Sun Studio 12 SPLASH-2 ベンチマーク (8スレッド) [Martin,CAN’05] radix, lu, fft, barnes, ocean, raytrace, volrend, water-ns, water-sp, fmm (10種類のアプリ) UltraSPARC L1キャッシュ (I & D) (各 16kB) L2キャッシュバンク (各 256kB, 4-way) オンチップルータ

CMP シミュレータ: GEMS/Simics フルシステムシミュレーション CPU 8個、L2バンク64個、4x4メッシュ Sun Solaris 9、Sun Studio 12 SPLASH-2 ベンチマーク (8スレッド) [Martin,CAN’05] radix, lu, fft, barnes, ocean, raytrace, volrend, water-ns, water-sp, fmm (10種類のアプリ) Token coherence プロトコル [Martin,ISCA’03] 仮想チャネル0 リクエスト (L1 ⇔ L2) 用 仮想チャネル1 リクエスト (L2 ⇔ 主記憶) 用 仮想チャネル2 リプライ用 仮想チャネル3 スタベイション回避用

評価環境: アプリケーション性能 フルシステムシミュレーション 早期ウェイクアップ手法(3種)で、アプリ性能を比較 CPU 8個、L2バンク64個、4x4メッシュ Sun Solaris 9、Sun Studio 12 SPLASH-2 ベンチマーク (8スレッド) 早期ウェイクアップ手法(3種)で、アプリ性能を比較 ウェイクアップ遅延: 3nsec (3-cycleウェイクアップ@ 1GHz) radix, lu, fft, barnes, ocean, raytrace, volrend, water-ns, water-sp, fmm (10種類のアプリ) Window size = 2 SRC DST Wakeup SRC DST Wakeup Write Read Ever-on Look-ahead LA + CPU ever-on LA + Buffer window

早期ウェイクアップ手法によって、性能オーバヘッドを大幅に緩和 評価結果: アプリケーション性能 SPLASH-2 ベンチの実行時間 (3-cycle ウェイクアップ@ 1GHz) Look-ahead + Look-ahead CPU ever-on Buffer window (1.00 = パワーゲーティングしないときの実行時間) 早期ウェイクアップ手法がないときの実行時間 (+35.3%) CPU ever-on のときの性能オーバヘッドは +4.0% アプリの実行時間 (正規化) Radix Lu Fft Barnes Ocean Ray- trace Vol- rend Water NS SP Fmm Ave 早期ウェイクアップ手法によって、性能オーバヘッドを大幅に緩和

評価環境: リーク電力 (On/Offエネルギー込) 1. 各ドメインの On/Off エネルギー (SPICE シミュレーション) 2. ウェイクアップ信号の配線エネルギー (リピータ付き3mm配線)  GEMS/Simics には、上記 1. と 2. をパラメータとして与える 細粒度パワーゲーティングを3段階で適用 (Level 1~3) Level-1 power gating Level-2 power gating Level-3 power gating ARB ARB ARB 入力バッファのみ 入力バッファ+クロスバ 入出力バッファ+クロスバ

評価結果: リーク電力 (On/Offエネルギー込) Level 1 PG: 入力バッファのみ (3-cycleウェイクアップ@1GHz) Look-ahead + Look-ahead CPU ever-on Buffer window On/Offエネルギー パワーゲーティングしないときのリーク電力 Level 1 PG によって、リーク電力を 51.8% 削減 リーク電力 (オーバヘッド込、正規化)  Radix Lu Fft Barnes Ocean Ray- trace Vol- rend Water NS SP Fmm Ave

評価結果: リーク電力 (On/Offエネルギー込) Level 2 PG: 入力バッファ、クロスバ (3-cycleウェイクアップ@1GHz) Look-ahead + Look-ahead CPU ever-on Buffer window On/Offエネルギー パワーゲーティングしないときのリーク電力 Level 2 PG によって、リーク電力を 55.8% 削減 リーク電力 (オーバヘッド込、正規化)  Radix Lu Fft Barnes Ocean Ray- trace Vol- rend Water NS SP Fmm Ave

評価結果: リーク電力 (On/Offエネルギー込) Level 3 PG: 入力バッファ、クロスバ、出力ラッチ Look-ahead + Look-ahead CPU ever-on Buffer window On/Offエネルギー パワーゲーティングしないときのリーク電力 Level 3 PG によって、リーク電力を 59.3% 削減 リーク電力 (オーバヘッド込、正規化)  Radix Lu Fft Barnes Ocean Ray- trace Vol- rend Water NS SP Fmm Ave

まとめ: CMP向け細粒度 PG ルータの評価 パワードメインの実装 @ Fujitsu 65nm 入力バッファ、 出力ラッチ クロスバMUX、仮想チャネルMUX パワードメインのオーバヘッド (SPICE シミュレーション) 面積オーバヘッド: 4.3~15.9% 増 ウェイクアップ遅延: 3nsec 以下 On/Off エネルギー: 60~99nsec のスリープで償却可能 CMP を想定した評価 (フルシステム・シミュレーション) アプリの性能オーバヘッド: 35.3% (早期ウェイクアップ無し) アプリの性能オーバヘッド: 4.0% (早期ウェイクアップ有り) リーク電力の削減量は 59.3% (On/Off エネルギー込み) 35個のパワードメイン (ルータ1個あたり)

今後の課題: さらなるオーバヘッド削減 Return wakeup: 性能オーバヘッドのさらなる削減 リプライ (L2  CPU) の1ホップ目遅延を隠ぺい 宛先(L2)到着時に、リプライで使われるポートをウェイクアップ パワードメイン統廃合: 面積オーバヘッドのさらなる削減 クロスバMUXと出力ラッチを統合 CPU L2キャッシュ Ever-on Return wakeup ARBITER X+ X+ X- X-

ご清聴ありがとうございました

スタンバイ時の消費電力の 35.7% がリーク電力 (動作時75℃のとき) オンチップルータ: 消費電力の解析 消費電力の分類 スイッチング電力: 回路がスイッチングする際に消費 リーク電力: 電源が入っている限りちょっとずつ消費 Fujitsu 65nmで配置配線し、500MHzでシミュレーション スタンバイ時の消費電力の 35.7% がリーク電力 (動作時75℃のとき)

評価結果: アプリケーション性能 SPLASH-2 ベンチの実行時間 (2-cycle ウェイクアップ@ 667MHz) Look-ahead + Look-ahead CPU ever-on Buffer window (1.00 = パワーゲーティングしないときの実行時間) 早期ウェイクアップ手法がないときの実行時間 (+23.2%) アプリの実行時間 (正規化) CPU ever-on のときの性能オーバヘッドは +3.2% Radix Lu Fft Barnes Ocean Ray- trace Vol- rend Water NS SP Fmm Ave

評価結果: アプリケーション性能 SPLASH-2 ベンチの実行時間 (4-cycle ウェイクアップ@ 1333MHz) Look-ahead + Look-ahead CPU ever-on Buffer window (1.00 = パワーゲーティングしないときの実行時間) 早期ウェイクアップ手法がないときの実行時間 (+46.3%) アプリの実行時間 (正規化) CPU ever-on のときの性能オーバヘッドは +6.7% Radix Lu Fft Barnes Ocean Ray- trace Vol- rend Water NS SP Fmm Ave