Document

Rearrangeable NoC:
配線遅延を考慮した分散ルータ
アーキテクチャ
松谷 宏紀 (慶大)
鯉渕 道紘 (NII)
中村 宏 (東大)
天野 英晴 (慶大)
sparc
sparc
sparc
sparc
L2$
L2$
Crossbar
L2$
L2$
sparc
sparc
sparc
sparc
Many-core architecture
L2$
L2$
L2$
Niagara 2
L2$
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
Cores
Core#0
その先は?
Core#1
TRIPS (OCN)
L2 $ nodes
???
キャッシュの面積割合は増える
どういうレイアウトが良いの?
Small
# of nodes
Large
L2$
L2$
L2$
L2$
Crossbar
L2$
L2$
sparc
sparc
sparc
sparc
L2$
sparc
sparc
sparc
sparc
Many-core architecture
L2$
Niagara 2
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
Cores
Core#0
L2 $ nodes
その先は?
Core#1
TRIPS (OCN)
???
キャッシュの面積割合は増える
どういうレイアウトが良いの?
チップ中央に L2$ nodes
Small
# of nodes
Large
L2$
L2$
L2$
L2$
Crossbar
L2$
L2$
sparc
sparc
sparc
sparc
L2$
sparc
sparc
sparc
sparc
Many-core architecture
L2$
Niagara 2
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
Core#0
Cores
その先は?
Core#1
L2 $ nodes
TRIPS (OCN)
???
キャッシュの面積割合は増える
どういうレイアウトが良いの?
チップ外周に L2$ nodes
Small
# of nodes
Large
sparc
sparc
sparc
sparc
L2$
L2$
Crossbar
L2$
L2$
sparc
sparc
sparc
sparc
Many-core architecture
L2$
L2$
L2$
Niagara 2
L2$
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
Core#0
その先は?
Cores
Core#1
TRIPS (OCN)
???
キャッシュの面積割合は増える
どういうレイアウトが良いの?
局所性を活かした配置
Small
# of nodes
Large
メモリバンド幅の確保  トポロジ,ルーティング,ルータ構造の工夫で !
sparc
sparc
sparc
sparc
L2$
L2$
Crossbar
L2$
L2$
sparc
sparc
sparc
sparc
Network topology
L2$
L2$
L2$
Niagara 2
Small
L2$
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
for many cores
Cores
Core#0
その先は?
Core#1
TRIPS (OCN)
# of nodes
L2 $ nodes
???
Large
Network topology
M
M
M
M
M
M
M
M
Crossbar
M
M
M
M
M
M
M
M
for many cores
Cores
Core#0
その先は?
Core#1
TRIPS (OCN)
L2 $ nodes
???
スループット(高)
ノードが多いとコスト(高)
Small
# of nodes
Large
Network topology
for many cores
Cores
その先は?
L2 $ nodes
Crossbar
2-D mesh
スループット(高)
配置が容易  リンク長(短)
ノードが多いとコスト(高)
ノードが多いと直径 (長)
Small
# of nodes
???
Large
Network topology
for many cores
どんなトポロジが良い?
メモリバンド幅の確保
小さい diameter
大きい bisection BW
Crossbar
2-D mesh
スループット(高)
配置が容易  リンク長(短)
ノードが多いとコスト(高)
ノードが多いと直径 (長)
Small
# of nodes
???
Large
Network topology
Crossbar
2-D mesh
for many cores
Hypercube ??
スループット(高)
配置が容易  リンク長(短) 直径 (短), 帯域 (高)
ノードが多いとコスト(高)
ノードが多いと直径 (長)
Small
# of nodes
配置が困難  リンク長(長)
Large
レイアウトの問題: Long wires & delay
• 高性能トポロジ
–
–
–
–
Hypercube binary n-cube
k-ary n-cube
Torus
Flatten butterfly [Kim,ISCA’07]
Fat H-Tree
Loooong wires
長~い配線がいっぱい!!
• 配線遅延
– 微細化により増加
– ゲート遅延より深刻
– 配線長の2乗に比例
Hypercube (binary n-cube)
レイアウトの問題: Long wires & delay
• 高性能トポロジ
–
–
–
–
Hypercube binary n-cube
k-ary n-cube
Torus
Flatten butterfly [Kim,ISCA’07]
Fat H-Tree
長~い配線がいっぱい!!
• 配線遅延
– 微細化により増加
– ゲート遅延より深刻
– 配線長の2乗に比例
Loooong wires
Flatten Butterfly
配線遅延のせいで高性能トポロジは実装(難)これを解決するルータ
レイアウトの問題: Long wires & delay
70nm semi-global
• 高性能トポロジ
–
–
–
–
Hypercube binary n-cube
k-ary n-cube
Torus
Flatten butterfly [Kim,ISCA’07]
Fat H-Tree
60FO4s
15FO4s
長~い配線がいっぱい!!
• 配線遅延
– 微細化により増加
– ゲート遅延より深刻
– 配線長の2乗に比例
配線長 [mm] vs. 配線遅延 [FO4s]
配線パラメータは
[Ho, IEEE Proc’01] より
Loooong wires
配線遅延のせいで高性能トポロジは実装(難)これを解決するルータ
配線遅延を考慮した分散ルータ
• オリジナル Network-on-Chip (NoC) リンク
On-chip router
On-chip router
Arbiter
Arbiter
RC VA/SA ST
Crucial wire delay
RC VA/SA ST
多量のリピータバッファ  リンクエネルギー(増)
オンチップルータの機能を分解して, リンク上に分散配置しよう
配線遅延を考慮した分散ルータ
• ルータの機能を分解して, リンク上に分散配置しよう
On-chip router
On-chip router
Arbiter
Arbiter
RC VA/SA ST
Crucial wire delay
RC VA/SA ST
配線遅延を考慮した分散ルータ
• ルータの機能を分解して, リンク上に分散配置しよう
On-chip router
Unit
Arbiter
RC VA/SA
On-chip router
Arbiter
RC VA/SA ST
配線遅延を考慮した分散ルータ
• ルータの機能を分解して, リンク上に分散配置しよう
Unit
Unit
Unit
Arbiter
RC
VA/SA
ST
On-chip router
Arbiter
RC VA/SA ST
配線遅延を考慮した分散ルータ
• ルータの機能を分解して, リンク上に分散配置しよう
Unit
Unit
Unit
Unit
Unit
Arbiter
RC
VA/SA
ST
RC
分解された機能は,リピータバッファの置換えに
Rearrangeable NoC アーキテクチャの詳細は予稿集を参照
予備評価: リンク長が 5mm のとき, 最大動作周波数が 29.4% 向上
関連研究
• 配線遅延を考慮したリピータ
[Dally研, ISSCC’01] [Kodi, TC’08]
– Elastic interconnects
RC,VA,SA,ST
– Adaptive channel buffers
RC,VA,SA,ST
値を保持できるバッファ
関連研究
• 配線遅延を考慮したリピータ
[Dally研, ISSCC’01] [Kodi, TC’08]
– Elastic interconnects
RC,VA,SA,ST
– Adaptive channel buffers
RC,VA,SA,ST
値を保持できるバッファ
• Router micro architecture
ルータ内部をリング化
Rotary router [Puente研, ISCA’07]
Conventional router
ST
RC
VA,SA
ST
ルータの機能を分解して,リンク上に分散配置
ご相談 1: 分散ルータのアーキテクチャ
• オンチップルータの機能を, どういう単位で分割する?
–
–
–
–
何個に分割する?
どこでバッファリングする?
スイッチング (wormhole or circuit sw) によってどう変わる?
ルーティング (固定型 or 適応型) によってどう変わる?
Unit
Unit
Unit
Unit
Unit
Arbiter
RC
VA/SA
ST
RC
ご相談 2: Multiple networks on a chip
• 用途に応じて複数ネットワークは当たり前
– Dynamic network (wormhole)
– Static network (circuit sw)
• ネットワーク間の相互乗り入れ
ハイブリッド型 [Jerder,NOCS’08]
– Circuit sw で途中まで行き, 途中から wormhole に切り替え
– そもそも “乗り入れ” は要らない?
RC,VSA,ST
Network (WH)
Network (WH)
Network (CS)
Network (CS)
RC,VSA,ST
ご相談 2: Multiple networks on a chip
• 用途に応じて複数ネットワークは当たり前
– Dynamic network (wormhole)
– Static network (circuit sw)
• ネットワーク間の相互乗り入れ
ハイブリッド型 [Jerder,NOCS’08]
– Circuit sw で途中まで行き, 途中から wormhole に切り替え
– そもそも “乗り入れ” は要らない?
Xbar
Network (WH)
Network (WH)
Network (CS)
Network (CS)
RC
VSA
Xbar
ご相談 2: Multiple networks on a chip
• 用途に応じて複数ネットワークは当たり前
– Dynamic network (wormhole)
– Static network (circuit sw)
• ネットワーク間の相互乗り入れ
ハイブリッド型 [Jerder,NOCS’08]
– Circuit sw で途中まで行き, 途中から wormhole に切り替え
– そもそも “乗り入れ” は要らない?
Xbar
Network (WH)
Network (WH)
Network (CS)
Network (CS)
RC
VSA
Xbar
ご相談 3: Many-core architecture
• コアとメモリの比率, レイアウトは?
• どんなトポロジが良い?
Cores
Cores
Cores
L2 $ nodes
L2 $ nodes
メモリ – コア間の通信は?
L2 $ nodes
Backup slides