予測ルータ - Matsutani Lab | Department of Information

予測機構を持つルータを用いた低遅延
チップ内ネットワークに関する研究
鯉渕 道紘
吉永 努
村上 弘和
松谷 宏紀
天野 英晴
(国情研/総研大/JST)
(電通大)
(電通大)
(慶大)
(慶大)
発表の流れ
• チップ内ネットワーク(Network-on-Chip: NoC)
• ルータにおけるパケット処理
– 通常のルータ, 低遅延ルータ
– 予測ルータ [吉永,SACSIS’07]
• 予測ルータを用いたチップ内ネットワークの性能解析
– 予測成功率
– 無負荷状態のネットワーク遅延
• 総合評価
– 面積, 消費エネルギー
– スループットと遅延
チップ内ネットワーク(Network-on-Chip:NoC)
• レギュラーアーキテクチャ
– Tilera Tile64 (64コア)
– Texas U. TRIPS
Core
On-chip router
[Buger, Computer’04]
– Intel 80コア NoC
[Vangal, ISSCC’07]
– タイルアーキテクチャ
• (P2P)イレギュラー
アーキテクチャ
16-Core Tile Architecture
タイルアーキテクチャの実装例
(*) 京大/VDEC/ASPLA 90nm CMOS 使用
バスからパケットネットワークへ
• バス構造の限界
– コア数の増加
– 配線遅延の増加
Packet Network Generation
NoCとは?
• チップ内ネットワーク=
Network-on-Chip (NoC) =
On-Chip Network(OCN)=
On-Chip Interconnection Network(OCIN)
• 広義
– チップ内のモジュール間ネットワークすべて
• 古典的バス:
– 単位時間あたり1データ転送, poor performance scalability
• 専用配線
– 全対全通信. poor area scalability
• パケットネットワーク
– 複数データ転送: high scalability
• 狭義
– スイッチ(ルータ)ベースのパケットネットワーク
既存のNoC
Topology; Data
width
Switching;
VCs
Flow
control
Routing
algorithm
MIT Raw (dynamic network)
2-D mesh; 32-bit
wormhole; no VC
credit based
XY DOR
UPMC/LIP6 SPIN Micro
Network
Fat Tree; 32-bit
wormhole; no VC
credit based
up*/down* routing
UMass Amherst aSOC arch
2-D mesh
PCS; no VC
timeslot based
shortest-path
Sun UltraSparc T1 (CPX bus)
crossbar; 128-bit
N/A
handshaking
N/A
Sony, Toshiba, IBM Cell BE
EIB
ring; 128-bit
PCS; no VC
credit based
shortest-path
UT Austin TRIPS (operand
NW)
2-D mesh; 109-bit
N/A †; no VC
on/off
YX DOR
UT Austin TRIPS (OCN)
2-D mesh; 128-bit
wormhole; 4VCs
credit based
YX DOR
Intel SCC
architecture
2-D torus; 32-bit
wormhole;
no VC
stall/go
XY,YX DOR;
odd-even TM
Intel Teraflops NoC
2-D mesh; 32-bit
古典的な並列計算機のインターコネ
on/off
wormhole; 2lane
source routing ( e.g.
クトと同じNWアーキテクチャ
DOR)
Tilera TILE64 iMesh
(dynamic NW)
2-D mesh; 32-bit
wormhole; no VC
credit based
XY DOR
トポロジ:2-Dグリッド構造 ルーティング:次元順ルーティング
スイッチング技術:ワームホール方式
NoCの課題
• これまでの成功は、Off-chipネットワークアーキテクチャの転用
による
– 並列計算機のネットワーク(Blue Gene/L等)
• トポロジ、ルーティング、フロー制御、ルータアーキテクチャ
– ロスレス高バンド幅ルータ
• これでは解決しきれない課題が顕著に、、、 [Dally’s Report,06]
– 遅延の削減
• バスに比べると大きい。
– オンチップメモリへのアクセス
• 高機能ルータによる遅延が主な原因
– 電力
• プロセッサコアは省電力化、ネットワークも必要
• 詳細は本セッション内の松谷の発表にて
– CADの互換性
通信遅延
• SRC から DST へ パ
ケットが届くまでのサ
イクル数
Core
On-chip router
例) 要求を出して, パケットが届くまでに
1000-cycleかかったら使い物にならない
例えば, 1ホップ = 3サイクルとすると,
16-core mesh なら最大 21サイクル
64-core mesh なら最大 45サイクル
16-core Tile architecture
通信遅延の削減
• 通信遅延
– SRC から DST へ
パケットが届くまでの
サイクル数
Core
On-chip router
遅延を減らす2つのアプローチ
• トポロジを工夫する
– 例: Mesh  Torus
• ルータを工夫する
– パケット処理
– 例: 3サイクル 1サイクル
16-core Tile architecture
発表の流れ
• チップ内ネットワーク(Network-on-Chip: NoC)
• ルータにおけるパケット処理
– 通常のルータ, 低遅延ルータ
– 予測ルータ [吉永,SACSIS’07]
• 予測ルータを用いたチップ内ネットワークの性能解析
– 予測成功率
– 無負荷状態のネットワーク遅延
• 総合評価
– 面積, 消費エネルギー
– スループットと遅延
典型的なオンチップルータ
• 5入力5出力の WH ルータ
1ポート当り n個の入力バッファ (この図では 2系統) を持つ  仮想チャネルn本
ARBITER
X+
FIFO
X+
X-
FIFO
X-
Y+
FIFO
Y+
Y-
FIFO
Y5x5 XBAR
CORE
FIFO
CORE
[松谷,NOCS’08]
通常のルータ: 3段パイプライン
• 衝突しなければ 3 cycle でヘッダがルータを通過
– RC (Routing computation)
– VSA (Virtual channel / switch allocation)
– ST (Switch traversal)
@ROUTER A
@ROUTER B
@ROUTER C
HEAD RC VSA ST
RC VSA ST
RC VSA ST
DATA 1
ST
ST
DATA 2
ST
ST
ST
ST
DATA 3
1
2
3
4
5
順番に実行
6
ST
ST
7
8
9
ST
10
11
12
ヘッダがルータ(a)に注入され,
データ3がルータ(c)を通過するまで12サイクル
ELAPSED
TIME [CYCLE]
一般的な低遅延ルータ: 2段パイプライン
• 別アプローチ
1 –2Express
virtual channels
衝突しなければ
cycle でヘッダがルータを通過
–
–
–
–
非隣接ルータ間に仮想的なバイパス経路
RC
(Routing computation)[Kumar,ISCA’07]
隣接間通信が多いと効果が薄い
VSA + ST
(Switch allocation/ Switch traversal)
• 別アプローチ
2 – Preferred path
NRC と VSA に依存性がないので並列実行できる  2サイクル転送
– XYルーティングを想定し, パケットが直進すると予測
W. Dally, “Principles
[Michelogiannakis,NOCS’07]
– クロスバを迂回する低遅延なパス
@Router A @Router B @Router C
HEAD
RC
VSA
ST
RC
VSA
ST
2
3
4
RC
and Practices of
Interconnection
Networks” (2004)
VSA
ST
DATA 1
DATA 2
DATA 3
1
5
6
7
8
9
1-cycleルータもあるが,1ステージに詰込み過ぎ
ヘッダがルータ(a)に注入され,
データ3がルータ(c)を通過するまで9サイクル
ELAPSED
TIME [CYCLE]  動作周波数悪化
予測ルータ: Yet another 1-cycle router
[吉永,SACSIS’07]
[松谷,ARC’08]
• 予測による1サイクル転送
– どの出力ポートが使われるか予測する (RC をプレ実行)
– 予測した出力ポートでクロスバ調停を済ます (SA をプレ実行)
– 予測が正しければ ST だけ (1サイクル転送)
予測アルゴリズム: 直前ポートを使う, 直進すると予測, 履歴を使うなど
@ROUTER A
@ROUTER B
@ROUTER C
HEAD RC VSA ST
RC VSA ST
RC VSA ST
DATA 1
ST
ST
予測が当たれば, ST
RC と SA は省略
DATA 2
DATA 3
1
2
3
4
5
ST
ST
ST
6
ST
ST
7
8
9
ST
10
11
12
1ステージに処理を詰込まない;予測が70%当たれば1.6サイクル転送
ELAPSED TIME [CYCLE]
予測機構付きルータ: これまでの成果
• 予測を用いた低遅延ネットワークの提案
[吉永,SACSIS’07]
– 並列計算機ネットワーク向けにスループット評価
– 予測アルゴリズムの比較
• 予測機構付きルータアーキテクチャの提案と設計
• 予測ミス時の処理
• データパス構造
[松谷,ARC’08]
• 本研究では,予測ルータを用いたNoCを提案、評価
– 予測成功率の解析
• 100%成功した理想場合との比較
• コア数が増加した場合は?
• パケット転送遅延の最小理論値
– スループット、HW量、エネルギー
発表の流れ
• チップ内ネットワーク(Network-on-Chip: NoC)
• ルータにおけるパケット処理
– 通常のルータ, 低遅延ルータ
– 予測ルータ [吉永,SACSIS’07]
• 予測ルータを用いたチップ内ネットワークの性能解析
– 予測成功率
– 無負荷状態のネットワーク遅延
• 総合評価
– 面積, 消費エネルギー
– スループットと遅延
既存のNoC
Topology; Data
width
Switching;
VCs
Flow
control
Routing
algorithm
MIT Raw (dynamic network)
2-D mesh; 32-bit
wormhole; no VC
credit based
XY DOR
UPMC/LIP6 SPIN Micro
Network
Fat Tree; 32-bit
wormhole; no VC
credit based
up*/down* routing
UMass Amherst aSOC arch
2-D mesh
PCS; no VC
timeslot based
shortest-path
Sun UltraSparc T1 (CPX bus)
crossbar; 128-bit
N/A
handshaking
N/A
Sony, Toshiba, IBM Cell BE
EIB
ring; 128-bit
PCS; no VC
credit based
shortest-path
UT Austin TRIPS (operand
NW)
2-D mesh; 109-bit
N/A †; no VC
on/off
YX DOR
UT Austin TRIPS (OCN)
2-D mesh; 128-bit
wormhole; 4VCs
credit based
YX DOR
Intel SCC
architecture
2-D torus; 32-bit
wormhole;
no VC
stall/go
XY,YX DOR;
odd-even TM
Intel Teraflops NoC
2-D mesh; 32-bit
wormhole; 2lane
on/off
source routing ( e.g.
DOR)
Tilera TILE64 iMesh
(dynamic NW)
2-D mesh; 32-bit
wormhole; no VC
credit based
XY DOR
トポロジ:2-Dグリッド構造
ルーティング:次元順ルーティング
スイッチング技術:ワームホール方式
予測ルータ・ネットワークの性能解析
条件
• トーラストポロジ(k-ary n-cube)、次元順ルーティング
– 強い規則性を予測に利用
• ランダムトラフィック(注入レートはポアソン分布)
– 予測が難しいワーストケース
• 予測アルゴリズム
– 直前ポート予測(LP)、ランダム予測、直進予測(SS)
D
D
ルータ
リンク
S
S
ランダム予測
直進予測(SS)
1次元トーラス(奇数)における経路分布
• 1つのリンクを通過する経路数
T 1d 
k / 2 1/ 2
i
次元内ルータ数:k
直進予測(SS)の予測成功率
k / 2 1 / 2
i 1
• その中で直進する経路数
T 1ss 
k / 2 1/ 2
 (i 1)
