予測機構を持った低遅延オンチップ ルータアーキテクチャ

33
予予予予予予予予予予予予予予予予 予予予予予予予予予予 松松 松松 (松 松) 松松 松松 (NII) 松松 松松 (松

Upload: yale

Post on 15-Mar-2016

56 views

Category:

Documents


0 download

DESCRIPTION

予測機構を持った低遅延オンチップ ルータアーキテクチャ. 松谷 宏紀 ( 慶大 ) 鯉渕 道紘 (NII) 天野 英晴 ( 慶大 ) 吉永  努 ( 電通大 ). 例えば , 1 ホップ = 3 サイクルとすると ,. 16-core mesh なら最大 21 サイクル. 64-core mesh なら最大 45 サイクル. Network-on-Chip (NoC). タイルアーキテクチャ Tilera Tile64 (64 コア ) Intel 80-core (80 コア ) 通信遅延 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

予測機構を持った低遅延オンチップ

ルータアーキテクチャ

松谷 宏紀 ( 慶大 )鯉渕 道紘 (NII)天野 英晴 ( 慶大 )吉永  努 ( 電通大 )

Page 2: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

Network-on-Chip (NoC)• タイルアーキテクチャ

– Tilera Tile64 (64 コア )– Intel 80-core (80 コア )

• 通信遅延– SRC から DST へパケッ

トが届くまでのサイクル数

16-core Tile architecture

On-chip routerCore

例えば , 1 ホップ = 3 サイクルとすると ,16-core mesh なら最大 21 サイクル64-core mesh なら最大 45 サイクル

タイル数は増える傾向にある

例 ) 要求を出して , パケットが届くまでに 1000-cycle かかったら使い物にならない

Page 3: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

Network-on-Chip (NoC)• タイルアーキテクチャ

– Tilera Tile64 (64 コア )– Intel 80-core (80 コア )

• 通信遅延– SRC から DST へパケッ

トが届くまでのサイクル数

• トポロジを工夫する– 例 : Mesh Torus

• ルータを工夫する– 例 : 3 サイクル 1 サイク

タイル数は増える傾向にある

遅延を減らす 2 つのアプローチ

16-core Tile architecture

On-chip routerCore

Page 4: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

発表の流れ• Network-on-Chip (NoC)• ルータアーキテクチャ

– 通常のルータ , 低遅延ルータ– 予測ルータ

• 予測ルータアーキテクチャ– データパス構造– バッファ管理 , Stop 機構– Kill 機構

• 評価– 面積 , 消費エネルギー– 通信遅延

[ 吉永 ,SACSIS’07]

Page 5: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

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

t

5x5 XBAR

ARBITER

FIFO

FIFO

FIFO

FIFO

FIFOX+

X-

Y+

Y-

CORE

X+

X-

Y+

Y-

CORE

( ) ※ 配置配線後のゲート数は 33 [kgates] 前後

1 ポート当り n個の入力バッファ ( この図では 2 系統 ) を持つ 仮想チャネル n本

[ 松谷 ,NOCS’08]

Page 6: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

通常のルータ : 3 段パイプライン

• 衝突しなければ 3 cycle でヘッダがルータを通過– RC (Routing computation)– VSA (Virtual channel / switch allocation)– ST (Switch traversal)

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 サイクル

RC が終わらないと VSA を実行できない

Page 7: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

Look-ahead ルータ : 3 段パイプライン

• 衝突しなければ 3 cycle でヘッダがルータを通過– 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 が終わらなくても VSA を実行できる

NRC: 次ルータの RC を実行 ( 自ルータの RC は手前のルータに任せる )

ルータ (b) の出力ポートはルータ (a) が決め , ルータ (c) の出力ポートはルータ (b) が…

Page 8: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

一般的な低遅延ルータ : 2 段パイプライン

• 衝突しなければ 2 cycle でヘッダがルータを通過– NRC + VSA (Next routing computation / switch allocation)– ST (Switch traversal)

