Network-on-Chip における Fat H-Tree トポロジに関する研究 松谷 宏紀 (慶大) 鯉渕 道紘 (NII) 天野 英晴 (慶大) Network-on-Chip (NoC) とは? 計算タイル(プロセッサ等) + オンチップ・ルータ • Mesh トポロジ – 直径が大きい – スケーラビリティ (弱) • Tree トポロジ – ルート付近が混雑 • Fat H-Tree トポロジ パケット転送(タイル間通信) タイルアーキテクチャの実装例 (VDEC/ASPLA/京大 90nm CMOS) – Tree と Torus の両 方の特徴 – Fat H-Tree の解析 [松谷, IPDPS’07] – 3次元レイアウト [松谷, ARC-1-2007] NoC のトポロジ: • 2-D Mesh Mesh & Torus • 2-D Torus RAW [Taylor, IEEE Micro’02] aSOC [Liang, IEEE TVLSI’04] [Dally, DAC’01] – メッシュの2倍の帯域 Fat H-Tree はツリー型トポロジでありながら, トーラス構造を内包している ルータ 計算コア NoC のトポロジ: • Fat Tree (p, q, c) p: 上位リンクの数 q: 下位リンクの数 c: コアのポート数 Fat Tree SPIN [Andriahantenaina, DATE’03] SCORE [Caspi, FPL’00] ACM [Furtek, FPL’04] Rank-1 Rank-2 Fat Tree (2,4,1) Fat Tree (2,4,2) Fat Tree も Fat H-Tree は複数のツリーを持つが, ルータ 計算コア 複数ツリーのつなぎ方が異なる 発表の流れ • NoC のトポロジ – Mesh, Torus – H-Tree, Fat Tree • Fat H-Tree の特徴 – 定義 – レイアウト (2次元, 3次元) – ルーティング (DTR) • Fat H-Tree の評価 – 結合網の面積 – 消費エネルギー – スループット Fat H-Tree: 定義 • Fat H-Tree [山田, 信学論’06] – Red Tree (H-Tree) – Black Tree (H-Tree) 2個のH-Tree (red & black) を結合 Red Tree の 1-hop 右斜下の位置に Black Tree を配置する Black TreeとRed Treeの位置をずらすことで, Fat Tree とは異なるトポロジとなる ルータ 計算コア ルータ 計算コア Fat H-Tree: 定義 • Fat H-Tree [Yamada, EUC’04] – Red Tree (H-Tree) – Black Tree (H-Tree) 2個のH-Tree (red & black) を結合 Fat H-Tree は Red Tree と Black Tree によって形成 ルータ 計算コア ルータ 計算コア Fat H-Tree: 定義 • Fat H-Tree [Yamada, EUC’04] – Red Tree (H-Tree) – Black Tree (H-Tree) 2個のH-Tree (red & black) を結合 Fat H-Tree は Red Tree と Black Tree によって形成 ルータ 計算コア ルータ 計算コア Fat H-Tree: 定義 • Fat H-Tree [Yamada, EUC’04] – Red Tree (H-Tree) – Black Tree (H-Tree) 2個のH-Tree (red & black) を結合 Fat H-Tree は Red Tree と Black Tree によって形成 ルータ 計算コア ルータ 計算コア Fat H-Tree: 定義 • Fat H-Tree [Yamada, EUC’04] – Red Tree (H-Tree) – Black Tree (H-Tree) 2個のH-Tree (red & black) を結合 計算コアとrank-1ルータ によってトーラスが形成 各計算コアは Red tree, Black tree にそ れぞれつながる 図では rank-2 以上のルータは省略 Fat H-Tree を2個つなげるだけでトーラス並の性能 ルータは H-Tree 計算コア ルータ 計算コア Fat H-Tree: 2次元レイアウト • Fat H-Tree – トーラス構造を内包 端と端をつなぐリンクが非常に長くなる 畳み込みレイアウト (2次元トーラスと同じ方法) トポロジとしては等価 ルータ 計算コア Fat H-Tree の2次元レイアウト Fat H-Tree: 3次元化のメリット • 配線遅延, 消費電力の増加 – リピータの挿入 消費電力の増加 • チップの3次元実装 – 複数枚の小さなダイ(またはウェハ)を積層 プレーン間の貫通ビア [Davis,DToC’05] 大きな1枚のプレーン (配線が長い) 小さな4枚のプレーン (配線が短い) Fat H-Tree: 3次元レイアウト • Fat H-Tree の4分割 – トーラス構造を内包 (Red Tree & Black Tree) トーラス構造が保存されるように折り畳む 1. 左右に折り畳む 2. 上下に折り畳む Fat H-Tree: 3次元レイアウト • Fat H-Tree の4分割 – トーラス構造を内包 (Red Tree & Black Tree) トーラス構造が保存されるように折り畳む 1. 左右に折り畳む 2. 上下に折り畳む Fat H-Tree: 3次元レイアウト • Fat H-Tree の4分割 – トーラス構造を内包 (Red Tree & Black Tree) トーラス構造が保存されるように折り畳む 1. 左右に折り畳む 2. 上下に折り畳む Fat H-Tree: ルーティングアルゴリズム • 単一ツリーのみの経路 – Red Tree だけ使う, or – Black Tree だけ使う Red Tree だけ 6-hop Black Tree だけ 6-hop Fat H-Tree: ルーティングアルゴリズム • 単一ツリーのみの経路 – Red Tree だけ使う, or – Black Tree だけ使う • 両方のツリーを使う経路 – ツリー間の乗り換え – 最短経路 両方のツリーを組合せた最短経路 を活用することが性能向上の鍵 最初Red Treeを使う 乗り換え! その後Black Treeを使う, トータル 4-hop (最短) Fat H-Tree: Dual tree routing (DTR) • Dual tree routing – ツリー間の乗り換え許可 – ツリー間に循環依存発生 Deadlock する • Deadlock 回避法 – Red TreeからBlack Tree への乗り換え時に, 仮想チャネル番号を +1 VC#0 を使用 乗り換え! VC#1 を使用 64コアの Fat H-Tree において必要な仮想チャネル数は高々 2本 発表の流れ • NoC のトポロジ – Mesh, Torus – H-Tree, Fat Tree • Fat H-Tree の特徴 – 定義 – レイアウト (2次元, 3次元) – ルーティング (DTR) • Fat H-Tree の評価 – 結合網の面積 – 消費エネルギー – スループット スループット理想値: Channel bisection N 2n 2n N=16 HT FT1 FT2 FHT Mesh Torus 4 2n1 2n2 2n2 8 2n1 2n2 N=64 N=256 4 4 4 8 16 32 16 32 64 24 40 72 8 16 32 16 32 64 Torus 1個Tree(2,4,1) H-Tree 2個 FT1: Fat FT2: Fat Tree(2,4,2) 分 分 Fat H-Tree は, 内包するトーラス構造によって大幅に性能向上 結合網の面積: ルータの個数 N 2n 2n N=16 N=64 N=256 HT (4n 1) / 3 5 21 85 FT1 (4n 2n ) / 2 6 28 120 FT2 4 n 2n 12 56 240 FHT 2(4n 1) / 3 10 42 170 Mesh N 16 64 256 Torus N 16 64 256 FT1: Fat Tree(2,4,1) FT2: Fat Tree(2,4,2) ルータに加え Network Interface (NI) が必要 Fat H-Tree の場合は 2-port の NI が要る Fat H-Tree のルータ数は Fat Tree(2,4,2) より少ない 面積(小) 結合網の面積: NoC の合成 • ルータと NI の合成 – 16コア, 64コア – Design Compiler – 0.18um CMOS • ルータの構造 – 32-bit Wormhole – 4段パイプライン – 仮想チャネル2本 2VCs Buf Buf 2VCs Buf Buf Input Ports Crossbar 使用した Wormhole Router の構造 • NI の構造 – 入力側: 2-flit FIFO – 出力側: 2-flit FIFO [松谷, SACSIS’06] Fat H-Tree の NI はツリー間の転送を行う Fat H-Tree の NI は “router” として実装 結合網の面積: 合成結果 (16 / 64コア) 合成結果 (16コア) Fat H-Tree の NI の 面積は他より大きい 合成結果 (64コア) Fat H-Tree の NI は大きいが, 総面積は Fat Tree(2,4,2) よりも(小) 配線量: 隣接コア間距離を 1-Unit • 総 Unit 長 – 計算コア⇔ルータ間 – ルータ ⇔ルータ間 合計で何 Unit か? 1-Unit 長 1-Unit = 隣接コア間距離 N 2n 2n N=16 N=64 N=256 24 112 480 32 192 1,024 64 384 2,048 FHT 8N(2n 1 1) 8 2n 1 72 392 1,800 Mesh 2(N 2n ) 24 112 480 HT FT1 FT2 2N(2n 1) 2n nN 2nN 1-Unit 長 Torus 4(N 2 ) 48 224 960 Fat の配線量はやや長いが, Fat Tree(2,4,2) と同レベル FT1:H-Tree Fat Tree(2,4,1) FT2: Fat Tree(2,4,2) n 消費エネルギー: NoCの電力モデル • フリットエネルギー E flit – 1-flit を宛先まで送る – 平均何ジュールかかる? • シミュレーション環境 – 12mm角チップ (16 / 64コ ア) – 0.18um CMOS • 転送エネルギー 12mm Eflit w Have (Esw Elink ) [Wang, DATE’05] Esw – 1-bit 転送 @ ルータ(NI) – ルータ回路のゲートレベル 解析 (Power compiler) for routers – 1.88 [pJ / hop] for NI – 1.27 [pJ / hop] for NI(FHT) – 1.45 [pJ / hop] • 配線エネルギー Elink – 1-bit 転送 @ リンク 消費エネルギー: 評価結果 (16 / 64コア) シミュレーション結果 (16コア) シミュレーション結果 (64コア) Fat H-Tree の消費エネルギーは Fat Tree(2,4,2) より小さい 性能評価: シミュレーション環境 • ネットワークシミュレーション – スループット vs. 遅延 – 16コア, 64コア • トポロジ (ルーティング) – Mesh, Torus (DOR) – Fat Trees (up/down) – Fat H-Tree (DTR) パケットサイズ 16-flit (1-flit header) バッファサイズ 1-flit per channel スイッチング Wormhole switching 仮想チャネル数 2 通信遅延 3-cycle per 1-hop • トラフィックパターン – – – – – – Uniform BT.W SP.W CG.W MG.W IS.W NAS Parallel Benchmark FHT vs. Fat Tree: Uniform (16 / 64コア) • Fat H-Tree (FHT) • Fat Tree(2,4,2) • Fat Tree(2,4,1) Uniform (16コア) FHT (DTR) ではツ リーのルート付近が混 雑して性能が劣化 Uniform (64コア) 16コアでは FHT は Fat Tree より高い性能, 64コアでは FHT 不利 FHT vs. Fat Tree: BT (16 / 64コア) • Fat H-Tree (FHT) • Fat Tree(2,4,2) • Fat Tree(2,4,1) BT トラフィック (16コア) FHT(DTR) でも, ツ リーのルート付近が混 雑していない BT トラフィック (64コア) 隣接間通信の多い BT トラフィックでは, FHT は 64コアでも有利 FHT vs. Fat Tree: MG (16 / 64コア) • Fat H-Tree (FHT) • Fat Tree(2,4,2) • Fat Tree(2,4,1) MG トラフィック (16コア) MG トラフィック (64コア) BT同様, MG トラフィックにおいても FHT は Fat Tree よりも高性能 Fat H-Tree のまとめ • 最短経路ルーティング – Dual Tree Routing • VLSI レイアウト – 2次元レイアウト – 3次元レイアウト • Fat H-Tree の評価 – – – – スループット: Uniform トラフィックを除き Fat Tree より高性能 結合網の面積: Fat Tree (2,4,2) より 20.5%~28.1% 小さい 消費エネルギー: Fat Tree (2,4,2) より 6.7%~7.0% 少ない 総リンク長: Fat Tree (2,4,2) と同程度
© Copyright 2024 ExpyDoc