33
Look-Ahead ルルルルルルルルルル 松松 松松 ( 松松 ) 松松 松松 ( NII ) 松松 ( 松松 ) 松松 松松 ( 松松 ) ルルルルルルルルルルルルルルルルルルルルル

Look-Ahead ルーティングを用いた

  • Upload
    blaze

  • View
    48

  • Download
    2

Embed Size (px)

DESCRIPTION

Look-Ahead ルーティングを用いた. オンチップルータの動的パワーシャットダウン. 松谷 宏紀 ( 慶大 ) 鯉渕 道紘 ( NII ) 王 代涵 ( 慶大 ) 天野 英晴 ( 慶大 ). Dynamic. Leakage (81.1%). 例 ) オンチップルータのスタンバイ電力. 200MHz 動作時 , 90nm CMOS. Vdd. 電源スイッチ. 仮想 Vdd. 回路. GND. はじめに. リーク電力の増加 スタンバイ電力の大部分 今後も増加傾向 パワーゲーティング リーク電力の削減方法 - PowerPoint PPT Presentation

Citation preview

Page 1: Look-Ahead  ルーティングを用いた

Look-Ahead ルーティングを用いた

松谷 宏紀 ( 慶大 )

鯉渕 道紘 ( NII )

王 代涵 ( 慶大 )

天野 英晴 ( 慶大 )

オンチップルータの動的パワーシャットダウン

Page 2: Look-Ahead  ルーティングを用いた

はじめに• リーク電力の増加

– スタンバイ電力の大部分– 今後も増加傾向

• パワーゲーティング– リーク電力の削減方法– 回路への電力供給を遮断

• パワーゲーティングの例– コアレベル– 演算器レベル– ゲートレベル

本発表では , マルチコア SoC の通信機構のパワーゲーティングに着目

Leakage (81.1%)

Dynamic

例 ) オンチップルータのスタンバイ電力200MHz 動作時 , 90nm CMOS

[Usami,ICCD’06]

[Hu,ISLPED’04]

Vdd

仮想 Vdd

GND

電源スイッチ

回路[Ishikawa,IEICE’05]

Page 3: Look-Ahead  ルーティングを用いた

本発表の流れ• マルチコア SoC の通信機構

– Network-on-Chip (NoC)– オンチップルータの構造– ルータの消費電力

• ルータのパワーゲーティング– パワーゲーティングの影響– Look-Ahead によるスリープ制御

• 評価– 性能への影響– どれだけスリープできるか?– どれだけ消費電力が減るか?

本発表のために、新たに追加いたしまし

た。

Page 4: Look-Ahead  ルーティングを用いた

Network-on-Chip (NoC)

• プロセッサコア

–                  

• オンチップルータ

(*) ASPLA 90nm CMOS 使用

プロセッサコア ルータ

ルータ間はネットワークで接続 , コア間通信はパケット転

Page 5: Look-Ahead  ルーティングを用いた

Network-on-Chip (NoC)

• プロセッサコア– コア単位でスリープ

可– 面積は大きいが , 省

電力対策も進んでる

• オンチップルータ– 面積は小さい– 通信の基幹部なので– msec のウェイク

アップ時間は許容しにくい

[Ishikawa,IEICE’05]

例 ) スタンバイ電流 11uA Stop!!

ルータを止めると不規則トポロジになったり , 通信に影響

が出る

(*) ASPLA 90nm CMOS 使用次スライドでは , オンチップルータの構造 , 消費電力について検討する

D

S

Page 6: Look-Ahead  ルーティングを用いた

オンチップルータ : ハードウェア構成• 5 入力 5 出力のルータ , データ ( フリット ) 幅 64-bit

5x5 XBAR

ARBITER

FIFO

FIFO

FIFO

FIFO

FIFOX+

X-

Y+

Y-

CORE

X+

X-

Y+

Y-

CORE

入力バッファ 2 系統 ( 各系統は 64-b

it x 4)

配置配線後の面積は 40 ~ 45 [KGate] 程度 . 全体の 75% が FIFO

Page 7: Look-Ahead  ルーティングを用いた

オンチップルータ : パイプライン構造• 衝突しなければ 3 cycle でヘッダがルータを通過

– RC (Routing Computation)– SA (Switch Allocation)– ST (Switch Traversal)

• 例 ) ルータ (a) からルータ (c) にパケットを転送

RC SA ST

ST

ST

ST

RC SA ST

ST

ST

ST

RC SA ST

ST

ST

ST

ELAPSED TIME [CYCLE]

1 2 3 4 5 6 7 8 9 10 11 12

@ROUTER A @ROUTER B @ROUTER C

HEAD

DATA 1

DATA 2

DATA 3

1 パケットは , ヘッダフリット 1 個とデータ

フリット 3 個

