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

Post on 21-Feb-2016

46 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

2

Outline

MotivationMotivation Problem FormulationProblem Formulation AlgorithmAlgorithm Experimental ResultsExperimental Results ConclusionConclusion

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.

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

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

6

Impact to Routing/Buffering

IP

IP

7

Example: Considering Layer Assignment In Buffering

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

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

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*

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

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

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

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.

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

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*

17

Experiments

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

dynamic programming (DP)dynamic programming (DP)

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

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

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

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

22

Thanks

top related