look-ahead ルーティングを用いた
DESCRIPTION
Look-Ahead ルーティングを用いた. オンチップルータの動的パワーシャットダウン. 松谷 宏紀 ( 慶大 ) 鯉渕 道紘 ( NII ) 王 代涵 ( 慶大 ) 天野 英晴 ( 慶大 ). Dynamic. Leakage (81.1%). 例 ) オンチップルータのスタンバイ電力. 200MHz 動作時 , 90nm CMOS. Vdd. 電源スイッチ. 仮想 Vdd. 回路. GND. はじめに. リーク電力の増加 スタンバイ電力の大部分 今後も増加傾向 パワーゲーティング リーク電力の削減方法 - PowerPoint PPT PresentationTRANSCRIPT
Look-Ahead ルーティングを用いた
松谷 宏紀 ( 慶大 )
鯉渕 道紘 ( NII )
王 代涵 ( 慶大 )
天野 英晴 ( 慶大 )
オンチップルータの動的パワーシャットダウン
はじめに• リーク電力の増加
– スタンバイ電力の大部分– 今後も増加傾向
• パワーゲーティング– リーク電力の削減方法– 回路への電力供給を遮断
• パワーゲーティングの例– コアレベル– 演算器レベル– ゲートレベル
本発表では , マルチコア SoC の通信機構のパワーゲーティングに着目
Leakage (81.1%)
Dynamic
例 ) オンチップルータのスタンバイ電力200MHz 動作時 , 90nm CMOS
[Usami,ICCD’06]
[Hu,ISLPED’04]
Vdd
仮想 Vdd
GND
電源スイッチ
回路[Ishikawa,IEICE’05]
本発表の流れ• マルチコア SoC の通信機構
– Network-on-Chip (NoC)– オンチップルータの構造– ルータの消費電力
• ルータのパワーゲーティング– パワーゲーティングの影響– Look-Ahead によるスリープ制御
• 評価– 性能への影響– どれだけスリープできるか?– どれだけ消費電力が減るか?
本発表のために、新たに追加いたしまし
た。
Network-on-Chip (NoC)
• プロセッサコア
–
• オンチップルータ
(*) ASPLA 90nm CMOS 使用
プロセッサコア ルータ
ルータ間はネットワークで接続 , コア間通信はパケット転
送
Network-on-Chip (NoC)
• プロセッサコア– コア単位でスリープ
可– 面積は大きいが , 省
電力対策も進んでる
• オンチップルータ– 面積は小さい– 通信の基幹部なので– msec のウェイク
アップ時間は許容しにくい
[Ishikawa,IEICE’05]
例 ) スタンバイ電流 11uA Stop!!
ルータを止めると不規則トポロジになったり , 通信に影響
が出る
(*) ASPLA 90nm CMOS 使用次スライドでは , オンチップルータの構造 , 消費電力について検討する
D
S
オンチップルータ : ハードウェア構成• 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
オンチップルータ : パイプライン構造• 衝突しなければ 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 個
オンチップルータ : 消費電力の解析• 90nm で配置配線 , 200 & 500MHz でシミュレーション
5 ポートルータで , n 個のポートが使われているときの消費電力 @ 200MHz
オンチップルータ : 消費電力の解析• 90nm で配置配線 , 200 & 500MHz でシミュレーション
5 ポートルータで , 0 個のポートが使われているときの消費電力 @ 200MHz
オンチップルータのスタンバイ電力
Leakage (81.1%)Dynamic
Channels (56.5%)
チャネルのリーク電力がスタンバイ電力の大部分 ここを削減する !
本発表の流れ• マルチコア SoC の通信機構
– Network-on-Chip (NoC)– オンチップルータの構造– ルータの消費電力
• ルータのパワーゲーティング– パワーゲーティングの影響– Look-Ahead によるスリープ制御
• 評価– 性能への影響– どれだけスリープできるか?– どれだけ消費電力が減るか?
オンチップルータ : チャネルのリーク削減
• チャネル単位の走行時パワーゲーティング– パケットが無ければ スリープ– パケットが来たら ウェイクアップ
5x5 XBAR
ARBITER
FIFO
FIFO
FIFO
FIFO
FIFOX+
X-
Y+
Y-
CORE
X+
X-
Y+
Y-
CORE
FIFO
オンチップルータ : チャネルのリーク削減
• チャネル単位の走行時パワーゲーティング– パケットが無ければ スリープ– パケットが来たら ウェイクアップ
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]
パワーゲーティング : 様々なオーバヘッド
• 面積オーバヘッド– パワースイッチ
• 性能オーバヘッド– Wakeup 時間が大きい
と ,– パイプラインストール
発生
• 電力オーバヘッド– パワースイッチの操作– スリープ期間が短いと ,– 逆に消費電力が増える
短いスリープを検出して回避したい
[ 関ら , ICD/ARC 研’ 07] FIFO
スリープ中
ウェイクアップするまで待たさ
れる
FIFO
アクティブ
パケット到着を早期に検出したい
パワーゲーティング : 様々なオーバヘッド
• 面積オーバヘッド– パワースイッチ
• 性能オーバヘッド– Wakeup 時間が大きい
と ,– パイプラインストール
発生
• 電力オーバヘッド– パワースイッチの操作– スリープ期間が短いと ,– 逆に消費電力が増える
[ 関ら , ICD/ARC 研’ 07]
sleep
Vdd
仮想 Vdd
GND
パワースイッチ
回路On/Off 時に動的電力を消費 ( これがリーク削減効果より大
きいと損 )
チャネルへのパケットの到達を早期に知らせるスリープ制御が有効
短いスリープを検出して回避したい
パケット到着を早期に検出したい
FIFO
スリープ中
ウェイクアップするまで待たさ
れる
FIFO
アクティブ
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以下のスリープを回避
“このスリープは短いので寝ないで待て”
本発表の流れ• マルチコア SoC の通信機構
– Network-on-Chip (NoC)– オンチップルータの構造– ルータの消費電力
• ルータのパワーゲーティング– パワーゲーティングの影響– 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 を使用
評価 : 通信スループットへの影響• ウェイクアップ時間 Twakeup = 0,1,2,3 のときの性能
– Naïve:
Uniform トラフィック (16 コア ) MG.W トラフィック (16 コア )
• ウェイクアップ時間 Twakeup = 0,1,2,3 のときの性能– Naïve: Twakeup が増えるにしたがい性能低下
評価 : 通信スループットへの影響• ウェイクアップ時間 Twakeup = 0,1,2,3 のときの性能
– Naïve: Twakeup が増えるにしたがい性能低下– Ideal: Twakeup によらず常に– Look-ahead: Twakeup < 5 なら常に
Look-ahead によって ,5 サイクル以下のウェイクアップ遅延を隠蔽可
Uniform トラフィック (16 コア ) MG.W トラフィック (16 コア )
評価 : 損益分岐点の見積り• 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 で配置配線 , シミュレーションして
算出
評価 : 損益分岐点 Tbreakeven の見積り• Hu のパワーゲーティングモデル
– Eoverhead: パワースイッチの On/Off に要すエネルギー– Esaved: N-cycle のスリープによって削減できるリーク
200MHz 動作時 , 損益分岐点は 6 [cycle]
500MHz 動作時 , 損益分岐点は 14 [cycle]
[Hu,ISLPED’04]
何サイクルスリープできれば , Eoverhead と Esaved が等しくなる ?
パワーゲーティング (PG) 無しPG ( ルータ 200MHz 動作 )PG ( ルータ 500MHz 動作 )
評価 : 実際にスリープできる期間 (200MHz)
• チャネルの状態を分類 Tbreakeven = 6 – Nactive: 動作中 ( 通常とおりリークを消費 ) の割合– Ncsc: Compensated sleep (Tbreakeven 以上のスリープ )– Nusc: Uncompensated sleep (Tbreakeven 未満のスリープ )
• 全チャネルの compensated sleep の割合を求める– トラフィック負荷を変える– 3種類のスリープ制御を比較
Ideal, Look-ahead, Naïve
評価 : 実際にスリープできる期間 (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% (高負荷 )
評価 : リーク電力の削減量 (200MHz)
• チャネル当りのリーク電力– パワーゲーティングしないと 95uW– パワーゲーティングすると ?
Uniform トラフィック (16 コア ) MG.W トラフィック (16 コア )
パワースイッチの On/Off 電力も含めて計算 [Hu,ISLPED’04]
Ideal >Look-ahead>Naïve の順に電力 (少 ).負荷が高いとメリット減
電力の削減量
評価 : リーク電力の削減量 (500MHz)
• チャネル当りのリーク電力 Tbreakeven = 14– パワーゲーティングしないと 95uW– パワーゲーティングすると ?
Uniform トラフィック (16 コア ) MG.W トラフィック (16 コア )
パワースイッチの On/Off 電力も含めて計算 [Hu,ISLPED’04]
Tbreakeven =6 と比べ , リーク電力の削減量が低下 (uncompensated 増 )
まとめ : ルータ回路のパワーゲーティング
• ルータのリーク対策– プロセッサの省電力化が進むにつれて今後は必要– msec のウェイクアップ時間は影響 ( 大 )
• 解決策– チャネル単位の走行時パワーゲーティング– Look-ahead によるウェイクアップ遅延の隠蔽 , 短期ス
リープの回避
• Look-ahead スリープ制御の評価結果– ウェイクアップ遅延の隠蔽には有効– 短期スリープの回避の効果は小さい
5 サイクル先読み可能
損益分岐点は 5 サイクルより大
今後の検討課題• 仮想チャネル (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 ばかり使われ
る
今後の検討課題• 仮想チャネル (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 が使われ
る
仮想チャネルによる高いピーク性能を , 少ないスタンバイ電力で実現
PG の粒度 : なぜチャネル単位か?• コア単位 (粗粒度 )
– OS によって制御– msec オーダの遅延– リーク削減効果 ( 大 )
• チャネル単位– ハードウェア機構– ランタイムに制御– On/Off を細かく制御
• マルチ Vth– あまり効かなかった– 682uW 636uW
Stop!!
ルータを止めると不規則トポロジになったり , 通信に影響
が出る
(*) ASPLA 90nm CMOS 使用
D
S例 ) 使われているチャネルのみ残して他はスリープできる
パラメータの妥当性• ウェイクアップ遅延 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]
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量は小さいが電力を食うので損益分岐点が大きくなる恐れあり ( 要評価 )