international conference on computer-aided design san jose, ca nov. 2001er ucla ucla 1 congestion...

22
1 International Conference on Computer-Aided Design San Jose, CA Nov. 2001 ER ER UCLA UCLA Congestion Reduction During Congestion Reduction During Placement Based on Integer Placement Based on Integer Programming Programming Xiaojian Yang Ryan Kastner Majid Sarrafzadeh Embedded and Reconfigurable System Lab Computer Science Department, UCLA

Post on 19-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

1

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Congestion Reduction During Placement Congestion Reduction During Placement Based on Integer ProgrammingBased on Integer Programming

Xiaojian Yang Ryan Kastner Majid Sarrafzadeh

Embedded and Reconfigurable System Lab

Computer Science Department, UCLA

Xiaojian Yang Ryan Kastner Majid Sarrafzadeh

Embedded and Reconfigurable System Lab

Computer Science Department, UCLA

Page 2: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

2

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

OutlineOutlineOutlineOutline

Introduction Previous Work on Congestion Integer Linear Programming(ILP) Formulation Approximation Algorithms Congestion Reduction based on ILP solution Experimental Results Conclusion

Introduction Previous Work on Congestion Integer Linear Programming(ILP) Formulation Approximation Algorithms Congestion Reduction based on ILP solution Experimental Results Conclusion

Page 3: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

3

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

IntroductionIntroductionIntroductionIntroduction

Main Goals in Placement: Minimizing Chip Area (old) Routability and Timing (modern)

Objectives/Cost for Routability Cut, Wirelength, Congestion

Why congestion? Shorter Bounding Box Better Routability Congestion models routability better

Main Goals in Placement: Minimizing Chip Area (old) Routability and Timing (modern)

Objectives/Cost for Routability Cut, Wirelength, Congestion

Why congestion? Shorter Bounding Box Better Routability Congestion models routability better

Page 4: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

4

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Previous Work on CongestionPrevious Work on CongestionPrevious Work on CongestionPrevious Work on Congestion

Mayrhofer and Lauther, ICCAD’90. Partitioning based method

Cheng, ICCAD’94 “RISA” model used in Simulated Annealing

Parakh et. al., DAC’98 Quadratic Placement combined with Area Router

Wang and Sarrafzadeh, ISPD’99, ISPD’00 Post-processing after global placement

Congestion Estimation Yang et.al, Congestion Estimation at early placement based on

Rent’s Rule Lou et. al, Congestion Estimation at late placement stages

using probabilistic analysis

Mayrhofer and Lauther, ICCAD’90. Partitioning based method

Cheng, ICCAD’94 “RISA” model used in Simulated Annealing

Parakh et. al., DAC’98 Quadratic Placement combined with Area Router

Wang and Sarrafzadeh, ISPD’99, ISPD’00 Post-processing after global placement

Congestion Estimation Yang et.al, Congestion Estimation at early placement based on

Rent’s Rule Lou et. al, Congestion Estimation at late placement stages

using probabilistic analysis

Page 5: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

5

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Our ContributionOur ContributionOur ContributionOur Contribution

Work Summary Post-processing step to reduce congestion Routing-estimation for congestion cost Reduce congestion in an enlarged area by moving

cells Our Main Contribution

Global Picture for Congestion Problem ILP based congested spot expansion to alleviate

congestion Approximation algorithm for ILP

Work Summary Post-processing step to reduce congestion Routing-estimation for congestion cost Reduce congestion in an enlarged area by moving

cells Our Main Contribution

Global Picture for Congestion Problem ILP based congested spot expansion to alleviate

congestion Approximation algorithm for ILP

Page 6: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

6

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Congestion CostCongestion CostCongestion CostCongestion Cost

Routing Estimation --- Bounding Box Model Routing Estimation --- Bounding Box Model

k-termimal nets:k-termimal nets:Net weight q(k)Net weight q(k)k-termimal nets:k-termimal nets:Net weight q(k)Net weight q(k)

k 2 3 4 5 …q(k) 1.00 1.08 1.15 1.22 …

Cheng ICCAD’94Cheng ICCAD’94Cheng ICCAD’94Cheng ICCAD’94

