A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan...

22
A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical and Computer Engineering, Michigan *Dept of Electrical and Computer Engineering, Michigan Technological University Technological University **IBM Austin Research Lab **IBM Austin Research Lab

Transcript of A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan...

Page 1: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment

A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment

Shiyan Hu*, Zhuo Li**, Charles J. Alpert**Shiyan Hu*, Zhuo Li**, Charles J. Alpert**

*Dept of Electrical and Computer Engineering, Michigan Technological *Dept of Electrical and Computer Engineering, Michigan Technological UniversityUniversity

**IBM Austin Research Lab**IBM Austin Research Lab

Page 2: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

2

OutlineOutline

MotivationMotivation Problem FormulationProblem Formulation AlgorithmAlgorithm Experimental ResultsExperimental Results ConclusionConclusion

Page 3: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

3

Layer AssignmentLayer Assignment

1X

2X

4X

In 65nm/45nm technology, layer assignment In 65nm/45nm technology, layer assignment is critical for timing and buffer area is critical for timing and buffer area optimization.optimization.

Page 4: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

4

Wire RC and DelayWire RC and Delay

0

10

20

30

40

50

60

70

80

90

0.1 0.2 0.3 0.4 0.5 0.6 0.7

wire length

wir

e d

ela

y

M2M4M6

Wire in Wire in higher layer higher layer has much has much smaller delaysmaller delay

0.00E+00

5.00E-01

1.00E+00

1.50E+00

2.00E+00

Res

ista

nce

M2 M4 M6

0.00E+00

5.00E+01

1.00E+02

1.50E+02

2.00E+02

2.50E+02

Cap

acit

ance

M2 M4 M6

Page 5: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

5

Impact to BufferingImpact to Buffering

A buffer can A buffer can drive longer drive longer distance in distance in higher layer higher layer Timing is Timing is

improvedimproved Fewer buffers Fewer buffers

are neededare needed

Page 6: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

6

Impact to Routing/BufferingImpact to Routing/Buffering

IP

IP

Page 7: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

7

Example: Considering Layer Assignment In BufferingExample: Considering Layer Assignment In Buffering

Page 8: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

8

Problem FormulationProblem Formulation

GivenGiven– A Buffered Steiner A Buffered Steiner

treetree– Timing constraintTiming constraint– Wire layers with RC Wire layers with RC

parameters and parameters and costcost

Find a Find a minimal costminimal cost layer assignment such layer assignment such that the timing constraint is satisfied.that the timing constraint is satisfied.– Between any buffers, one wire layer is used. Between any buffers, one wire layer is used.

Wire tapering is not desired in practice.Wire tapering is not desired in practice.

Same Layer

Can be different layers

Page 9: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

9

Polynomial Time Approximation SchemePolynomial Time Approximation Scheme

The problem is NP-hardThe problem is NP-hard A Polynomial Time Approximation Scheme A Polynomial Time Approximation Scheme

(PTAS)(PTAS)– Provably GoodProvably Good– Within (1+ɛ) the optimal cost for any ɛ>0Within (1+ɛ) the optimal cost for any ɛ>0– Runs in time polynomial in n (nodes), m Runs in time polynomial in n (nodes), m

(layers), and 1/ɛ(layers), and 1/ɛ– Ultimate solution for an NP-hard problem in Ultimate solution for an NP-hard problem in

theorytheory– Works well in practice for layer assignment Works well in practice for layer assignment

problem problem

Page 10: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

10

Algorithmic FlowAlgorithmic Flow

Oracle (x)

Denote by W* the cost of the optimal layer Denote by W* the cost of the optimal layer assignmentassignment

Oracle (x): able to decide whether x>W* or notOracle (x): able to decide whether x>W* or not– Without knowing W*Without knowing W*– Answer efficientlyAnswer efficiently

Run a binary search on the bounds

Setup upper and lower bounds of cost W*

Page 11: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

11

Oracle Construction by Dynamic ProgrammingOracle Construction by Dynamic Programming

Oracle (x)Oracle (x)– Constructed by dynamic programming (DP)Constructed by dynamic programming (DP)– Only interested in whether there is a Only interested in whether there is a

solution with cost up to x satisfying timing solution with cost up to x satisfying timing constraintconstraint

Denote by W the maximum costDenote by W the maximum cost W=xW=x Runs in polynomial time in terms of WRuns in polynomial time in terms of W