Page 8: Look-Ahead  ルーティングを用いた

オンチップルータ : 消費電力の解析• 90nm で配置配線 , 200 & 500MHz でシミュレーション

5 ポートルータで , n 個のポートが使われているときの消費電力 @ 200MHz

Page 9: Look-Ahead  ルーティングを用いた

オンチップルータ : 消費電力の解析• 90nm で配置配線 , 200 & 500MHz でシミュレーション

5 ポートルータで , 0 個のポートが使われているときの消費電力 @ 200MHz

オンチップルータのスタンバイ電力

Leakage (81.1%)Dynamic

Channels (56.5%)

チャネルのリーク電力がスタンバイ電力の大部分 ここを削減する !

Page 10: Look-Ahead  ルーティングを用いた

本発表の流れ• マルチコア SoC の通信機構

– Network-on-Chip (NoC)– オンチップルータの構造– ルータの消費電力

• ルータのパワーゲーティング– パワーゲーティングの影響– Look-Ahead によるスリープ制御

• 評価– 性能への影響– どれだけスリープできるか?– どれだけ消費電力が減るか?

Page 11: Look-Ahead  ルーティングを用いた

オンチップルータ : チャネルのリーク削減

• チャネル単位の走行時パワーゲーティング– パケットが無ければ スリープ– パケットが来たら ウェイクアップ

5x5 XBAR

ARBITER

FIFO

FIFO

FIFO

FIFO

FIFOX+

X-

Y+

Y-

CORE

X+

X-

Y+

Y-

CORE

FIFO

Page 12: Look-Ahead  ルーティングを用いた

オンチップルータ : チャネルのリーク削減

• チャネル単位の走行時パワーゲーティング– パケットが無ければ スリープ– パケットが来たら ウェイクアップ

5x5 XBAR

ARBITER

FIFO

FIFO

FIFO

FIFO

FIFOX+

X-

Y+

Y-

CORE

X+

X-

Y+

Y-

CORE

FIFOFIFO

チャネル単位のパワーゲーティングは提案されているが , 比較的大きなバッファ ( 数十フリット ) を想定

本発表では , 小規模な 4 フリット程度の小さなバッファを想定する

[Chen,ISLPED’03] [Soteriou,ICCD’04]

Page 13: Look-Ahead  ルーティングを用いた

パワーゲーティング : 様々なオーバヘッド

• 面積オーバヘッド– パワースイッチ

• 性能オーバヘッド– Wakeup 時間が大きい

と ,– パイプラインストール

発生

• 電力オーバヘッド– パワースイッチの操作– スリープ期間が短いと ,– 逆に消費電力が増える

短いスリープを検出して回避したい

[ 関ら , ICD/ARC 研’ 07] FIFO

スリープ中

ウェイクアップするまで待たさ

れる

FIFO

アクティブ

パケット到着を早期に検出したい

Page 14: Look-Ahead  ルーティングを用いた

パワーゲーティング : 様々なオーバヘッド

• 面積オーバヘッド– パワースイッチ

• 性能オーバヘッド– Wakeup 時間が大きい

と ,– パイプラインストール

発生

• 電力オーバヘッド– パワースイッチの操作– スリープ期間が短いと ,– 逆に消費電力が増える

[ 関ら , ICD/ARC 研’ 07]

sleep

Vdd

仮想 Vdd

GND

パワースイッチ

回路On/Off 時に動的電力を消費 ( これがリーク削減効果より大

きいと損 )

チャネルへのパケットの到達を早期に知らせるスリープ制御が有効

短いスリープを検出して回避したい

パケット到着を早期に検出したい

FIFO

スリープ中

ウェイクアップするまで待たさ

れる

FIFO

アクティブ

Page 15: Look-Ahead  ルーティングを用いた

Look-Ahead スリープ制御• 要求事項

– ウェイクアップ遅延 Twakeup を隠蔽– 短期間のスリープを回避

• 解決策 : Look-ahead– Normal: ルータ (i) は , ルータ (i) の出力ポートを計算– Look-ahead: ルータ (i) は , ルータ (i+1) の出力ポートを計算

パケットが router 5 を通過した時点で router 2 が使われることが判明

0 1 2

3 4 5

6 7 8 パケットが router 4 に到達した時点で router 2 が使われることが判明

RC SA ST

ST

ST

ST

RC SA ST

ST

RC

1 2 3 4 5 6 7

パケット到達まで最低 5 cycle 稼げる

“2ホップ後にパケットが来るので起きろ”

Normal:

Look-Ahead:

Twakeup = 1 ~ 3 cycle

5 cycle以下の Wakeup 遅延を隠蔽 , 5 cycle以下のスリープを回避

“このスリープは短いので寝ないで待て”

Page 16: Look-Ahead  ルーティングを用いた