NRCVSA ST

ELAPSED TIME [CYCLE]

1 2 3 4 5 6 7 8 9

@Router A

HEAD

DATA 1

DATA 2

DATA 3

NRCVSA ST NRC

VSA ST

@Router B @Router C

NRC と VSA に依存性がないので並列実行できる 2 サイクル転送

ヘッダがルータ (a) に注入され , データ 3 がルータ (c) を通過するまで 9サイクル

1-cycle ルータもあるが ,1 ステージに詰込み過ぎ 動作周波数悪化

W. Dally, “Principles and Practices of Interconnection Networks” (2004)

• 別アプローチ 1 – Express virtual channels– 非隣接ルータ間に仮想的なバイパス経路– 隣接間通信が多いと効果が薄い

• 別アプローチ 2 – Preferred path– XY ルーティングを想定し , パケットが直進すると予測– クロスバを迂回する低遅延なパス

[Kumar,ISCA’07]

[Michelogiannakis,NOCS’07]

Page 9: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

予測ルータ : Yet another 1-cycle router• 予測による 1 サイクル転送

– どの出力ポートが使われるか予測する (RC をプレ実行 )– 予測した出力ポートでクロスバ調停を済ます (SA をプ

レ実行 )– 予測が正しければ ST だけ (1 サイクル転送 )

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

1 ステージに処理を詰込まない ; 予測が 70% 当たれば 1.6 サイクル転送

予測が当たれば , RC と SA は省

予測アルゴリズム : 直前ポートを使う , 直進すると予測 , 履歴を使うなど

[ 吉永 ,SACSIS’07][ 鯉渕 ,SACSIS’08]

Page 10: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

予測機構付きルータ : これまでの成果

• 予測を用いた低遅延ネットワークの提案– 並列計算機ネットワーク向けにスループット評価– 予測アルゴリズムの比較

• NoC における予測ルーティング– 予測ルーティングを NoC に応用– 予測成功率の解析 , スループット評価

• 本発表では , 予測ルータアーキテクチャを検討– データパス構造– バッファ管理– Stop 機構– Kill 機構

[ 吉永 ,SACSIS’07]

[ 鯉渕 ,SACSIS’08]

上記の論文は , 予測ルータアーキテクチャの詳細をカバーしていない

2 つのデータパス ( 予測用とバックアップ用 )

2 つのデータパスでバッファを共有 面積抑える片方のデータパスを早期に止める 電力抑える予測失敗時の無効フリットの伝播を止める

Page 11: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

発表の流れ• Network-on-Chip (NoC)• ルータアーキテクチャ

– 通常のルータ , 低遅延ルータ– 予測ルータ

• 予測ルータアーキテクチャ– データパス構造– バッファ管理 , Stop 機構– Kill 機構

• 評価– 面積 , 消費エネルギー– 通信遅延

[ 吉永 ,SACSIS’07]

Page 12: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

ルータの構成 : 通常ルータ vs. 予測ルータ

• 通常のルータ • 予測ルータ

• 予測器– チャネル毎に持つ– 直前ポート予測 (LP) など

• 事前アービトレーション– 予測に基づき , 事前にク

ロスバを割り当てる

Arbiter

5x5 XBAR

FIFO

FIFO

( 直前ポート予測 )

Arbiter

5x5 XBAR

FIFO

FIFO

Predictor

Predictor

Page 13: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

データパス構造 : 通常ルータ vs. 予測ルータ

• 通常のルータ • 予測ルータ( 直前ポート予測 )

RC VSA STRC VSA ST

ST

Backup datapath

Prediction datapath

3-stage pipeline

各チャネルのデータパス構造

Arbiter

5x5 XBAR

FIFO

FIFO

Arbiter

5x5 XBAR

FIFO

FIFO

Predictor

Predictor

データパスを 2重化 ; 予測が当たると 1 サイクル転送 , 外れは3 サイクル

