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