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
© Copyright 2025 ExpyDoc