Page 14: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

データパス構造 : Stop 機構による省電力化

• Stop 機構無し– 2 つのデータパスが常

にデータ転送– 電力オーバヘッド ( 大 )

• Stop 機構有り

RC VSA ST

ST

Backup datapath

Prediction datapath

予測が成功… 両データパスが動作予測が失敗… 両データパスが動作

予測の成否は RC(1 サイクル目 ) で判明

Page 15: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

データパス構造 : Stop 機構による省電力化

• Stop 機構無し– 2 つのデータパスが常

にデータ転送– 電力オーバヘッド ( 大 )

• Stop 機構有り– RC(1 サイクル目 ) で片

方のデータパスを停止– 電力オーバヘッド (小 )

予測が成功… Backup path を停止予測が失敗… Prediction path を停止

予測の成否は RC(1 サイクル目 ) で判明

RC VSA ST

ST

Backup datapath

Prediction datapath

予測成功

予測が成功… 両データパスが動作予測が失敗… 両データパスが動作

予測の成否は RC(1 サイクル目 ) で判明

RC VSA ST

ST

Backup datapath

Prediction datapath

Page 16: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

データパス構造 : Stop 機構による省電力化

• Stop 機構無し– 2 つのデータパスが常

にデータ転送– 電力オーバヘッド ( 大 )

• Stop 機構有り– RC(1 サイクル目 ) で片

方のデータパスを停止– 電力オーバヘッド (小 )

予測が成功… 両データパスが動作予測が失敗… 両データパスが動作

予測の成否は RC(1 サイクル目 ) で判明

予測が成功… Backup path を停止予測が失敗… Prediction path を停止

予測の成否は RC(1 サイクル目 ) で判明

RC VSA ST

ST

Backup datapath

Prediction datapath

予測失敗

評価では , 通常ルータ , 予測ルータ (stop 有 / 無 ) の転送エネルギー比較

RC VSA ST

ST

Backup datapath

Prediction datapath

Page 17: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

バッファ管理 : 独立バッファ vs. 共有バッファ

• 独立バッファ方式– 2 つのデータパスが独立

したバッファを持つ– 面積オーバヘッド ( 大 )

• 共有バッファ方式– 2 つのデータパスが同じバッファを共有する

– 面積オーバヘッド (小 )

RC VSA ST

ST

Backup datapath

Prediction datapath

RC VSA ST

ST

Backup datapath

Prediction datapath

次スライドでは , データパス間のデータ書潰しが発生しないことを確認

バッファの書き潰しが起きるのでは ?

Page 18: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

バッファ管理 : 共有バッファで書潰しは起きない

cycle-1 cycle-2 cycle-3 cycle-4

Prediction

Backup

h h h hd1

d1

d1

d2

d2

d3

ST ST ST ST

RC Backup データパスは cycle-1 で停止

予測成功時の 2 つのデータパスの動作

Page 19: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

バッファ管理 : 共有バッファで書潰しは起きない

cycle-1 cycle-2 cycle-3 cycle-4

Prediction

Backup

h h h hd1

d1

d1

d2

d2

d3

ST ST ST ST

RC Backup データパスは cycle-1 で停止

予測成功時の 2 つのデータパスの動作

cycle-1 cycle-2 cycle-3 cycle-4

Prediction

Backup

h h h hd1

d1

d1

d2

d2

d3

ST

RC

予測失敗時の 2 つのデータパスの動作

SA ST ST

Prediction データパスは cycle-1 で停止

評価では , 通常ルータ , 予測ルータ ( バッファ独立 / 共有 ) の面積を比較

Page 20: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

予測失敗時の動作 : 無効フリットとは ?

• 予測失敗の例 • 予測失敗時の流れ

• 1 サイクル目– RC で予測失敗が判明– Stop 信号を有効化– 間違った宛先に 1-flit 伝播

