1 evgeny bolotin – efficient routing, date 2007 routing table minimization for irregular mesh nocs...
Post on 20-Dec-2015
216 views
TRANSCRIPT
1 Evgeny Bolotin – Efficient Routing, DATE 2007
Routing Table Minimization Routing Table Minimization for Irregular Mesh NoCsfor Irregular Mesh NoCs
Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny
QNoC Research GroupTechnion
Electrical Engineering Department Technion, Haifa, Israel
2 Evgeny Bolotin – Efficient Routing, DATE 2007
MotivationGeneric NoC:• Mesh Topology
Low Cost Links
• Shortest Path (SP) Static Function Routing Low Cost Router Power-Efficient Communication Low Cost Interfaces (no reordering)
Example: XY routingExample: XY routing
S
D
Module
Module Module
Module Module
Module Module
Module
Module
Module
Module
Module
Practical System Practical NoC (QNoC and others)
Custom/Irregular Low Cost
3 Evgeny Bolotin – Efficient Routing, DATE 2007
Routing in Irregular Mesh NoC
The Problem:
Simple Function (e.g. XY) is not workingSimple Function (e.g. XY) is not working
(0,0)
(2,0)
(3,2)
(1,0) (1,1)
(1,3)
(1,4) (1,5)
(2,4)
(3,3)
(0,2) (0,3) (0,5)
(3,4) (3,5)
(2,2)
Around the Block
Dead End
4 Evgeny Bolotin – Efficient Routing, DATE 2007
Traditional ApproachTraditional Irregular Routing• Distributed Routing – Tables in Routers
Output Port for All Destinations Size of Tables ~
• Source Routing – Tables in Sources List of routing tags (for each hop) for All Destinations Size of Tables ~
(0,0)
(2,0)
(3,2)
(1,0) (1,1)
(1,3)
(1,4) (1,5)
(2,4)
(3,3)
(0,2) (0,3) (0,5)
(3,4) (3,5)
(2,2)
2( )O N
2( )O N N
Large Area/Power Cost Increased Access Time
Can we do better than full routing tables?
5 Evgeny Bolotin – Efficient Routing, DATE 2007
Low Cost Routing
Solution:
1. Don’t Use Full Routing Tables (Customize) Store only relevant destinationsRouting Table Cost :
Area [gates] ≈ Sizof(Entries) + Sizof (Lookup Logic)
Power ≈ Const * Area
2. Minimize Routing Table Size:
Routing Function + Reduced Routing Table ( for deviations only)
6 Evgeny Bolotin – Efficient Routing, DATE 2007
Minimize Table Entries• Distributed Routing::
Default Function (“Go XY” or “Don’t turn”) Reduced Routing Tables (for deviations) No
Entries
Routing Entry
“Don’t Turn” – Turn-Table (TT)
No Entries Routing Entry
S0
S1
Y
Z
D “Go XY” – XY Deviations Table (XYDT)
7 Evgeny Bolotin – Efficient Routing, DATE 2007
Minimize Table Entries• Source Routing::
Default Function (“Go XY” or “Don’t turn”) Reduced routing-tag list (only for deviations)
Source Routing for Deviation Points (SRDP)
(0,0)
(2,0)
(3,2)
(1,0) (1,1)
(1,3)
(1,4) (1,5)
(2,4)
(3,3)
(0,2) (0,3) (0,5)
(3,4) (3,5)
(2,2)
Example: • Specific routers are Deviation Points• Default function routing in other routers
8 Evgeny Bolotin – Efficient Routing, DATE 2007
Path Selection Algorithms
Build Auxiliary Graph: Turns-Graph‘K’- Large Number, price of “Hop”
‘1’- Price of “Turn”
‘0’- Price of “Don’t Turn”
Apply Shortest Path (Dijkstra) on Turns-Graph:• Primary objective: minimal number of hops • Secondary objective: minimal number of turns
Shortest Path with Minimal Number of Turns:
Original Turns-Graph
9 Evgeny Bolotin – Efficient Routing, DATE 2007
Path Selection AlgorithmsTurn-Table (TT) Algorithm
TT Idea: Combine routing paths from different sources
Among all shortest paths between all S-D pairs, choose covering set of paths that minimize the total number of entries in the network Turns-Tables.Question: Is it Shortest Path with Minimal Number of Turns?
X
D
S0
S1
Y
X
D
S0
S1
Y
Scenario A Scenario B
Answer: No!
Example: Choose:•Scenario A: Green path makes 3 Turns•Scenario B: Green path makes 2 Turns
A: Green doesn’t add new entries (uses existing)
10 Evgeny Bolotin – Efficient Routing, DATE 2007
Turn-Table (TT) AlgorithmTT Algorithm (greedy) – Informal Explanation:
Iteration #1 Iteration #2
X
D
S0
S1
Y
4K+3
6K+2
2K+1
5K+1
Calc Distances
X
D
S0
S1
Y
4K+3
6K+2
5K+1
K2K+1
Choose Closest SrcCreate Path to D
X
D
S0
S1
Y
4K
6K
5K
2K
Update Distances
X
D
S0
S1
Y
Choose Closest SrcCreate Path to D
In each iteration choose a shortest path from closest Src to D, or to an already existing path to D, which adds the minimal number of turns
11 Evgeny Bolotin – Efficient Routing, DATE 2007
XY-Deviation Table (XYDT) XYDT Problem definition:Among all shortest paths between each S-D pair, select a path that minimizes number of routing steps which deviate from XY routingpolicy.
XYDT Algorithm Outline:
For each destination D:• Sort nodes according to distance from D• For nodes at same distance from D:
Among all shortest-path steps choose XY step if exists
• Repeat until paths from all sources are found
12 Evgeny Bolotin – Efficient Routing, DATE 2007
Further Minimization Tricks
• Turn-Table Routing: At source router every step is turn Default Direction at the source router
• XY-Deviation Table Routing: Save entry if XY-port is missing and routing goes YX
No Entries
Routing Entry
Router
Module
13 Evgeny Bolotin – Efficient Routing, DATE 2007
Source Routing for Deviation Points (SRDP)
(0,0)
(2,0)
(3,2)
(1,0) (1,1)
(1,3)
(1,4) (1,5)
(2,4)
(3,3)
(0,2) (0,3) (0,5)
(3,4) (3,5)
(2,2)
The Idea: Specific routers are Deviation PointsDefault function for all other routers
SRDP Algorithm Outline:
• Find paths using algorithms above• Find deviation points (DPs)• Calculate Reduced SRDP headers
14 Evgeny Bolotin – Efficient Routing, DATE 2007
Evaluation Method
• Efficient Routing Path Selection Algorithms Distributed/Source Routing “XY”/ “ Don’t Turn”
• Irregular grid Random holes insertion
• Inter-module Connections Matrix Random hotspots insertion
o Connection to hotspot (high probability)o Connection to non-hotspot (low probability)
Real examples - Video Processing Apps (MPEG, VOPD)• Compare Cost [gate count]
Tables containing relevant destination only Our method : Routing function + Table for deviations
15 Evgeny Bolotin – Efficient Routing, DATE 2007
Results - Typical NoC
Distributed Routing “Turns Table” 3X
“XY Deviations Table” 8X
Source Routing “SR Deviation Points” 2.5X
Savings in small system with high irregularity and few destinations
16 Evgeny Bolotin – Efficient Routing, DATE 2007
Results - Typical NoC
Distributed Routing “Turns Table” 3.7X
“XY Deviations Table” 34X
Source Routing “SR Deviation Points” 2X
Savings in large system with low irregularity and many destinations
17 Evgeny Bolotin – Efficient Routing, DATE 2007
Results –Video Apps
Distributed Routing “Turns Table” 4.4X
“XY Deviations Table” 40X
Source Routing “SR Deviation Points” 2.9X
Savings in video processing app. system
Routing Cost Reduction in Real Aplications
0
100
200
300
400
500
600
MPEG4 VOPD
Ro
uti
ng
Co
st [
gat
es]
DR
TT
XYDT
SR
SRDP
18 Evgeny Bolotin – Efficient Routing, DATE 2007
Scaling of Savings : DR and SR
Sav
ings
Network Size
19 Evgeny Bolotin – Efficient Routing, DATE 2007
Scaling: Source vs. Distributed Routing
•Good Scaling with Distributed Routing•Best Scaling with XYDT
Large system with low irregularity and many destinations
20 Evgeny Bolotin – Efficient Routing, DATE 2007
Summary• The Problem – Low Cost Routing In Irregular Mesh
• Idea: Combine Default Function + Reduced Deviation Tables
Distributed Routing and Source Routing
• Path Selection Algorithms
Shortest path + Minimum Total Table Entries
• Numerical Results
Significant Cost Reduction – DR(40X); SR(3X)
Scalability of Savings
Good Scalability of Distributed Routing (XYDT the best)