Page 12: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

12

Dynamic ProgrammingDynamic Programming

q(v,w) is propagated toward the source

A loop starts with w=1– Propagate

q(v,w) from sinks to driver

– q(v,w): largest RAT at node v with total cost w

– Two operations Add Wire Branch

Merge Increment w.

Repeat the above process until w reaches W

Page 13: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

13

Propagating q(v,w): Add WirePropagating q(v,w): Add Wire

q(vq(v22,w) is max of ,w) is max of – q(vq(v22,w-1),w-1)– updating q(vupdating q(v11,w) by wire delay and wire cost in ,w) by wire delay and wire cost in

the same layerthe same layer

q(v1, w1)q(v2, w2)x

Page 14: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

14

Propagating q(v,w): Branch MergePropagating q(v,w): Branch Merge

q(vq(vll,w),w) q(vq(vrr,w),w)

Merge q(vMerge q(vll,w) and ,w) and q(vq(vrr,w) to get q(v,w),w) to get q(v,w)

q(v,w) is max of q(v,w) is max of – q(v,w-1)q(v,w-1)– min of q(vmin of q(vll,w) and ,w) and

q(vq(vrr,w) in the same ,w) in the same layerlayer

DP: After q is propagated to driver, w is incremented, repeat the process

until w reaches W.Runs in O(mnW2) time.

Page 15: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

15

Oracle ConstructionOracle Construction

Given any input x in Oracle(x)Given any input x in Oracle(x)– Scale and round each wire costScale and round each wire cost– DP is performed to the scaled problem with DP is performed to the scaled problem with

W=n/ɛW=n/ɛ Yes, there is a solution satisfying the Yes, there is a solution satisfying the

timing constraint. The optimal cost of the timing constraint. The optimal cost of the unscaled problem W*<(1+ɛ)xunscaled problem W*<(1+ɛ)x

No, W*>xNo, W*>x

Page 16: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

16

Fast Logarithmic Scale Binary SearchFast Logarithmic Scale Binary Search U (L): set all wires to the max (min) cost layersU (L): set all wires to the max (min) cost layers LoopLoop

– SetSet– Query Oracle(x)Query Oracle(x)– Update U or L accordingly and repeat the processUpdate U or L accordingly and repeat the process

Runs in loglogM time where M=U/LRuns in loglogM time where M=U/L The (1+The (1+ɛɛ) approximation runs in time) approximation runs in time

Oracle (x)

Run a logarithmic scale binary search

Set upper bound U and lower bound L of W*

Page 17: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

17

ExperimentsExperiments

Experiment SetupExperiment Setup– 500 buffered netlists500 buffered netlists– Compare between PTAS and Compare between PTAS and

dynamic programming (DP)dynamic programming (DP)

Page 18: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

18

Cost Ratio Compared to DPCost Ratio Compared to DP

Approximation Ratio ɛ

Cost R

atio

00.050.1

0.150.2

0.250.3

0.350.4

0.450.5

0.05 0.1 0.2 0.3 0.4 0.5

PTAS

Page 19: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

19

Speedup Compared to DPSpeedup Compared to DP

Approximation Ratio ɛ

Sp

eed

up

0

0.5

1

1.5

2

2.5

3

0.05 0.1 0.2 0.3 0.4 0.5

PTAS

Page 20: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

20

ObservationsObservations

Compare PTAS with DPCompare PTAS with DP– Larger approximation ratio larger speedup and Larger approximation ratio larger speedup and

worse solution quality (i.e., worse actual approximation worse solution quality (i.e., worse actual approximation ratio)ratio)

– As expected from theoryAs expected from theory

Page 21: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

21

ConclusionConclusion

Propose a provably good (1+ɛ) approximation Propose a provably good (1+ɛ) approximation for timing constrained minimum cost layer for timing constrained minimum cost layer assignment running in assignment running in time time– 2x speedup in experiments2x speedup in experiments– Few percent additional wire as guaranteed Few percent additional wire as guaranteed

theoreticallytheoretically Future workFuture work

– Make oracle run faster, i.e., faster DPMake oracle run faster, i.e., faster DP– Reduce time for performing binary search Reduce time for performing binary search

style oracle queries since current PTAS style oracle queries since current PTAS depends on the ratio between upper and depends on the ratio between upper and lower bounds of costlower bounds of cost

Page 22: A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

22

Thanks