本発表の流れ• マルチコア SoC の通信機構

– Network-on-Chip (NoC)– オンチップルータの構造– ルータの消費電力

• ルータのパワーゲーティング– パワーゲーティングの影響– Look-Ahead によるスリープ制御

• 評価– 性能への影響– どれだけスリープできるか?– どれだけ消費電力が減るか?

Page 17: Look-Ahead  ルーティングを用いた

評価 : 3種類のスリープ制御を比較• 評価内容

– スループット vs. 遅延– スリープ率 , リーク削減量

• 評価パラメータ

• Ideal– スリープ , ウェイク

アップ遅延無し

• Look-ahead– 5 サイクル以下のウェ

イクアップ遅延を隠蔽– 5 サイクル以下の短期

間スリープを回避

• Naïve– いっさい先読みをしな

トポロジ 2-D Mesh (4x4)

ルーティング 次元順ルーティング

パケットサイズ

5-flit (1-flit header)

バッファサイズ

4-flit (WH switching)

VC数 2

通信遅延 3-cycle per 1-hop( )※ 通信パターンには uniform トラフィックと NPB を使用

Page 18: Look-Ahead  ルーティングを用いた

評価 : 通信スループットへの影響• ウェイクアップ時間 Twakeup = 0,1,2,3 のときの性能

– Naïve:

Uniform トラフィック (16 コア ) MG.W トラフィック (16 コア )

• ウェイクアップ時間 Twakeup = 0,1,2,3 のときの性能– Naïve:      Twakeup が増えるにしたがい性能低下

Page 19: Look-Ahead  ルーティングを用いた

評価 : 通信スループットへの影響• ウェイクアップ時間 Twakeup = 0,1,2,3 のときの性能

– Naïve:      Twakeup が増えるにしたがい性能低下– Ideal:       Twakeup によらず常に– Look-ahead: Twakeup < 5 なら常に

Look-ahead によって ,5 サイクル以下のウェイクアップ遅延を隠蔽可

Uniform トラフィック (16 コア ) MG.W トラフィック (16 コア )

Page 20: Look-Ahead  ルーティングを用いた

評価 : 損益分岐点の見積り• Hu のパワーゲーティングモデル

– Eoverhead: パワースイッチの On/Off に要すエネルギー– Esaved: N-cycle のスリープによって削減できるリーク

[Hu,ISLPED’04]

何サイクルスリープできれば , Eoverhead と Esaved が等しくなる ?

Supply voltage 1.0 V

Switching factor 0.10

Leakage power 95 uW

Dynamic power (200MHz) 105 uW

Dynamic power (500MHz) 261 uW

Power switch size ratio 0.1

Power switch cap ratio 0.5

ルータチャネル単位のパワーゲーティング

[Hu,ISLPED’04]

[Hu,ISLPED’04]

ルータ回路を 90nm CMOS で配置配線 , シミュレーションして

算出

Page 21: Look-Ahead  ルーティングを用いた

評価 : 損益分岐点 Tbreakeven の見積り• Hu のパワーゲーティングモデル

– Eoverhead: パワースイッチの On/Off に要すエネルギー– Esaved: N-cycle のスリープによって削減できるリーク

200MHz 動作時 , 損益分岐点は 6 [cycle]

500MHz 動作時 , 損益分岐点は 14 [cycle]

[Hu,ISLPED’04]

何サイクルスリープできれば , Eoverhead と Esaved が等しくなる ?

パワーゲーティング (PG) 無しPG ( ルータ 200MHz 動作 )PG ( ルータ 500MHz 動作 )

Page 22: Look-Ahead  ルーティングを用いた

評価 : 実際にスリープできる期間 (200MHz)

• チャネルの状態を分類 Tbreakeven = 6 – Nactive: 動作中 ( 通常とおりリークを消費 ) の割合– Ncsc: Compensated sleep (Tbreakeven 以上のスリープ )– Nusc: Uncompensated sleep (Tbreakeven 未満のスリープ )

• 全チャネルの compensated sleep の割合を求める– トラフィック負荷を変える– 3種類のスリープ制御を比較

Ideal, Look-ahead, Naïve

Page 23: Look-Ahead  ルーティングを用いた

評価 : 実際にスリープできる期間 (200MHz)

• チャネルの状態を分類 Tbreakeven = 6 – Nactive: 動作中 ( 通常とおりリークを消費 ) の割合– Ncsc: Compensated sleep (Tbreakeven 以上のスリープ )– Nusc: Uncompensated sleep (Tbreakeven 未満のスリープ )

Uniform トラフィック (16 コア ) MG.W トラフィック (16 コア )

Ideal > Look-ahead > Naïve の順に compensated sleep が多い

スリープ率 80% (低負荷 )

スリープ率 25% (高負荷 )