i 1
T 1d
Pss 

T 1ss
i
i 1
k / 2 1 / 2
 (i  1)
i 1
N次元トーラスにおける経路分布(奇数)
• 2次元平面
2次元トーラス
• 3次元スタック構造
3次元トーラス
i次元入力チャネルにおける予測成功率
k / 2 1 / 2
直進予測の成功率( Pss) 
 (i  1)
i 1
k / 2 1 / 2
次元内ルータ数: k
i
次元数:
n
i 1
1 n
1
ランダム予測の成功率  
n j 1 2(n  j  1)
直前予測の成功率 Pss  (
2
TPE (i)
k n1
k / 2 1/ 2
i
i 1
n
)  2 (
2
j i 1
T (i, j )
k n1
k / 2 1/ 2
i
i 1
2
)
予測成功率
– 直進予測(SS)
– ランダム予測
(Random)
– 直前予測
(LP),SPM
予測成功率(%)
• 比較対象
コア数
ワーストケースのユニフォームトラフィックでも
80%以上の予測成功率を達成
局所性があればより高い予測成功率を達成
遅延評価: 無負荷時の通信レイテンシ
• 比較対象
–
–
–
–
オリジナルルータ (Conv)
予測ルータ(ideal) 100%的中
予測ルータ(SS) 直進予測
予測ルータ(LP) 直前予測
• 無負荷時の遅延モデル
PktSize  hd
L