Page 7: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

7

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Congestion CostCongestion CostCongestion CostCongestion Cost

Routing Estimation --- Bounding Box Model Routing Estimation --- Bounding Box Model

W

H

k-termimal nets:k-termimal nets:Net weight q(k)Net weight q(k)k-termimal nets:k-termimal nets:Net weight q(k)Net weight q(k)

k 2 3 4 5 …q(k) 1.00 1.08 1.15 1.22 …

Cheng ICCAD’94Cheng ICCAD’94Cheng ICCAD’94Cheng ICCAD’94

H

kqCv

)(

W

kqCh

)(

Page 8: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

8

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Congestion CostCongestion CostCongestion CostCongestion Cost

Congestion Cost Function Congestion Cost Function

)0,( vv CapCMaxOF

2OFCCost v

vC

Bin congestion degreeBin congestion degreeBin congestion degreeBin congestion degree

vCap

Page 9: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

9

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Congested SpotCongested SpotCongested SpotCongested Spot

Identify congested spots Alleviate congestion in the expanded area

Identify congested spots Alleviate congestion in the expanded area

Page 10: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

10

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Congestion AlleviationCongestion AlleviationCongestion AlleviationCongestion Alleviation

Conflict between expanded areas How big the expanded area should be?

Conflict between expanded areas How big the expanded area should be?

Page 11: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

11

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

ProblemProblemProblemProblem

Two expansion areas for each congested spot Congestion degree after expanding Minimize the maximum congestion degree over

the entire area

Two expansion areas for each congested spot Congestion degree after expanding Minimize the maximum congestion degree over

the entire area

Page 12: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

12

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

ILP Based ApproachILP Based ApproachILP Based ApproachILP Based Approach

For congested spot k: xk=0 small expansion, xk=1 large expansion

For bin (i, j), define incremental degree

For congested spot k: xk=0 small expansion, xk=1 large expansion

For bin (i, j), define incremental degree

0

00, ijkij

Cdd

0

11, ijkij

Cdd

bin(i,j)

Page 13: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

13

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

ILP Based ApproachILP Based ApproachILP Based ApproachILP Based Approach

maxC

max1,

1

0, ))1(( CxdxdC kkij

K

kk

kijij

MinimizeMinimizeMinimizeMinimize

Subject to:Subject to:Subject to:Subject to:

}1,0{kx Kk ,...,1bin(i,j)

Page 14: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

14

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Approximation AlgorithmApproximation AlgorithmApproximation AlgorithmApproximation Algorithm

Threshold RoundingThreshold RoundingThreshold RoundingThreshold Rounding

5.0 if 1

5.0 if 0

k

kk x

xx

]1,0[kx

Solve the LPSolve the LPSolve the LPSolve the LP

Relaxation:Relaxation:Relaxation:Relaxation:

Rounding:Rounding:Rounding:Rounding:

}1,0{kx

2-approximation algorithm2-approximation algorithm2-approximation algorithm2-approximation algorithm*

lg 2CCa

Page 15: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

15

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

α-α-Approximation AlgorithmApproximation Algorithmα-α-Approximation AlgorithmApproximation Algorithm

KCBAp ))1

()1

()1

