1 evgeny bolotin – efficient routing, date 2007 routing table minimization for irregular mesh nocs...

20
1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Routing Table Minimization for Minimization for Irregular Mesh NoCs Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny QNoC Research Group Technion Electrical Engineering Department Technion, Haifa, Israel

Post on 20-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 2: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 3: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 4: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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?

Page 5: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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)

Page 6: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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)

Page 7: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 8: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 9: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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)

Page 10: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 11: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 12: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 13: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 14: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 15: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 16: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 17: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 18: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

18 Evgeny Bolotin – Efficient Routing, DATE 2007

Scaling of Savings : DR and SR

Sav

ings

Network Size

Page 19: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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

Page 20: 1 Evgeny Bolotin – Efficient Routing, DATE 2007 Routing Table Minimization for Irregular Mesh NoCs Evgeny Bolotin, Israel Cidon, Ran Ginosar, Avinoam Kolodny

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)