system level interconnect prediction (slip) 20081 sidewinder: a scalable ilp-based router jin hu,...

24
System Level Interconnect Prediction (SLIP) 2008 1 Sidewinder: Sidewinder: A Scalable ILP-Based Router A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science and Engineering University of Michigan

Upload: destiny-lupton

Post on 01-Apr-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 1

Sidewinder:Sidewinder:A Scalable ILP-Based RouterA Scalable ILP-Based Router

Jin Hu, Jarrod Roy, and Igor Markov

Dept. of Computer Science and EngineeringUniversity of Michigan

Page 2: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 2

Why is Global Routing Important?High-level

• Abstract away design rules

• Chip routing grid

• Nets set of points

• Connect net points and assign to routing edges

Low level

• Uses global routing solution

• Assigns routes to routing tracks

• Must obey design rulesMust be certain distance apart

Global RoutingGlobal Routing

Detail RoutingDetail Routing

Final solution quality heavily dependent on global routing solution

Page 3: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 3

Given:Routing grid G

with capacities

Net list N with n nets

Global Routing Problem

. . .

Net 1 Net 2 Net n

X

Y

g(x,

y)

cg(x,y)→g(x+1,y

)

cg(x,y)→g(x-

1,y)

cg(x,y)→g(x,y+

1)

cg(x,y)→g(x,y-

1)

Page 4: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 4

Objective – route all nets while minimizing: Overflow: exceeded

(violations) grid capacities

Wirelength: total routed distance of nets

(traditional goal of routers)

Bends: changes in routing direction

(additional goal due to technology scaling)

Global Routing Problem

capacity = 2

overflow = 1

wirelength = 4

bends = 2

Page 5: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 5

Directional preference on each metal layer

Bends require change in metal layers viasTungsten vs. copper or aluminumMore resistant, larger area, less reliable ISPD 2007 Routing Contest (IBM)

heavily penalizes vias: 3x more than WL

Why Minimize Bend Count?

Metal 1: Local routing (not shown)

Metal 3: Horizontal tracks

Metal 2: Vertical tracks

via

Page 6: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 6

Outline

Common routing approaches Sidewinder

MethodologyExample

Results Conclusion

Our Contributions

Page 7: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 7

Rip-up and Reroute (RRR)Route one net at a timeRip-up congested nets and

reroute in less congested areas

Routing Nets in Series

Net orderingvery important!

capacity = 2Blue BlackRed

BlueRed

Black

violationviolation

Maze Maze routeroute

Reroute with

different order

Page 8: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 8

Routing nets in Parallel

Integer Linear Programming (ILP)Considers all variables simultaneouslyFinding optimal solutions is NP-Complete

Historically unscalable but have improved ILP solver technology: CPLEX v9, v10, v11More powerful CPUs

Significant progress in ILP formulationsPrevious work: BoxRouter 1.0 [Cho DAC06]

Page 9: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 9

Sidewinder MethodologyInitial Routing

Improve?

Path Selection for ILP

yes

Final Routing

no

Generate Congestion Map

ILP Routing

• Breaks up multi-pin nets into subnets

• Routes with L-shape initially

• Calculates total congestion

• Chooses best 2 options for each net

• ILP route for new solution New solution is never worse than previous

• Repeats until no improvement

• Routes remaining nets with maze router

• Allows overflow

Page 10: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 10

Initial Routing

Decompose 3+ pin nets into 2-pin subnets

Route all subnets with only LsSome nets may be unrouted

capacity = 2

Routed Nets: Blue, Red

Unrouted Nets: Black

Net Subnet 1Net topology

Subnet 2 Subnet 3

Page 11: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 11

Generate Congestion Map

Use current solution to see congestion For each routed net, subtract 90% of usage

from total capacitiesLater account for 2nd path candidate

capacity = 2

2

2

0.2

0.2

capacity

Page 12: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 12

Path Selection

For each net, consider possible patterns

LL-shapes-shapes ZZ-shapes-shapes CC-shapes-shapes(Potential)(Potential)

Maze RouteMaze Route

Page 13: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 13

Path Selection

Use legal choices only

For each legal choice, calculate priority Pif all path segments have space

P = min(each grid edge);

else

P = -total overflow;

Use total available space for tie-breaker

Page 14: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 14

Path Selection

Path Type Priority Tiebreaker

L1 (over, up) 0.2 0.4

L2 (up, over) ILLEGAL ILLEGAL

Z1 (vertical) ILLEGAL ILLEGAL

Z2 (horizontal) ILLEGAL ILLEGAL

C1 (+1N) ILLEGAL ILLEGAL

C2 (+1S) ILLEGAL ILLEGAL

C3 (+1E) 2 8

C4 (+1W) 2 8

C5 (+1N, +1E) ILLEGAL ILLEGAL

C6 (+1S, +1W) ILLEGAL ILLEGAL

Maze 0.2 0.4

Consider all unrouted nets first: Black Path

L1 C3 C4

• Pick top 2 choices as candidates

• Update congestion map each with usage of 50%

0.2

0.2

0.2

0.2

1.5 1.5

1.5

1.5

1.5

1.5

1.5 1.5

Maze

2 2

2

2

22

2

2

Page 15: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 15

Path Selection

L1 C3 C4 Maze

0.2

0.2

1.5 1.5

1.5

1.5

1.5

1.5

1.5 1.5

Path Type Priority Tiebreaker

L1 (over, up) 0.2 0.4

L2 (up, over) ILLEGAL ILLEGAL

Z1 (vertical) ILLEGAL ILLEGAL