(( 23

α-approximation algorithmα-approximation algorithmα-approximation algorithmα-approximation algorithm )'(' xfp

'1

1

x

Proof:Proof:Proof:Proof:

αα =1.5 at p=0.22 =1.5 at p=0.22αα =1.5 at p=0.22 =1.5 at p=0.22

Page 16: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

16

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Congestion Reduction FlowCongestion Reduction FlowCongestion Reduction FlowCongestion Reduction Flow

Wirelength Minimization

Placement

Routing Estimation & Congested Spot

Identification

Assign two expansion areas for

each spot

Formulating and solving ILP

Local congestion reduction based on the expansion area

Finalization to a new placement

Page 17: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

17

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Experimental SetupExperimental SetupExperimental SetupExperimental Setup

Wirelength Minimization

Congestion Reduction

CircuitsCircuitsCircuitsCircuits Global Routing

(Dragon)(Dragon)(Dragon)(Dragon) (Labyrinth)(Labyrinth)(Labyrinth)(Labyrinth)

output1output1output1output1

Global Routing

output2output2output2output2

Compare:Compare:Compare:Compare: OverflowOverflowOverflowOverflow

Bounding Box WirelengthBounding Box WirelengthBounding Box WirelengthBounding Box Wirelength

Routed WirelengthRouted WirelengthRouted WirelengthRouted Wirelength

Dragon produces comparable placement with commercial toolsDragon produces comparable placement with commercial toolsDragon produces comparable placement with commercial toolsDragon produces comparable placement with commercial tools

Page 18: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

18

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Experimental ResultsExperimental ResultsExperimental ResultsExperimental Results

0

100

200300

400

500

600

700800

900

1000

ibm01 ibm02 ibm03 ibm04 ibm05 ibm06 ibm07 ibm08 ibm09 ibm10

Ove

rflo

w

Before congestion reduction after congestion reduction

Congestion reduction in placement affects routing resultCongestion reduction in placement affects routing result

Runtime: 11s—389s for circuit size 12,000 – 67,000 (Pentium 733MHz)Runtime: 11s—389s for circuit size 12,000 – 67,000 (Pentium 733MHz)

Congestion reduction in placement affects routing resultCongestion reduction in placement affects routing result

Runtime: 11s—389s for circuit size 12,000 – 67,000 (Pentium 733MHz)Runtime: 11s—389s for circuit size 12,000 – 67,000 (Pentium 733MHz)

Page 19: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

19

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Bounding Box Wire LengthBounding Box Wire LengthBounding Box Wire LengthBounding Box Wire Length

0.00%

-0.70%

0.00%0.10%

0.00%

-0.10%

0.10%

-0.10% -0.10%

1.10%

-0.008

-0.006

-0.004

-0.002

0

0.002

0.004

0.006

0.008

0.01

0.012

ibm01 Ibm02 Ibm03 Ibm04 Ibm05 Ibm06 Ibm07 Ibm08 Ibm09 ibm10

Bounding Box WL Change with Congestion Reduction

Wirelength is no longer a good measurement of routabilityWirelength is no longer a good measurement of routabilityWirelength is no longer a good measurement of routabilityWirelength is no longer a good measurement of routability

Page 20: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

20

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Routed Wire Length Routed Wire Length Routed Wire Length Routed Wire Length

-0.90%

-2.40%-1.80%

-0.70%

-9.80%

-0.90%

0.40%

-0.20%

-1.20%-0.30%

-10.00%

-8.00%

-6.00%

-4.00%

-2.00%

0.00%

2.00%

ibm01 Ibm02 Ibm03 Ibm04 Ibm05 Ibm06 Ibm07 Ibm08 Ibm09 ibm10

Routed WL Change with Congestion Reduction

Congestion models routability betterCongestion models routability betterCongestion models routability betterCongestion models routability better

Page 21: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

21

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

Experimental Results (cont’d)Experimental Results (cont’d)Experimental Results (cont’d)Experimental Results (cont’d)

Comparison between single expansion Comparison between single expansion and double expansionand double expansionComparison between single expansion Comparison between single expansion and double expansionand double expansion

circuit: ibm02circuit: ibm02circuit: ibm02circuit: ibm02

396

439

457

300 350 400 450 500

overflow

double

large single

small single

Page 22: International Conference on Computer-Aided Design San Jose, CA Nov. 2001ER UCLA UCLA 1 Congestion Reduction During Placement Based on Integer Programming

22

International Conference on Computer-Aided Design San Jose, CA Nov. 2001

ERER UCLAUCLA

SummarySummarySummarySummary

Congestion reduction as a post-processing ILP based congestion reduction control Approximation algorithms with good bound Future Work

Extend the approach using ILP instead of 0-1 ILP

Web site: http://www.cs.ucla.edu/~xjyang/iccad

Congestion reduction as a post-processing ILP based congestion reduction control Approximation algorithms with good bound Future Work

Extend the approach using ILP instead of 0-1 ILP

Web site: http://www.cs.ucla.edu/~xjyang/iccad