LinkBW
Tlink (d  1)  (Tr  Ta  Ts )d
Tr …ルーティング遅延
Ts …スイッチ遅延
Ta …アービトレーション遅延 Tlink …リンク遅延
h
…ヘッダサイズ
d
…ホップ数
Tr  0,Ta  0,Ts  1
予測失敗時 Tr  1,Ta  1,Ts  1
予測成功時
予測成功率は解析結果を利用
遅延評価: 無負荷時の通信レイテンシ
–
–
–
–
オリジナルルータ (Conv)
予測ルータ(ideal) 100%的中
予測ルータ(SS) 直進予測
予測ルータ(LP) 直前予測
[nsec]
• 比較対象
• 評価パラメータ
トポロジ
ルーティング
パケット長
トラフィック
動作周波数
k-ary 2-cube (k=3…17)
次元順 (XY routing)
16フリット
ユニフォームランダム
通常ルータ: 470.0MHz
予測ルータ: 464.8MHz
ノード数 vs. 通信レイテンシ
予測によって, 通信遅延は 64コアで14.2%減, 289コアで23.7%減
発表の流れ
• チップ内ネットワーク(Network-on-Chip: NoC)
• ルータにおけるパケット処理
– 通常のルータ, 低遅延ルータ
– 予測ルータ [吉永,SACSIS’07]
• 予測ルータを用いたチップ内ネットワークの性能解析
– 予測成功率
– 無負荷状態のネットワーク遅延
• 総合評価
– 面積, 消費エネルギー
– スループットと遅延
スループットと遅延の評価(シミュレーション)
• 比較対象
– オリジナルルータ (Conv)
– 予測ルータ(SS) 直進予測
– 予測ルータ(Random)
– 予測ルータ(LP) 直前予測
パケットの衝突の影響が新たに含
まれる。
飽和前のNWにおける遅延を14%
削減
-14%
LU 分解、64コア
ランダム、256コア
面積と電力評価[松谷ARC08]
電力評価のフロー
1.
オリジナルルータ, 予測ルータ(stop有), 予測ルータ(stop無) をVerilog-HDLで実装
2.
各種ルータを ASPLA 90nm で合成, 配置配線 (Design Compiler / Astro)
3.
配置配線ルータにパケット負荷を与えるシミュレーションを実行 (NC-Verilog)
4.
SAIF, SDF, SPEF を読み込んで消費電力を見積もる (Power Compiler)
+57.2%
+23.4%
オリジナル
予測ルータ1
予測ルータ2
+26.2%
+8.8%
オリジナル 予測ルータ1 2
面積、エネルギーは 23.4増、8.8%増
まとめ
• チップ内ネットワーク(Network-on-Chip: NoC)
– ローカルメモリへのアクセス等の低遅延化が課題
• 予測ルータをNoCへ適用、ネットワークの性能解析
– ルータの転送遅延を最小化
– 予測成功率、ネットワーク遅延
• 総合評価(シミュレーション)
– 定常状態のネットワーク遅延を23%減
• 面積、エネルギーは 23%増、9%増
明瞭なトレードオフはあるが、低遅延NoCを達成する稀な技術
 複雑化してルータのパイプライン段数が増加
より効果大
(例:Intel 80-Core NoC: 5-cycle ルータ)