Page 24: Look-Ahead  ルーティングを用いた

評価 : リーク電力の削減量 (200MHz)

• チャネル当りのリーク電力– パワーゲーティングしないと 95uW– パワーゲーティングすると ?

Uniform トラフィック (16 コア ) MG.W トラフィック (16 コア )

パワースイッチの On/Off 電力も含めて計算 [Hu,ISLPED’04]

Ideal >Look-ahead>Naïve の順に電力 (少 ).負荷が高いとメリット減

電力の削減量

Page 25: Look-Ahead  ルーティングを用いた

評価 : リーク電力の削減量 (500MHz)

• チャネル当りのリーク電力 Tbreakeven = 14– パワーゲーティングしないと 95uW– パワーゲーティングすると ?

Uniform トラフィック (16 コア ) MG.W トラフィック (16 コア )

パワースイッチの On/Off 電力も含めて計算 [Hu,ISLPED’04]

Tbreakeven =6 と比べ , リーク電力の削減量が低下 (uncompensated 増 )

Page 26: Look-Ahead  ルーティングを用いた

まとめ : ルータ回路のパワーゲーティング

• ルータのリーク対策– プロセッサの省電力化が進むにつれて今後は必要– msec のウェイクアップ時間は影響 ( 大 )

• 解決策– チャネル単位の走行時パワーゲーティング– Look-ahead によるウェイクアップ遅延の隠蔽 , 短期ス

リープの回避

• Look-ahead スリープ制御の評価結果– ウェイクアップ遅延の隠蔽には有効– 短期スリープの回避の効果は小さい

5 サイクル先読み可能

損益分岐点は 5 サイクルより大

Page 27: Look-Ahead  ルーティングを用いた

今後の検討課題• 仮想チャネル (VC) 単位のパワーゲーティング

• 複数 VC を使ったルーティング– パケット送信時は VC#0 を使う– 途中で衝突したら VC番号を +1 する

VC#0

ルータ (a)

VC#1

VC#2

VC#0

ルータ (b)

VC#1

VC#2

VC#0

ルータ (c)

VC#1

VC#2

負荷が小さいときは VC#0 ばかり使われ

Page 28: Look-Ahead  ルーティングを用いた

今後の検討課題• 仮想チャネル (VC) 単位のパワーゲーティング

• 複数 VC を使ったルーティング– パケット送信時は VC#0 を使う– 途中で衝突したら VC番号を +1 する

VC#0

ルータ (a)

VC#1

VC#2

VC#0

ルータ (b)

VC#1

VC#2

VC#0

ルータ (c)

VC#1

VC#2

負荷が大きいときは全部の VC が使われ

仮想チャネルによる高いピーク性能を , 少ないスタンバイ電力で実現

Page 29: Look-Ahead  ルーティングを用いた
Page 30: Look-Ahead  ルーティングを用いた

PG の粒度 : なぜチャネル単位か?• コア単位 (粗粒度 )

– OS によって制御– msec オーダの遅延– リーク削減効果 ( 大 )

• チャネル単位– ハードウェア機構– ランタイムに制御– On/Off を細かく制御

• マルチ Vth– あまり効かなかった– 682uW 636uW

Stop!!

ルータを止めると不規則トポロジになったり , 通信に影響

が出る

(*) ASPLA 90nm CMOS 使用

D

S例 ) 使われているチャネルのみ残して他はスリープできる

Page 31: Look-Ahead  ルーティングを用いた

パラメータの妥当性• ウェイクアップ遅延 Twakeup

– 本論文では 0 ~ 3 cycle を想定– 3 cycle (625MHz)– 5 nsec

• 損益分岐点 Tbreakeven

– 本論文では 6 cycle (200MHz), 14 cycle (500MHz)– 10 cycle 前後– 20 cycle (625MHz)

[ 関ら , ICD/ARC 研’ 07]

[Talli, IPCCC’07]

[Hu, ISLPED’04]

[Talli, IPCCC’07]

Page 32: Look-Ahead  ルーティングを用いた

Look-Ahead スリープ制御 : 制限事項

• ハードウェアコスト– 1-hop 先の経路計算– スリープ信号の生成

• 隣接ノード間通信– 本論文では NI が sleep 信号を出すと仮定

• 適応型ルーティング (選択肢 2 つ )

– 1) Look-ahead スリープ制御をやめる– 2) 低負荷時は , OSF で同一チャネルを使い続ける

( ルーティングに依存するが増量は小さい )

そもそも NoC では適応型ルーティングはあまり使われていないし…

0 1 2

3 4 5

6 7 8

router 1 行きのパケットが着たら bus

y = 1

HW量は小さいが電力を食うので損益分岐点が大きくなる恐れあり ( 要評価 )

Page 33: Look-Ahead  ルーティングを用いた