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