Top Banner
F.F. Dragan F.F. Dragan (Kent State) (Kent State) A.B. Kahng A.B. Kahng (UCSD) (UCSD) I. Mandoiu I. Mandoiu (Georgia Tech/UCLA) (Georgia Tech/UCLA) S. Muddu S. Muddu (Silicon Graphics) (Silicon Graphics) A. Zelikovsky A. Zelikovsky (Georgia State) (Georgia State) Provably Good Global Buffering Using an Available Buffer Block Plan
21

F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

F.F. Dragan F.F. Dragan (Kent State)(Kent State)

A.B. Kahng A.B. Kahng (UCSD)(UCSD)

I. Mandoiu I. Mandoiu (Georgia Tech/UCLA)(Georgia Tech/UCLA)

S. Muddu S. Muddu (Silicon Graphics)(Silicon Graphics)

A. Zelikovsky A. Zelikovsky (Georgia State)(Georgia State)

Provably Good Global Buffering Using an Available Buffer Block Plan

Provably Good Global Buffering Using an Available Buffer Block Plan

Page 2: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Global Buffering via Buffer Blocks

• VDSM buffer / inverter insertion for all global nets – 50nm technology 10^6 buffers

• Buffer Block (BB) methodology– isolate buffer insertion from block implementations– improve routing area resources (RAR) utilization

RAR(2k-buffer block) = RAR(k-buffer block)

For high-end designs 1.6

• Buffer block planning [Cong+99] [TangW00]

– given block placement + nets– find shape and location of BBs

• Global buffering via BBs– given nets + BB locations and capacities– find buffered routing for each net

Page 3: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Global Buffering via Buffer Blocks

Page 4: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Global Buffering Problem

Given:• Pin & BB locations, BB capacities

• list of 2-pin nets, each net has

• upper-bound on #buffers

• parity requirement on #buffers

• [non-negative weight (criticality coefficient)]

• L/U bounds on wirelength b/w consecutive buffers/pins

Find: buffered routing of a maximum [weighted] number of nets subject to the given constraints

Page 5: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Global Buffering Problem

Given:• Pin & BB locations, BB capacities

• list of 2-pin nets, each net has

• upper-bound on #buffers new

• parity requirement on #buffers new

• [non-negative weight (criticality coefficient)] new

• L/U bounds on wirelength b/w consecutive buffers/pins

Find: buffered routing of a maximum [weighted] number of nets subject to the given constraints

Previous work: 1 buffer per connection, no weights

Page 6: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Outline of Results

• Provably good algorithm for the Global Buffering Problem

– integer node-capacitated multi-commodity flow (MCF) formulation

– approximation algorithm for solving fractional relaxation

– provably good randomized rounding based on [RaghavanT87]

– allows tradeoff between run-time and solution quality

• Fast heuristic based on ideas from the approximation algorithm

• superior to simpler greedy approaches

• almost matches the provably good algorithm for loosely constrained instances

Page 7: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Integer Program Formulation

}],[:{

BlocksBuffer pins :),(Graph

ULdist(u,v)(u,v)E

VEVG

paths routing legal ofset PPppf

Vuupfts

pf

pu

Pp

}1,0{)(

)(cap)(..

)(max

oncemost at routednet each

1 set to is )(cap ,pin any For

uu

Page 8: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

High-Level Approach

• Solve fractional relaxation + rounding

– first introduced for global routing [RaghavanT87]

– fractional relaxation = node-capacitated multi-commodity flow (MCF)

• can be solved exactly using Linear Programming (LP) techniques

• exact LP algorithms are not practical for large instances

• Key idea: approximate solution to the relaxation

– we generalize edge-capacitated MCF approximation of [GargK98, F99]

– [GargK98] successfully applied to global routing by [Albrecht00]

Page 9: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Approximating the Fractional MCF

-MCF algorithmw(v) = , f = 0For i = 1 to N do For k = 1, …, #nets do Find a shortest path p P for net k While w(p) < min{ 1, (1+2)^I } do f(p)= f(p) + 1 For every v p do w(v) ( 1 + /c(v) ) * w(v) End For End While End ForEnd ForOutput f/N

Run time for -approximation = ))BBs#nets(#( 22 O

Page 10: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

• Random walk algorithm [RaghavanT87] – probability of routing a net proportional to net’s flow– probability of choosing an arc proportional to fractional

flow along arc– run time = O( #inserted buffers )– To avoid BB overuse, scale-down fractional flow by 1-

before rounding

Rounding to an Integer Solution

• Modifications• approximate MCF underestimates optimum

few violations + unused BB capacity for large • resolve capacity violations by greedily deleting paths• greedily route remaining nets using unused BB capacity

Page 11: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Implemented Heuristics• -MCF w/ greedy enhancement

– solve fractional MCF with approximation – round fractional solution via random walks– apply greedy deletion/addition to get feasible solution

• Greedy – sequentially route nets along shortest available paths

• 1-shot integer MCF– assign weight w=1 to each BB– repeat until total overused capacity does not decrease

• for each net find shortest path• for each BB r increase weight by factor (1 + usage(r) / cap(r))

– apply greedy deletion/addition to get feasible solution

Page 12: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Experimental Setup

• Test instances extracted from next-generation SGI microprocessor

• ~4,000 nets• U=4,000 m, L=500-2,000 m• 50 buffer blocks• BB capacity

– 400 (fully routable instances)– 50 (hard instances, 50-60% routable)

Page 13: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

96

98

100

.16MCF

.08MCF

.04MCF

.02MCF

.01MCF

% R

ou

ted

Net

s

w/o Greedy Addition w/ Greedy Addition

Fully Routable Instance (4212 nets)

Page 14: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Fully Routable Instance (4212 nets)

96

98

100

.16MCF

.08MCF

.04MCF

.02MCF

.01MCF

% R

ou

ted

Net

s

w/o Greedy Addition w/ Greedy Addition

Greedy

1-Shot

Page 15: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Running Time vs. Solution Quality

97

98

99

100

0 30 60 90 120

CPU Seconds

% R

ou

ted

Net

s

Greedy 1-Shot .16-MCF

Page 16: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

~57% Routable Instance (4212 nets)

52

54

56

.16 MCF .08 MCF .04 MCF .02 MCF .01 MCF

% R

ou

ted

Net

s

w/o Greedy Addition w/ Greedy Addition

Greedy

1-Shot

Page 17: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Conclusions and Ongoing Work

• Provably good algorithm based on node-capacitated MCF approximation

• Extensions:– combine global buffering with BB planning

• combine with compaction

Page 18: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Combining with compaction

Page 19: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Combining with compaction

Page 20: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Combining with compaction

• Sum-capacity constraints: cap(BB1) + cap(BB2) const.

Page 21: F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Conclusions and Ongoing Work

• Provably good algorithm based on node-capacitated MCF approximation

• Extensions:– combine global buffering with BB planning

• combine with compaction

– enforce channel capacity constraints – multi-terminal nets (ASPDAC-01)