C09/Rev 1.01 第9回c09 制御の基礎 基礎からのメカトロニクスセミナー p制御・d制御・i制御 pid制御 三種の組み合わせ ・P制御:主たる誤差の低減
チャネルの動的 On/Off 制御のための 先読みルータアーキテクチャ
-
Upload
mohammed-jalila -
Category
Documents
-
view
48 -
download
11
description
Transcript of チャネルの動的 On/Off 制御のための 先読みルータアーキテクチャ
チャネルの動的 On/Off 制御のための
先読みルータアーキテクチャ
松谷 宏紀 ( 慶大 )
鯉渕 道紘 ( NII )
王 代涵 ( 慶大 )
天野 英晴 ( 慶大 )
Network-on-Chip (NoC)• タイルアーキテク
チャ– プロセッサコア– Network-on-Chip (NoC)
• NoC アーキテクチャ– ネットワークトポロジ– パケットルーティング– オンチップルータ
RouterRouterCoreCore
タイルアーキテクチャ例 (16-core)
代表的な NoC アーキテクチャシステム名 トポロジ ルーティン
グスイッチン
グフロー制御
MIT RAW 2-D mesh (32bit) XY DOR WH, no VC Credit
UPMC SPIN Fat Tree (32bit) Up*/down* WH, no VC Credit
QuickSilver ACM H-Tree (32bit) Up*/down* 1-flit, no VC Credit
UMass Amherst aSOC
2-D mesh Shortest-path Pipelined CS, no VC
Timeslot
Sun T1 Crossbar (128bit) - - Handshake
Cell BE EIB Ring (128bit) Shortest-path Pipelined CS, no VC
Credit
TRIPS (operand)
2-D mesh (109bit)
YX DOR 1-flit, no VC On/off
TRIPS (on-chip) 2-D mesh (128bit)
YX DOR WH, 4 VCs Credit
Intel SCC 2-D torus (32bt) XY,YX DOR, odd-even TM
WH, no VC Stall/go
Intel Teraflops NoC
2-D mesh (32bit) Source routing
WH, 2 lanes On/off
TILE64 iMesh 2-D mesh (32bit) XY DOR WH, no VC Credit
Network-on-Chip (NoC)• タイルアーキテク
チャ– プロセッサコア– Network-on-Chip (NoC)
• NoC アーキテクチャ– ネットワークトポロジ– パケットルーティング– オンチップルータ
– NoC のリーク電力を 減らしたい
RouterRouterCoreCore
タイルアーキテクチャ例 (16-core)
ルータのリーク電力を減らすため , ルータにパワーゲーティングを施す
オンチップルータ : パワーゲーティング
• チャネル (FIFO) への電力供給を On/Off– パケットが無ければ スリープ– パケットが来たら ウェイクアップ
5x5 XBAR
ARBITER
X+
X-
Y+
Y-
CORE
X+
X-
Y+
Y-
CORE
sleep
sleep
sleep
sleep
sleep
[ 松谷 ,ASPDAC’08]
[ 松谷 ,NOCS’08]
オンチップルータ : パワーゲーティング
• チャネル (FIFO) への電力供給を On/Off– パケットが無ければ スリープ– パケットが来たら ウェイクアップ
5x5 XBAR
ARBITER
X+
X-
Y+
Y-
CORE
X+
X-
Y+
Y-
CORE
sleep
sleep
sleep
sleep
[ 松谷 ,ASPDAC’08]
[ 松谷 ,NOCS’08]
オンチップルータ : パワーゲーティング
• チャネル (FIFO) への電力供給を On/Off– パケットが無ければ スリープ– パケットが来たら ウェイクアップ
5x5 XBAR
ARBITER
X+
X-
Y+
Y-
CORE
X+
X-
Y+
Y-
CORE
sleep
sleep
sleep
sleep
sleep
ただし , 動的なスリープ制御によって性能のオーバヘッドが生じる
[ 松谷 ,ASPDAC’08]
[ 松谷 ,NOCS’08]
パワーゲーティング : 性能オーバヘッド
• ウェイクアップ遅延– スリープ中のチャネルにパケットが到達– 手前のルータで待たされ , パイプラインストール発生
5x5 XBAR
ARBITER
X+
X-
Y+
Y-
CORE
X+
X-
Y+
Y-
CORE
sleep
sleep
sleep
sleep
sleep
ウェイクアップするまで待たさ
れる
例 ) Intel’s 80-tile の FPMAC は 6-cycle[Vangal,ISSCC’07]
• チャネルの動的 On/Off– 履歴などに基づきチャネルの電源を On/Off
• バッファの部分的 PG– 大きなバッファの一部を常にアクティブ
• Slow-silent VCs– 仮想チャネル (VC) 単位の PG
• Look-ahead ルータ– 2 個前のルータがパケット到着を予め通知– Dimension-order routing( 固定型 ) のみを対象
[ 松谷 ,ASPDAC’08]
[ 松谷 ,NOCS’08]
[Chen,ISLPED’03]
[Soteriou,TPDS’07]
本研究では , 様々な NoC に“先読みによるパワーゲーティング”を適用
発表の流れ• Network-on-Chip (NoC)
– ルータのパワーゲーティング
• 既存の NoC アーキテクチャ– トポロジ , ルーティング– ルータアーキテクチャ
• 先読み NoC アーキテクチャ– 固定型ルーティングの場合– 適応型ルーティングの場合
• 評価– 制御信号の複雑さ– 通信遅延とスループット性能
Wakeup!
既存の NoC アーキテクチャシステム名 トポロジ ルーティン
グスイッチン
グフロー制御
MIT RAW 2-D mesh (32bit) XY DOR WH, no VC Credit
UPMC SPIN Fat Tree (32bit) Up*/down* WH, no VC Credit
QuickSilver ACM H-Tree (32bit) Up*/down* 1-flit, no VC Credit
UMass Amherst aSOC
2-D mesh Shortest-path Pipelined CS, no VC
Timeslot
Sun T1 Crossbar (128bit) - - Handshake
Cell BE EIB Ring (128bit) Shortest-path Pipelined CS, no VC
Credit
TRIPS (operand)
2-D mesh (109bit)
YX DOR 1-flit, no VC On/off
TRIPS (on-chip) 2-D mesh (128bit)
YX DOR WH, 4 VCs Credit
Intel SCC 2-D torus (32bt) XY,YX DOR, odd-even TM
WH, no VC Stall/go
Intel Teraflops NoC
2-D mesh (32bit) Source routing
WH, 2 lanes On/off
TILE64 iMesh 2-D mesh (32bit) XY DOR WH, no VC Credit
ルータ 計算コア
本発表では 2 次元メッシュを対象
既存の NoC : ルーティングの分類• 固定型ルーティング
– Source-destination 間の経路は 1 つに固定
• ランダム型ルーティング– Source-destination 間に
複数の経路– ランダムに 1 つを選択
• 適応型ルーティング– Source-destination 間に
複数の経路– 混雑に応じて 1 つを選択
例 ) 次元順ルーティング
X方向
Y方向
既存の NoC : ルーティングの分類• 固定型ルーティング
– Source-destination 間の経路は 1 つに固定
• ランダム型ルーティング– Source-destination 間に
複数の経路– ランダムに 1 つを選択
• 適応型ルーティング– Source-destination 間に
複数の経路– 混雑に応じて 1 つを選択
例 ) West-first, Negative-first, North-last, Odd-even, Opt-y, DP
既存の NoC : West-first routing
• 固定型ルーティング– Source-destination 間の
経路は 1 つに固定
• ランダム型ルーティング– Source-destination 間に
複数の経路– ランダムに 1 つを選択
• 適応型ルーティング– Source-destination 間に
複数の経路– 混雑に応じて 1 つを選択
West-first の禁止ターン
NW
SW
既存の NoC : North-last routing
• 固定型ルーティング– Source-destination 間の
経路は 1 つに固定
• ランダム型ルーティング– Source-destination 間に
複数の経路– ランダムに 1 つを選択
• 適応型ルーティング– Source-destination 間に
複数の経路– 混雑に応じて 1 つを選択
North-last の禁止ターン
NW NE
既存の NoC : Negative-first routing
• 固定型ルーティング– Source-destination 間の
経路は 1 つに固定
• ランダム型ルーティング– Source-destination 間に
複数の経路– ランダムに 1 つを選択
• 適応型ルーティング– Source-destination 間に
複数の経路– 混雑に応じて 1 つを選択
Negative-first の禁止ターン
NW ES
既存の NoC : Odd-even turn-model
• 固定型ルーティング– Source-destination 間の
経路は 1 つに固定
• ランダム型ルーティング– Source-destination 間に
複数の経路– ランダムに 1 つを選択
• 適応型ルーティング– Source-destination 間に
複数の経路– 混雑に応じて 1 つを選択
Odd-even ( 奇数列 ) の禁止ターン
Odd-even ( 偶数列 ) の禁止ターン
偶数列か奇数列かによって禁止ターン違う
NW
SW
EN
ES
既存の NoC : Opt-y routing (1/3)
• 固定型ルーティング– Source-destination 間の
経路は 1 つに固定
• ランダム型ルーティング– Source-destination 間に
複数の経路– ランダムに 1 つを選択
• 適応型ルーティング– Source-destination 間に
複数の経路– 混雑に応じて 1 つを選択
NS 方向に仮想チャネル 0 を使う場合
SW
NWWS
WN
• Fully adaptive routing– 仮想チャネル (VC) を用
い , 任意のターンを許可
– NS 方向に VC 2 本
( ) ※ 点線のターンは「これ以上 West 方向に進まないとき」のみ許可
既存の NoC : Opt-y routing (2/3)
• 固定型ルーティング– Source-destination 間の
経路は 1 つに固定
• ランダム型ルーティング– Source-destination 間に
複数の経路– ランダムに 1 つを選択
• 適応型ルーティング– Source-destination 間に
複数の経路– 混雑に応じて 1 つを選択
NS 方向に仮想チャネル 1 を使う場合
• Fully adaptive routing– 仮想チャネル (VC) を用
い , 任意のターンを許可
– NS 方向に VC 2 本
( ) ※ 点線のターンは「これ以上 West 方向に進まないとき」のみ許可
既存の NoC : Opt-y routing (3/3)
• 固定型ルーティング– Source-destination 間の
経路は 1 つに固定
• ランダム型ルーティング– Source-destination 間に
複数の経路– ランダムに 1 つを選択
• 適応型ルーティング– Source-destination 間に
複数の経路– 混雑に応じて 1 つを選択
NS 方向の仮想チャネル番号切替え
• Fully adaptive routing– 仮想チャネル (VC) を用
い , 任意のターンを許可
– NS 方向に VC 2 本
( ) ※ 点線のターンは「これ以上 West 方向に進まないとき」のみ許可
N0
N1
N1
N0
S0
S1
S1
S0
既存の NoC : 固定型ルーティング・ルータ
• 衝突しなければ 3 cycle でヘッダがルータを通過– RC (Routing Computation)– VSA (Virtual Channel / Switch Allocation)– ST (Switch Traversal)
• 例 ) ルータ (a) からルータ (c) にパケットを転送
RC VSA ST
ST
ST
ST
RC VSA ST
ST
ST
ST
RC VSA 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
ヘッダがルータ (a) に注入され , データ 3 がルータ (c) を通過するまで12 サイクル
SA
SA
SA
SA
SA
SA
SA
SA
SA
(1) 出力チャネルの候補は 1 つ
だけ
(2) その出力チャネルに対してアービトレー
ション
出力チャネルは 1 つに固定 2 ホップ先のチャネルを正確に予測可能
既存の NoC : 適応型ルーティング・ルータ
• 衝突しなければ 3 cycle でヘッダがルータを通過– RC (Routing Computation)– VSA (Virtual Channel / Switch Allocation)– ST (Switch Traversal)
• 例 ) ルータ (a) からルータ (c) にパケットを転送
RC VSA ST
ST
ST
ST
RC VSA ST
ST
ST
ST
RC VSA 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
ヘッダがルータ (a) に注入され , データ 3 がルータ (c) を通過するまで12 サイクル
SA
SA
SA
SA
SA
SA
SA
SA
SA
(1) 出力チャネルの候補は複数個あ
る
(3) その出力チャネルに対してアービトレー
ション
(2) Output selection function
(OSF)
1 ホップ先で動的に経路が変わる 2 ホップ先を予測することは無理
発表の流れ• Network-on-Chip (NoC)
– ルータのパワーゲーティング
• 既存の NoC アーキテクチャ– トポロジ , ルーティング– ルータアーキテクチャ
• 先読み NoC アーキテクチャ– 固定型ルーティングの場合– 適応型ルーティングの場合
• 評価– 制御信号の複雑さ– 通信遅延とスループット性能
Wakeup!
先読み NoC : 固定型ルーティング (1/3)
• 先読み (look-ahead) 型ルータ– NRC (Next routing computation)– VSA (Virtual channel / switch allocation)– ST (Switch traversal)
NRC VSA ST
ST
ST
ST
VSA ST
ST
ST
ST
VSA 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
NRC NRC
NRC: 次ルータの RC を実行 ( 自ルータの RC は手前のルータに任せる )
ルータ (b) の出力ポートはルータ (a) が決め , ルータ (c) の出力ポートはルータ (b) が…
SA
SA
SA
SA
SA
SA
SA
SA
SA
1 ホップ先の出力チャネルを計算 2 ホップ先の入力チャネルが判明
先読み NoC : 固定型ルーティング (2/3)
• Wakeup-0 型 : 配線遅延が小さいとき– ルータ i の NRC で , ルータ (i+2) を wakeup– s 段パイプラインのとき , (2s-1) サイクル前に wakeup 開始可
• Wakeup-1 型 : 配線遅延が大きいとき– ルータ i の VSA で , ルータ (i+2) を wakeup– s 段パイプラインのとき , (2s-2) サイクル前に wakeup 開始可
NRC VSA ST
ST
ST
ST
VSA ST
ST
ST
ST
VSA 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
NRC NRC
SA
SA
SA
SA
SA
SA
SA
SA
SA
Wakeup-0
Wakeup-1
2 ホップ先の入力チャネルに対し , どのように wakeup 信号を発行するか ?
先読み NoC : 固定型ルーティング (3/3)
• 2 ホップ先に wakeup信号– 信号は何本必要か?
• Node degree d トポロジ– チャネル当たり (d-1)^2
本– ルータ当たり d(d-1)^2
本
[ 松谷 ,ASPDAC’08]
先読み NoC : 固定型ルーティング (3/3)
• 2 ホップ先に wakeup信号– 信号は何本必要か?
• Node degree d トポロジ– チャネル当たり (d-1)^2
本– ルータ当たり d(d-1)^2
本
• 次元順ルーティング– 禁止ターンがたくさん
ある
• 実際には何本必要か?– チャネル当たり 1 本
(N/S)– チャネル当たり 5 本
(E/W)– ルータ当たり 12 本
[ 松谷 ,ASPDAC’08]
E/W 方向への移動 N/S 方向への移動
先読み NoC : 適応型ルーティング (1/6)
• 先読み (look-ahead) 型ルータ– NRC (Next routing computation)– VSA (Virtual channel / switch allocation)– ST (Switch traversal)
NRC VSA ST
ST
ST
ST
VSA ST
ST
ST
ST
VSA 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
NRC NRC
NRC: 次ルータの RC を実行 ( 自ルータの RC は手前のルータに任せる )
ルータ (b) の出力ポートはルータ (a) が決め , ルータ (c) の出力ポートはルータ (b) が…
SA
SA
SA
SA
SA
SA
SA
SA
SA
1 ホップ先の出力チャネルを計算 2 ホップ先の入力チャネルが判明
先読み NoC : 適応型ルーティング (2/6)
• Wakeup-0 型 : 配線遅延が小さいとき– ルータ i の NRC で , ルータ (i+2) を wakeup– s 段パイプラインのとき , (2s-1) サイクル前に wakeup
開始可• Wakeup-1 型 : 配線遅延が大きいとき
– ルータ i の VSA で , ルータ (i+2) を wakeup– s 段パイプラインのとき , (2s-2) サイクル前に wakeup
開始可NRC VSA ST
ST
ST
ST
VSA ST
ST
ST
ST
VSA 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
NRC NRC
SA
SA
SA
SA
SA
SA
SA
SA
SA
Wakeup-0
Wakeup-1
2 ホップ先の入力チャネルに対し , どのように wakeup 信号を発行するか ?
先読み NoC : 適応型ルーティング (3/6)
NRC VSA ST
ST
ST
ST
VSA ST
ST
ST
ST
VSA 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
NRC NRC
SA
SA
SA
SA
SA
SA
SA
SA
SA
• 適応型ルーティングにおける 2 ホップ先読み– ルータ (i+1) がどの出力チャネルを選ぶか予測する
• Next output selection function (Next OSF)– ルータ i がルータ (i+1) になったつもりで– ルータ (i+1) の output selection function を実行
(1) NRC: 次ルータになったつもりで出力チャネルを計算 候補は複数個出る
(2) Next OSF: 次ルータになったつもりで OSF を実
行
先読み NoC : 適応型ルーティング (3/6)
• Stateless 型 : スループットが低い– ルータ (i+1) の出力チャネルの集合を O とする– O のうち ,宛先に最短で到達できるチャネル集合を O’ とする– O’ の中からランダムに選択
• Stateful 型 : スループットが高い– O’ のうち , 現在 busy でない出力チャネルの集合 O’’ とする– O’’ の中からランダムに選択
NRC VSA ST
ST
ST
ST
VSA ST
ST
ST
ST
VSA 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
NRC NRC
SA
SA
SA
SA
SA
SA
SA
SA
SA
(1) NRC: 次ルータになったつもりで出力チャネルを計算 候補は複数個出る
(2) Next OSF: 次ルータになったつもりで OSF を実
行
先読み NoC : 適応型ルーティング (4/6)
NRC VSA ST
ST
ST
ST
VSA ST
ST
ST
ST
VSA 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
NRC NRC
SA
SA
SA
SA
SA
SA
SA
SA
SA
• 適応型ルーティングにおける 2 ホップ先読み– ルータ i がルータ (i+1) の出力チャネルを Next OSF する– パケットがルータ i から (i+1) に移動するまでのタイムラグ– ルータ i の Next OSF 結果が最良とは限らない
パケットがルータ (i+1) に到達するまでに , busy になっているかもしれない
(1) NRC: 次ルータになったつもりで出力チャネルを計算 候補は複数個出る
(2) Next OSF: 次ルータになったつもりで OSF を実
行
先読み NoC : 適応型ルーティング (4/6)
NRC VSA ST
ST
ST
ST
VSA ST
ST
ST
ST
VSA 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
NRC NRC
SA
SA
SA
SA
SA
SA
SA
SA
SA
• Inflexible 型 : スループットが低い– ルータ (i+1) はルータ i が選択した出力チャネルを必ず使う
• Flexible 型 : スループットが高い– ルータ (i+1) はルータ i が選択した出力チャネルが busy なら– 別の出力チャネルを利用できる
先読み NoC : 適応型ルーティング (5/6)
• Inflexible 型 : スループットが低い– ルータ (i+1) はルータ i が選択した出力チャネルを必ず使う
• Flexible 型 : スループットが高い– ルータ (i+1) はルータ i が選択した出力チャネルが busy なら– 別の出力チャネルを利用できる
予めウェイクアップしたチャネルとは別のチャネルを使うことになるウェイクアップ遅延 , パワースイッチ On/Off エネルギーの無駄では?
• 別チャネルをウェイクアップさせるオーバヘッドは小さい– 予めウェイクアップしたチャネル CH0 が busy 他のパケット
が占有中– CH0 が free になるのを待つより ,別チャネルを起こしたほうが良
い• 予めウェイクアップさせるのに要した電力は無駄にならない– 予めウェイクアップしたチャネル CH0 が busy 他のパケット
が占有中– CH0 は別パケットによって使われているので ,起こしても無駄では
なかった
先読み NoC : 適応型ルーティング (6/6)
• 2 ホップ先に wakeup信号– 信号は何本必要か?
• Node degree d トポロジ– チャネル当たり (d-1)^2
本– ルータ当たり d(d-1)^2
本
• Opt-y ルーティング– 禁止ターンがない
• 何本必要か?– チャネル当たり 7 本
(N/S)– チャネル当たり 7 本
(E/W)– ルータ当たり 28 本
[ 松谷 ,ASPDAC’08]
E/W 方向への移動 N/S 方向への移動
先読み NoC : 適応型ルーティング (6/6)
• West-first ルーティング– 禁止ターンがある
• 実際には何本必要か?– チャネル当たり 4 本 (N)
– チャネル当たり 4 本 (S)
– チャネル当たり 7 本 (E)
– チャネル当たり 5 本 (W)
– ルータ当たり 20 本
N 方向への移動 S 方向への移動
E 方向への移動
( ) ※ 他の turn-model では wakeup 信号の配線パターンは異なるが , 本数は同じ
W 方向への移動
発表の流れ• Network-on-Chip (NoC)
– ルータのパワーゲーティング
• 既存の NoC アーキテクチャ– トポロジ , ルーティング– ルータアーキテクチャ
• 先読み NoC アーキテクチャ– 固定型ルーティングの場合– 適応型ルーティングの場合
• 評価– 制御信号の複雑さ– 通信遅延とスループット性能
Wakeup!
評価 : 制御信号の複雑さ (1/2)
• Wakeup 信号– 2 ホップ先に送信– ネットワークで全体で
制御信号は何本必要か?
k x k 4 x 4 8 x 8 16 x 16
Dimension-order 12k^2 100 580 2,692
West-first 20k^2 170 970 4,490
Opt-y 28k^2 240 1,360 6,288
表 : 様々なネットワークサイズにおける wakeup 信号の数
( ) ※ West-first, North-last, Negative-first, Odd-even はすべて一緒
E/W 方向への移動 N/S 方向への移動
評価 : 制御信号の複雑さ (2/2)
• k x k メッシュの配線量 L = 4w * k (k-1) * l– w: リンク幅 ( 例えば , データ幅 64-bit + 制御信号 4-bit)
– l: 隣接ルータ間距離 ( 例えば , 1mm)
• 先読み機構による配線量の増加量 (p は wakeup 信号の数 )
– Stateless 型は (2p * l), Stateful 型は (4p * l) 増える
Next OSF 4 x 4 8 x 8 16 x 16
Dimension-order stateless 6.1% 7.6% 8.2%
West-first stateless 10.4% 12.7% 13.8%
Opt-y stateless 14.7% 17.9% 19.3%
West-first stateful 20.8% 25.5% 27.5%
Opt-y stateful 29.4% 35.7% 38.5%
表 : 先読み機構 (wakeup 信号 , nbusy 信号 ) による配線量の増加量
( ) ※ West-first, North-last, Negative-first, Odd-even はすべて一緒Stateful 型でルーティングの adaptivity が高くなると配線量が多くなる
評価 : 制御信号の配線遅延• wakeup 信号の配線遅延
– 2 ホップ分の距離– 配線遅延が問題
• パイプライン段の遅延– 15 FO4 (ハイエンド向
け )– 60 FO4 (組込み向け )
• 目標– トータルで 60 FO4 未満– NRC と Next OSF に 3
0 FO4 を消費
配線距離 [mm] vs. 配線遅延 [FO4]
90nm CMOS process, semi-global interconnect
コア間距離が 2mm なら ,wakeup 信号は 4mm
評価 : スループット性能• 評価項目
– ウェイクアップ遅延の影響
– 先読み固定型ルーティング
– 先読み適応型ルーティングにおける flexible 型
– 先読み適応型ルーティングにおける stateful 型
• ネットワークシミュレーション– 8 x 8 mesh– Uniform traffic (16-flit packet)– Wormhole (4-flit buffer)
各種ルーティングのスループット性能がどれだけ落ちるか ?
ウェイクアップ遅延の影響をどれだけ隠蔽できるか ?
inflexible 型と flexible 型では性能差はどのくらいか ?
stateless 型と stateful 型では性能差はどのくらいか ?
スループット : ウェイクアップ遅延の影響
• Dimension-order (DOR)– No PG– PG (wakeup 4-cycle)
• West-first (WF)– No PG– PG (wakeup 4-cycle)
-20.0%
-16.7%
ウェイクアップ遅延によって , 9.7% ~ 20.0% スループット性能が低下
スループット vs. 通信遅延 スループット vs. 通信遅延
スループット : 先読み固定型ルーティング
• Dimension-order (DOR)– No PG– PG (wakeup 4-cycle)– PG (wakeup 4-cycle + look-ahead)
• West-first (WF)– No PG– PG (wakeup 4-cycle)
-20.0%
-16.7%
DOR ( 固定型 ) では , 先読みによってスループットの劣化を完全隠蔽
スループット vs. 通信遅延 スループット vs. 通信遅延
スループット : 先読み適応型 flexible 型
• West first (WF) routing– Inflexible(wake 4-
cycle)– Flexible (wake 4-cycle)
• Opt-y routing– Original (wake 4-cycle)– Flexible (wake 4-cycle)
スループット vs. 通信遅延 スループット vs. 通信遅延
Inflexible 型は性能劣化 . Flexible 型はほぼウェイクアップ遅延を隠蔽
スループット : 先読み適応型 stateful 型
• West first (WF) routing– Stateless(wake 4-
cycle)– Stateful (wake 4-cycle)
• Opt-y routing– Stateless(wake 4-
cycle)– Stateful (wake 4-cycle)
スループット vs. 通信遅延 スループット vs. 通信遅延
Uniform traffic では両者に大差無し . 局所性があれば Stateful 型有利
まとめ : 先読みルータアーキテクチャ• ルータのパワーゲーティング
– チャネル単位– ウェイクアップ遅延の影響
• 先読み固定型ルーティング– ウェイクアップ遅延を完全に隠蔽
• 先読み適応型ルーティング– Flexible 型によりウェイクアッ
プ遅延をほぼ隠蔽– Stateless 型 vs. Stateful 型
• 今後の課題– ハードウェア実装– 面積オーバヘッドの見積り
Wakeup!
Look-ahead ルーティングを応用