Z2 (horizontal) ILLEGAL ILLEGAL

C1 (+1N) ILLEGAL ILLEGAL

C2 (+1S) ILLEGAL ILLEGAL

C3 (+1E) 1.5 6

C4 (+1W) 1.5 6

C5 (+1N, +1E) ILLEGAL ILLEGAL

C6 (+1S, +1W) ILLEGAL ILLEGAL

Maze 0.2 0.4

Consider all routed nets next: Red Path

0.2

0.2

1.5 1.4

1.4

1.4

1.5

1.5

1.5 1.4

• Pick top 1 choice as candidate

• Update congestion map with usage of 10%

Page 16: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 16

Path Selection

L1 C3 C4 Maze

Path Type Priority Tiebreaker

L1 (over, up) 0.2 0.4

L2 (up, over) ILLEGAL ILLEGAL

Z1 (vertical) ILLEGAL ILLEGAL

Z2 (horizontal) ILLEGAL ILLEGAL

C1 (+1N) ILLEGAL ILLEGAL

C2 (+1S) ILLEGAL ILLEGAL

C3 (+1E) 1.4 5.8

C4 (+1W) 1.5 6

C5 (+1N, +1E) ILLEGAL ILLEGAL

C6 (+1S, +1W) ILLEGAL ILLEGAL

Maze 0.2 0.4

Consider all routed nets next: Blue Path

• Pick top 1 choice as candidate

• Update congestion map with usage of 10%

0.2

0.2

1.5 1.4

1.4

1.4

1.5

1.5

1.5 1.4

0.2

0.2

1.4 1.4

1.4

1.4

1.4

1.4

1.4 1.4

Page 17: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 17

ILP Formulation n

nnnn xwxwMaximize )( : 2211

Maximizes total number of nets routed

nnnn

nn

xxww

Nnxx

Where

2121

21

,for snet weight the: ,

netlist net each for paths 2 the: ,

:

nxx

nxx

toSubject

nn

nn

}1,0{,

1

:

21

21 Ensures at most 1 path is selected

10 ,0 ,),( )()1,(),(,

)1,(),(21

21

YjXiGjigcxxjigjigxx

jigjignn

nn

Capacity constraint in N direction

),(each for sconstraintcapacity 4 the:

x size of in cell grid the: ),(

)1,1(),( jigc

YXGjig

jigjig

YjXiGjigcxxjigjigxx

jigjignn

nn

0 ,0 ,),( )()1,(),(,

)1,(),(21

21

Capacity constraint in S direction

Capacity constraint in E direction

Capacity constraint in W direction

YjXiGjigcxxjigjigxx

jigjignn

nn

0 ,10 ,),( )(),1(),(,

),1(),(21

21

YjXiGjigcxxjigjigxx

jigjignn

nn

0 ,0 ,),( )(),1(),(,

),1(),(21

21

Page 18: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 18

Choosing the Net Weights

Objective Function

Prioritizes choices by lowest wirelengthand number of bends

Path Type +WL +bends

L-shapes 1.00 +0 +0

Z-shapes 0.99 +0 +1

C-shapes 0.98 +2/+4 +2

Maze Route 0.97 variable variable

n

nnnn xwxwMaximize )( : 2211

nw

Page 19: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 19

Iterative Improvement

Recall: for each routed net, 1 choice is from previous solutionWorst Case: New solution = Previous solution

Iterations stop when no improvement Final Routing: route all remaining nets with m

aze router (Dijkstra’s)

Every new solution is no worse than previous

Page 20: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 20

Empirical Validation (ILP Only)

ISPD98 Benchmark Suite

• Real designs from IBM

• Standard suite in global routing

• Experiments ran on AMD Opteron 2.4 GHz with 4 GB of RAM

• ILP solver: CPLEX

• Net Decomposition: FLUTE [Chu TCAD07]

Page 21: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 21

Results - Overflow

• Able to fully route 7/107/10 benchmarks

• Better than BoxRouter 1.0 [DAC06] on 8/108/10 benchmarks

Page 22: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 22

Results - Wirelength

On Average: 0.5%0.5% Less Wirelength Than BoxRouter 1.0

ibm01 ibm02 ibm03 ibm04 ibm05 ibm06 ibm07 ibm08 ibm09 ibm100.9

0.92

0.94

0.96

0.98

1

1.02

1.04

1.06

1.08

1.1

Benchmark

SidewinderBoxRouter 1.0GeoSteiner

Normalized to GeoSteiner

GeoSteiner: Steiner tree generator

• Best lower bound for WL

• No capacity restrictions (routing solutions illegal)

• Impractically slow

Page 23: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 23

Results – Bends

On Average: 6.4%6.4% Fewer Vias Than BoxRouter 1.0

ibm01 ibm02 ibm03 ibm04 ibm05 ibm06 ibm07 ibm08 ibm09 ibm100.9

0.95

1

1.05

1.1

1.15

Benchmark

SidewinderBoxRouter 1.0

Normalized to Minimum of Both Routers

Significantly fewer bends

• Vast majority of routes are patterns – L, Z, C

• Better bend count on every benchmark

Page 24: System Level Interconnect Prediction (SLIP) 20081 Sidewinder: A Scalable ILP-Based Router Jin Hu, Jarrod Roy, and Igor Markov Dept. of Computer Science

System Level Interconnect Prediction (SLIP) 2008 24

Sidewinder: Summary

Scalable global router based on ILPUses dynamically updated congestion mapFirst ILP-based router to have global scope – lo

oks at entire routing grid Produces better solution quality

Average of 0.5% less wirelengthAverage of 6.4% fewer vias