a polynomial time approximation scheme for timing constrained minimum cost layer assignment

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

Upload: infinity

Post on 21-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment. Shiyan Hu *, Zhuo Li**, Charles J. Alpert** *Dept of Electrical and Computer Engineering, Michigan Technological University **IBM Austin Research Lab. Outline. Motivation Problem Formulation - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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

2

Outline

MotivationMotivation Problem FormulationProblem Formulation AlgorithmAlgorithm Experimental ResultsExperimental Results ConclusionConclusion

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

3

Layer 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

4

Wire 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.7wire length

wire

del

ay

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

Resis

tanc

e

M2 M4 M6

0.00E+00

5.00E+01

1.00E+021.50E+02

2.00E+022.50E+02

Capa

cita

nce

M2 M4 M6

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

5

Impact 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

6

Impact to Routing/Buffering

IP

IP

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

7

Example: Considering Layer Assignment In Buffering

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

8

Problem 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

9

Polynomial 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

10

Algorithmic 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

11

Oracle 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

12

Dynamic 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

13

Propagating 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

14

Propagating 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

15

Oracle 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

16

Fast 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

17

Experiments

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

18

Cost Ratio Compared to DP

Approximation Ratio ɛ

Cost Ratio

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

19

Speedup Compared to DP

Approximation Ratio ɛ

Speedup

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

20

Observations

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

21

Conclusion

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

22

Thanks