• 2 サイクル目– Stop 信号により predicti

on datapath 停止

A C

B

Router A にパケットが来た

次ホップとして Router C を予測したが

実際には Router B だった…

RC SA ST

ST

1 2 3 4

Backup

Prediction

RCStop!!

無効フリット発生

Page 21: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

予測失敗時 : 無効フリットの Kill 機構• Kill 機構の動作 ( 予測失敗時 )

– 予測失敗を検出したら ,– 隣接ルータのチャネルに

Kill 信号を送る

• 予測失敗時の流れ

• 1 サイクル目– RC で予測失敗が判明– Stop / Kill 信号を有効化– 間違った宛先に 1-flit 伝播

• 2 サイクル目– prediction datapath 停止– 無効フリットを廃棄

RC SA ST

ST

1 2 3 4

Backup

Prediction

RCStop & Kill !!

無効フリット発生

A C

データ信号 (64-bit)

kill 信号 (1-bit)

Kill 信号と同時に来たフリットは廃棄

Router C には , 無効フリットと Kill 信号が同時に伝播

Page 22: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

予測失敗時 : 無効フリットの Kill 機構• Kill 機構の動作 ( 予測失敗時 )

– 予測失敗を検出したら ,– 隣接ルータのチャネルに

Kill 信号を送る

• Kill 信号の引き回し– すべての隣接ルータの

チャネルへ 1-bit 信号– チャネルごとに 3 本の

Kill 信号を出力

Kill 信号と同時に来たフリットは廃棄

Router C には , 無効フリットと Kill 信号が同時に伝播

0 1 2

3 4 5

6 7 8

Router 4西ポートからの Kill信号

A C

データ信号 (64-bit)

kill 信号 (1-bit)

Page 23: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

発表の流れ• Network-on-Chip (NoC)• ルータアーキテクチャ

– 通常のルータ , 低遅延ルータ– 予測ルータ

• 予測ルータアーキテクチャ– データパス構造– バッファ管理 , Stop 機構– Kill 機構

• 評価– 面積 , 消費エネルギー– 通信遅延

[ 吉永 ,SACSIS’07]

Page 24: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

評価項目と比較対象• ハードウェア量

– オリジナルルータ– 予測ルータ ( バッファ独立 )– 予測ルータ ( バッファ共有 )

• 消費エネルギー– オリジナルルータ– 予測ルータ (Stop 機構無し )– 予測ルータ (Stop 機構有り )

• 通信遅延– オリジナルルータ– 予測ルータ (ideal)– 予測ルータ (LP, SS)

Arbiter

5x5 XBAR

FIFO

FIFO

Predictor

Predictor

評価に用いた予測ルータ

• データ幅は 64-bit

• 5 入力 5 出力 ワームホール方式

• 予測アルゴリズムは LP

• 仮想チャネル数は 1 と 2 の場合

Page 25: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

面積評価 : ルータのゲート数を比較• 予測ルータ ( バッファ独立 ) • 予測ルータ ( バッファ共有 )

RC VSA ST

ST

Backup datapath

Prediction datapath

RC VSA ST

ST

Backup datapath

Prediction datapath

1. オリジナルルータ , 予測ルータ (独立 ), 予測ルータ ( 共有 ) を Verilog-HDL で実装

2. 各種ルータを ASPLA 90nm ライブラリで合成 (Design Compiler)

3. 各種ルータのゲート数をカウント

面積評価のフロー

Page 26: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

面積評価 : ルータのゲート数を比較• 予測ルータ ( バッファ独立 ) • 予測ルータ ( バッファ共有 )

RC VSA ST

ST

Backup datapath

Prediction datapath

RC VSA ST

ST

Backup datapath

Prediction datapath

バッファ共有

バッファ独立

オリジナル バッファ共有

バッファ独立

仮想チャネル数1

仮想チャネル数2

+53.1%+21.9%

+57.2%+23.4%

