CMP における オンチップルータのランタイム パワーゲーティングの評価 松谷 宏紀 (東大) 鯉渕 道紘 (NII) 中村 宏 (東大) 天野 英晴 (慶大) Number of PEs (caches are not included) 最近のマルチコア・メニーコア picoChip PC102 256 picoChip PC205 ClearSpeed CSX700 128 64 Intel 80-core TILERA TILE64 ClearSpeed CSX600 32 MIT RAW 16 UT TRIPS (OPN) STI Cell BE 8 Sun T1 4 2 Sun T2 Intel Core, IBM PowerX AMD Opteron 2002 2004 2006 2008 2010? Number of PEs (caches are not included) 最近のマルチコア・メニーコア picoChip PC102 256 picoChip PC205 ClearSpeed CSX700 シンプルな PE を大量に接続 128 64 Intel 80-core TILERA TILE64 ClearSpeed CSX600 Target 32 MIT RAW 16 UT TRIPS (OPN) STI Cell BE 8 Sun T1 4 2 高性能 CPU を複数接続 Sun T2 Intel Core, IBM PowerX AMD Opteron 2002 2004 2006 2008 2010? 共有メモリ型 CMP: NUCA 型キャッシュ • 8-CPU CMP の構成例 – プロセッサ (プライベート L1 キャッシュ内蔵) – 共有 L2 キャッシュ; バンク分割 (non-uniform cache arch) [Beckmann, MICRO’04] UltraSPARC L1キャッシュ (I & D) (各 16kB) L2キャッシュバンク (各 256kB, 4-way) 共有メモリ型 CMP: NUCA 型キャッシュ • 8-CPU CMP の構成例 – プロセッサ (プライベート L1 キャッシュ内蔵) – 共有 L2 キャッシュ; バンク分割 (non-uniform cache arch) – プロセッサと L2 バンクの結合 オンチップネットワーク [Beckmann, MICRO’04] 最近,ほぼすべての用途において低消費電力化が必須 プロセッサやキャッシュの低消費電力化は当たり前 オンチップルータの低消費電力化が重要 UltraSPARC オンチップルータは,通信が無ければ動作を止められる L1キャッシュ (I & D) (各 16kB) 本研究では CMP 向け NoC のスタンバイ電力を削減 L2キャッシュバンク (各 256kB, 4-way) オンチップルータ 発表の流れ: CMP 用 NoC のランタイムPG • 共有メモリ型 CMP • オンチップルータのパワーゲーティング – 入力バッファ NEW– クロスバスイッチ NEW– 出力ラッチ 細粒度なランタイム パワーゲーティング • ウェイクアップ遅延の隠蔽 – 遅延の見積もり – ウェイクアップ遅延の隠蔽方式 • シミュレーション結果 – ウェイクアップ遅延の影響 – リーク電力の削減量 オンチップルータ: パワーゲーティング粒度 パケットが来たら電源 ON 通過したら OFF 出力チャネル 入力チャネル ARBITER X+ FIFO X+ X- FIFO X- Y+ FIFO Y+ Y- FIFO Y- CORE FIFO 5x5 CROSSBAR CORE オンチップルータ: パワーゲーティング粒度 • 粗粒度なアプローチ – ルータ丸ごと PGのチャンスが少ない • 細粒度なアプローチ – 入力バッファ (VC 単位) – クロスバ, 出力ラッチ ARBITER X+ X+ X- X- Y+ Y+ Y- Y- CORE 5x5 CROSSBAR CORE 細粒度パワーゲーティングによって,ルータのリークの88.4%をカバー オンチップルータ: 細粒度 PG の動作 • 粗粒度なアプローチ – ルータ丸ごと PGのチャンスが少ない • 細粒度なアプローチ – 入力バッファ – クロスバ, 出力ラッチ ARBITER X+ X+ Packet X- X- Y+ Y+ Y- Y- CORE 5x5 CROSSBAR CORE オンチップルータ: 細粒度 PG の動作 • 粗粒度なアプローチ – ルータ丸ごと PGのチャンスが少ない • 細粒度なアプローチ – 入力バッファ – クロスバ, 出力ラッチ ARBITER X+ X+ Packet X- X- Y+ Y+ Y- Y- CORE 5x5 CROSSBAR CORE オンチップルータ: 細粒度 PG の動作 • 粗粒度なアプローチ – ルータ丸ごと PGのチャンスが少ない • 細粒度なアプローチ – 入力バッファ – クロスバ, 出力ラッチ ARBITER X+ X+ Packet X- X- Y+ Y+ Y- Y- CORE 5x5 CROSSBAR CORE 使われる部分だけ電源ONすることで,ルータの大部分のリークを削減 発表の流れ: CMP 用 NoC のランタイムPG • 共有メモリ型 CMP • オンチップルータのパワーゲーティング – 入力バッファ – クロスバスイッチ – 出力ラッチ 細粒度なランタイム パワーゲーティング • ウェイクアップ遅延の隠蔽 – 遅延の見積もり – ウェイクアップ遅延の隠蔽方式 • シミュレーション結果 – ウェイクアップ遅延の影響 – リーク電力の削減量 ウェイクアップ遅延: 入力バッファPGの例 パケットが来たら電源 ON 通過したら OFF 出力チャネル 入力チャネル ARBITER X+ FIFO X+ X- FIFO X- Y+ FIFO Y+ Y- FIFO Y- CORE FIFO 5x5 CROSSBAR CORE ウェイクアップ遅延: 入力バッファPGの例 パケットが来たら電源 ON 通過したら OFF ARBITER X+ X- VDD Y+ Y+ FIFO Y- GND 5x5 CROSSBAR CORE ウェイクアップ遅延: 入力バッファPGの例 パケットが来たら電源 ON 通過したら OFF 細粒度パワーゲーティング • セルごとに VGND ポートを持つ • ブロックごとに VGND を共有 • VGND と GND の間にスイッチ ARBITER X+ X- VDD Y+ VGND ACTIVE GND Y+ Sleep FIFO Y- Switch 5x5 CROSSBAR CORE 動作再開 ウェイクアップ遅延: 入力バッファPGの例 FIFO 出力[1] パケットが来たら電源 ON 通過したら OFF 細粒度パワーゲーティング • セルごとに VGND ポートを持つ • ブロックごとに VGND を共有 • VGND と GND の間にスイッチ FIFO 出力[0] ウェイクアップ& 初期化中 ARBITER X+ ACTIVE VDD Y+ 電源ON Sleep FIFO XY+ CLK YVGND ACTIVE 5x5 Switch CROSSBAR GND CORE 電源をONしてバッファが動作するまで 4nsec (クロスバのPGも同じ) Fujitsu 65nm CMOS (1.20V, 25C) ウェイクアップ遅延の影響: 評価環境 • GEMS/Simics シミュレーション環境 – 3サイクルルータ – ウェイクアップ遅延: 2, 4, 6 cycles – SPLASH-2 ベンチマーク (8スレッド) radix, lu, fft, barnes, radiosity, ocean, raytrace, volrend, water-ns, water-sp, fmm (計11種類) UltraSPARC L1キャッシュ (I & D) (各 16kB) L2キャッシュバンク (各 256kB, 4-way) オンチップルータ ウェイクアップ遅延の影響: 評価結果 • SPLASH-2 ベンチ (11個の並列アプリ) の実行時間 2-cycle ウェイク (500MHz) 4-cycle ウェイク (1000MHz) 6-cycle ウェイク (1500MHz) PG しないときの実行時間 = 1.00 アプリの実行時間が平均 23.5% ~ 77.2% 増加 実行時間の増加はエネルギ増 ウェイクアップ遅延の隠蔽が必須 ウェイクアップ隠蔽: Look-ahead 方式 • 2ホップ先のルータを事前にウェイクアップ – Look-ahead ルーティングを使用 [松谷,ASPDAC’08] – 4-cycle のウェイクアップ遅延を隠蔽 (3-cycle ルータの場合) SRC DST Wakeup Wakeup 2-hop 3-hop 1-hop 4-hop • 欠点 – 2ホップにまたがるwakeup線 – 1ホップ目をどう事前ウェイク アップさせるか? (*) 4x4 mesh の平均ホップ数は 2.67 1ホップのウェイクアップ遅延を隠蔽できない 性能の劣化が激しい ウェイクアップ隠蔽: Look-ahead 方式 + CPU ever-on • 2ホップ先のルータを事前にウェイクアップ – Look-ahead ルーティングを使用 – 4-cycle のウェイクアップ遅延を隠蔽 (3-cycle ルータの場合) SRC DST Wakeup Wakeup Ever-on 1-hop 2-hop 3-hop 4-hop • CPU ever-on – CPU からの入力チャネルは スリープさせない – 1ホップ目はノーウェイト (*) 4x4 mesh の平均ホップ数は 2.67 Ever-on チャネルは全体の4.7% 最小コストで遅延を大幅に削減 ウェイクアップ隠蔽: Buffer window 方式 • FIFO バッファの一部を常にON [Chen,ISLPED’03] – Window size = 常に On なバッファ量 – Short packet (window size 以下) ノーウェイト ARBITER X+ FIFO X+ X- FIFO X- Y+ FIFO Y+ Y- FIFO Y- CORE FIFO 5x5 CROSSBAR CORE ウェイクアップ隠蔽: Buffer window 方式 • FIFO バッファの一部を常にON [Chen,ISLPED’03] – Window size = 常に On なバッファ量 – Short packet (window size 以下) ノーウェイト ARBITER X+ Window size = 3 XY+ Y+ YRead Write 5x5 CROSSBAR CORE ウェイクアップ隠蔽: Buffer window 方式 • FIFO バッファの一部を常にON [Chen,ISLPED’03] – Window size = 常に On なバッファ量 – Short packet (window size 以下) ノーウェイト ARBITER X+ Window size = 3 XY+ Y+ YRead Write 5x5 CROSSBAR CORE ウェイクアップ隠蔽: Buffer window 方式 • FIFO バッファの一部を常にON [Chen,ISLPED’03] – Window size = 常に On なバッファ量 – Short packet (window size 以下) ノーウェイト ARBITER X+ Window size = 3 XY+ Y+ YRead Write 5x5 CROSSBAR CORE ウェイクアップ隠蔽: Buffer window 方式 • FIFO バッファの一部を常にON [Chen,ISLPED’03] – Window size = 常に On なバッファ量 – Short packet (window size 以下) ノーウェイト ARBITER X+ Window size = 3 XY+ Y+ YRead Write 5x5 CROSSBAR CORE ウェイクアップ隠蔽: Buffer window 方式 • FIFO バッファの一部を常にON [Chen,ISLPED’03] – Window size = 常に On なバッファ量 – Short packet (window size 以下) ノーウェイト ARBITER X+ Window size = 3 XY+ Y+ YRead 5x5 CROSSBAR CORE Write 遅延は隠蔽できるが, window size分PGできないリーク削減量(少) 発表の流れ: CMP 用 NoC のランタイムPG • 共有メモリ型 CMP • オンチップルータのパワーゲーティング – 入力バッファ – クロスバスイッチ – 出力ラッチ 細粒度なランタイム パワーゲーティング • ウェイクアップ遅延の隠蔽 – 遅延の見積もり – ウェイクアップ遅延の隠蔽方式 • シミュレーション結果 – ウェイクアップ遅延の影響 – リーク電力の削減量 評価環境: GEMS/Simics シミュレータ • 8-CPU 共有メモリ型 CMP radix, lu, fft, barnes, radiosity, ocean, raytrace, – Sun Solaris 9; Sun Studio 12 volrend, water-ns, water-sp, – SPLASH-2 ベンチマーク (8スレッド) fmm (計11種類) – Token coherence protocol [Martin,ISCA’03] UltraSPARC L1キャッシュ (I & D) (各 16kB) L2キャッシュバンク (各 256kB, 4-way) オンチップルータ 評価環境: オンチップルータ @ 65nm • データ幅 128-bit; 仮想チャネル数 4; バッファ量 4-flit VC0: Req (L1L2, L2L1) VC1: Req(L2Mem, MemL2) VC2: Rep (AnyL2, L2Any) VC3: Persistent Req (L1Any) ARBITER X+ 4 VC X+ X- 4 VC X- Y+ 4 VC Y+ Y- 4 VC Y- CORE 4 VC 5x5 CROSSBAR CORE 制御パケット1-flit; データパケット 5-flit (512-bit $ライン+制御情報) 動作再開 ウェイクアップ隠蔽の効果: 評価方法 • ウェイクアップ遅延の隠蔽手法 (3種類) SRC DST Wakeup SRC DST Wakeup FIFO 出力[1] Window size = 2 FIFO 出力[0] ウェイクアップ& 初期化中 Read Ever-on Look-ahead 方式 Look-ahead (CPU ever-on) Write Buffer window 方式 ACTIVE • ウェイクアップ遅延の見積り @ Fujitsu 電源ON 65nm process – – – – – ホールドセル挿入 CLK 配置配線 (Astro) パワースイッチ挿入 (CoolPower) 再配線 (Astro) CORE RC 抽出, SPICE シミュレーション Fujitsu 65nm CMOS (1.20V, 25C) ウェイクアップ隠蔽の効果: 評価方法 • ウェイクアップ遅延の隠蔽手法 (3種類) SRC DST Wakeup SRC DST Window size = 2 Wakeup Read Ever-on Look-ahead 方式 Look-ahead (CPU ever-on) Write Buffer window 方式 • ウェイクアップ遅延の見積り @ Fujitsu 65nm process – – – – – ホールドセル挿入 配置配線 (Astro) パワースイッチ挿入 (CoolPower) 再配線 (Astro) RC 抽出, SPICE シミュレーション 電源ONの後 4nsec で動作可能 ウェイクアップ遅延 2, 4, 6 cycles ウェイクアップ隠蔽の効果: 評価結果 • SPLASH-2 の実行時間 (2-cycleウェイク @ 500MHz) Look-ahead 方式 Look-ahead 方式 (CPU ever-on) Buffer window 方式 Naïve 方式の平均実行時間 (+23.5%) アプリの平均実行時間 23.5% 増 3.1% 増に緩和 ウェイクアップ隠蔽の効果: 評価結果 • SPLASH-2 の実行時間 (4-cycleウェイク @ 1000MHz) Look-ahead 方式 Look-ahead 方式 (CPU ever-on) Buffer window 方式 Naïve 方式の平均実行時間 (+47.9%) アプリの平均実行時間 47.9% 増 6.4% 増に緩和 ウェイクアップ隠蔽の効果: 評価結果 • SPLASH-2 の実行時間 (6-cycleウェイク @ 1500MHz) Look-ahead 方式 Look-ahead 方式 (CPU ever-on) Buffer window 方式 Naïve 方式の平均実行時間 (+77.2%) アプリの平均実行時間 77.2%増 20.8%増 (改善の余地あり) ルータが 500~1000MHz 動作ならオーバヘッドは高々 3.1~6.4% ルータの平均リーク電力: 評価方法 • ウェイクアップ遅延の隠蔽手法 (3種類) SRC DST Wakeup SRC DST Window size = 2 Wakeup Read Look-ahead 方式 Ever-on Look-ahead (CPU ever-on) Write Buffer window 方式 • パワーゲーティングの対象部位 (3段階) ARB 入力バッファOnly ARB 入力バッファ + クロスバ ARB 入出力バッファ + クロスバ ルータの平均リーク電力: 評価結果 • 入力バッファだけ PG (4-cycleウェイク) Look-ahead 方式 Look-ahead 方式 (CPU ever-on) Buffer window 方式 パワーゲーティング無しのリーク電力 (100%) 入力バッファ PG によって, アプリ実行時のリーク電力を平均 57.7% 削減 ルータの平均リーク電力: 評価結果 • 入力バッファ PG + クロスバ PG (4-cycleウェイク) Look-ahead 方式 Look-ahead 方式 (CPU ever-on) Buffer window 方式 パワーゲーティング無しのリーク電力 (100%) 入力バッファ + クロスバ PG によって, アプリ実行時のリーク電力を平均 74.1% 削減 ルータの平均リーク電力: 評価結果 • 入力バッファ PG + クロスバ PG + 出力ラッチ PG Look-ahead 方式 Look-ahead 方式 (CPU ever-on) Buffer window 方式 パワーゲーティング無しのリーク電力 (100%) 入力バッファ + クロスバ + 出力ラッチPG によって, アプリ実行時のリーク電力を平均 79.8% 削減 細粒度ランタイムPGによって,アプリ実行時のリーク電力を80%削減 発表のまとめ: CMP用 NoCのランタイムPG • オンチップルータのパワーゲーティング – – – – 入力バッファ 細粒度なランタイム クロスバスイッチ パワーゲーティング 出力ラッチ ウェイクアップ遅延は 4nsec 以下 • ウェイクアップ遅延の隠蔽方式 – Look-ahead 方式 – Look-ahead 方式 (CPU ever-on) – Buffer window 方式 • シミュレーション結果 – 500~1000MHz 動作なら性能オーバヘッドは3.1~6.4% – アプリ実行時のリーク電力を 79.8% 削減
© Copyright 2024 ExpyDoc