オリジナルバッファ共有方式によって , 面積の増分を 21.9%~ 23.4% 増に低減

Page 27: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

電力評価 : フリット転送エネルギーを比較

• 予測ルータ (Stop 機構無 ) • 予測ルータ (Stop 機構有 )

RC VSA ST

ST

Stop!!

Prediction datapath

RC VSA ST

ST

Backup datapath

Prediction datapath

1. オリジナルルータ , 予測ルータ (stop 有 ), 予測ルータ (stop 無 ) を Verilog-HDL で実装

2. 各種ルータを ASPLA 90nm で合成 , 配置配線 (Design Compiler / Astro)

3. 配置配線ルータにパケット負荷を与えるシミュレーションを実行 (NC-Verilog)

4. SAIF, SDF, SPEF を読み込んで消費電力を見積もる (Power Compiler)

電力評価のフロー

Page 28: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

電力評価 : フリット転送エネルギーを比較

• 予測ルータ (Stop 機構無 ) • 予測ルータ (Stop 機構有 )

RC VSA ST

ST

Stop!!

Prediction datapath

RC VSA ST

ST

Backup datapath

Prediction datapath

Stop有 Stop 無 リンク 0.7mm

Stop有 Stop 無 リンク 0.7mm

仮想チャネル数1

仮想チャネル数2

+26.8%+10.0% +26.2%

+8.8%

オリジナル オリジナルStop 機構によって , 転送エネルギー増分を 8.8%~ 10.0% 増に低減

Page 29: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

遅延評価 : 無負荷時の通信レイテンシ• 比較対象

– オリジナルルータ (Conv)– 予測ルータ (ideal)– 予測ルータ (SS)– 予測ルータ (LP)

• 無負荷時の遅延モデル

100% 的中

直進予測

直前予測dTTTdT sarlink )()1(

LinkBW

hdPktSizeL

linkTrT

… リンク遅延

… ルーティング遅延

aTsT

… アービトレーション遅延

… スイッチ遅延

d… ホップ数h… ヘッダサイズ

予測成功時 1,0,0 sar TTT予測失敗時 1,1,1 sar TTT

予測成功率は [ 鯉渕 ,SACSIS’08] の値を使用

Page 30: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

遅延評価 : 無負荷時の通信レイテンシ• 比較対象

– オリジナルルータ (Conv)

– 予測ルータ (ideal)– 予測ルータ (SS)– 予測ルータ (LP)

• 評価パラメータ

100% 的中

直進予測

直前予測

予測によって , 通信遅延は 64 コアで 14.2% 減 , 289 コアで 23.7% 減

トポロジ k-ary 2-cube (k=3…17)

ルーティング

次元順 (XY routing)

パケット長 16-flitトラフィック

ユニフォームランダム

動作周波数 通常ルータ : 470.0MHz予測ルータ : 464.8MHz

ノード数 vs. 通信レイテンシ

[nse

c]

Page 31: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

まとめ : 予測ルータアーキテクチャ• 予測機構を持つ低遅延ルータ

– 予測にもとづき RC と SA ステージをプレ実行– 予測が当たれば ST ステージだけ (1 サイクル転送 )

• 本発表では , 予測ルータのアーキテクチャを検討– バッファ共有方式– Stop 機構– Kill 機構 (今回は未実装 )

• 評価結果– 通信遅延を 14.2%~ 23.7% 削減– 面積オーバヘッドは 23.4%– エネルギーオーバヘッドは 10.0%

RC VSA ST

ST

Stop!!

これまで予測ルータのアーキテクチャの詳細はカバーしてない

[ 吉永 ,SACSIS’07]

実装のさらなる改善 , 他の低遅延ルータとの定量的な比較が必要

Page 32: 予測機構を持った低遅延オンチップ ルータアーキテクチャ

ご清聴ありがとうございました

Page 33: 予測機構を持った低遅延オンチップ ルータアーキテクチャ