Title: F.F. Dragan (Kent State)
1Provably Good Global Buffering by Multiterminal
Multicommodity Flow Approximation
- F.F. Dragan (Kent State)
- A.B. Kahng (UCSD)
- I. Mandoiu (UCLA)
- S. Muddu (Sanera Systems)
- A. Zelikovsky (Georgia State)
2Outline
- Buffer-block methodology for global buffering
- Global routing via buffer-blocks problem
- Integer node-capacitated multiterminal
multicommodity flow (MTMCF) formulation - Provably good approximation of fractional MTMCF
- Provably good rounding of fractional MTMCF
- Key implementation choices
- Experimental results
- Extensions conclusions
3Motivation
- VDSM ? buffer / inverter insertion for all global
nets - 50nm technology ? gt1,000,000 buffers
- Solution insert buffers only in Buffer-Blocks
(BBs) - Simplified design isolates buffer insertion from
circuit block implementations - Efficient utilization of routing/area resources
(RAR) - RAR(cap. 2k buffer-block) ? ? RAR(cap. k
buffer-block) - For high-end designs, ? ? 1.6
4Buffer-Block Methodology
- Buffer-block planning Cong99 TangW00
- given placement of circuit blocks netlist
- find shape and location of BBs within available
free space so that to maximize the number of
routable nets - Global buffering via given BBs ? This paper
- given nets BB locations and capacities
- find buffered routing for each net, subject to
timing-driven and buffer-parity constraints
5Buffer-Block Methodology
6Problem Formulation
- Global Buffering via Buffer-Blocks (GRBB) Problem
- Given
- BB locations and capacities
- list of multi-pin nets, each net has
- upper-bound parity requirement on buffers for
each source-sink path - 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
Dragan00 2-pin nets
This paper multi-pin nets
7Our Contributions
- Integer node-capacitated MTMCF formulation
- Approximation algorithm for fractional MTMCF
- Extends GargK98,Fleischer99,Albrecht00,Dragan00
to node-capacitated multiterminal case - Provably good fractional MTMCF rounding
algorithms, - Provably good algorithm for GRBB Problem
- Practical rounding heuristics based on
random-walks - Computational study comparing alternative
implementations
8Integer Program Formulation
9RelaxRound Approach
- Solve the fractional relaxation
- Relaxation node-capacitated multiterminal
multicommodity flow - Exact linear programming algorithms are
impractical for large instances - KEY IDEA use approximation algorithm
- can approximate optimum within a factor of (1-?)
for any ?gt0 - allows continuous tradeoff between runtime and
solution quality - Round to integer solution
- Provably good rounding using RaghavanT87
- Practical rounding using random-walks
10The ?-MTMCF Algorithm
- w(v) ?, f 0
- For i 1 to N do
- For k 1, , nets do
- Find min weight valid routing tree T for net
k - While w(T) lt min 1, ?(12?)i do
- f(T) f(T) 1
- For every v ? T do
- w(v) ? ( 1 ? ?(T,v)/cap(v) ) w(v)
- End For
- Find min weight valid routing tree T for
net k - End While
- End For
- End For
- Output f/N
11Runtime of ?-MTMCF Algorithm
- Main step of ?-MTMCF algorithm
- computing min node-weight valid routing tree for
a net - ? min node-weight directed rooted Steiner tree
(DRST) in a directed acyclic graph
12Implementation choices
2-Pin 3,4-pin Multi-pin
Decomposition Star, Minimum Spanning tree Matching, 3-restricted Steiner tree Not needed
Min-weight DRST Shortest path (exact) Try all Steiner pts shortest paths (exact) Very hard! ?heuristics
Rounding Random-walk Backward random-walks Backward random-walks
Dragan00 This paper This paper
13Provably Good Rounding
- Store fractional flows f(T) for every valid
routing tree T - Scale down each f(T) by 1-? for small ?
- Each net k routed with prob. f(k)? f(T) T
routing for k - Number of routed nets ? (1-? )OPT
- To route net k, choose tree T with probability
f(T) / f(k) - With high probability, no BB capacity is
exceeded - Problem Impractical to store all non-zero flow
trees
14Random-Walk 2-TMCF Rounding
- Store fractional flows f(T) for every valid
routing tree T - Scale down each f(T) by 1-? for small ?
- Each net k routed with prob. f(k)? f(T) T
routing for k - Number of routed nets ? (1-? )OPT
- To route net k, choose tree T with probability
f(T) / f(k) - With high probability, no BB capacity is
exceeded
Practical random walk requires storing only
flows on edges
15Random-Walk MTMCF Rounding
Source?Sinks
16Random-Walk MTMCF Rounding
Source?Sinks
17The MTMCF Rounding Heuristic
- Round each net k with probability f(k), using
backward random walks - No scaling-down, approximate MTMCF lt OPT
- Resolve capacity violations by greedily deleting
routed paths - Few violations
- Greedily route remaining nets using unused BB
capacity - Further routing still possible
18Implemented Heuristics
- Greedy buffered routing
- For each net, route sinks sequentially along
shortest path to source or node already connected
to source - After routing a net, remove fully used BBs
- MTMCF approximation randomized rounding
- 2TMCF Dragan00
- 3TMCF (3-pin decomposition ?-MTMCF rounding)
- 4TMCF (4-pin decomposition ?-MTMCF rounding)
- MTMCF (?-MTMCF w/ approximate DRST rounding)
19Experimental Setup
- Test instances extracted from next-generation SGI
microprocessor - Up to 5,000 nets, 6,000 sinks
- U4,000 ?m, L500-2,000 ?m
- 50 buffer blocks
- 200-400 buffers / BB
20 Sinks Connected
sinks/ nets Greed 2TMCF 2TMCF 3TMCF 3TMCF 4TMCF 4TMCF MTMCF MTMCF
sinks/ nets Greed ?.64 ?.04 ?.64 ?.04 ?.64 ?.04 ?.64 ?.04
2958/ 2396 92.2 93.8 95.5 96.2 97.8 96.6 98.3 96.7 97.4
3077/ 2438 92.3 93.9 96.5 96.4 98.5 96.9 98.8 97.6 99.3
3099/ 2784 92.1 93.6 95.5 96.4 98.0 96.6 98.1 97.3 98.7
6038/ 4764 93.5 94.8 96.8 95.7 97.6 96.5 98.4 96.3 97.7
6296/ 4925 93.6 96.2 97.6 97.0 98.6 97.7 99.1 97.7 98.4
6321/ 4938 93.3 96.2 97.5 96.8 98.4 97.7 98.9 97.7 98.2
21Runtime (sec.)
sinks/ nets Greed 2TMCF 2TMCF 3TMCF 3TMCF 4TMCF 4TMCF MTMCF MTMCF
sinks/ nets Greed ?.64 ?.04 ?.64 ?.04 ?.64 ?.04 ?.64 ?.04
2958/ 2396 .30 1.63 357 9.16 2,090 98.91 29,190 2.33 947
3077/ 2438 .33 2.35 350 11.10 2,356 128.38 37,970 2.87 846
3099/ 2784 .33 1.80 392 12.56 2,364 132.81 38,341 2.86 877
6038/ 4764 .53 2.84 600 16.57 3,166 182.55 60,450 4.98 1,866
6296/ 4925 .55 4.35 690 19.5 3,721 265.78 77,671 5.38 1,828
6321/ 4938 .54 3.37 730 18.99 3,813 255.37 79,123 5.43 1,833
22 Routed Nets vs. Runtime
23Resource Usage
Greed 2TMCF 2TMCF 3TMCF 3TMCF 4TMCF 4TMCF MTMCF MTMCF
Greed ?.64 ?.04 ?.64 ?.04 ?.64 ?.04 ?.64 ?.04
Conn. Sinks 5,645 5,725 5,842 5,779 5,896 5,827 5,942 5,813 5,897
Conn. Sinks 93.5 94.8 96.8 95.7 97.6 96.5 98.4 96.3 97.7
Wirelength (meters) 42.22 45.18 47.80 44.48 47.66 44.18 47.49 45.33 47.51
WL/sink (microns) 7,479 7,891 8,182 7,697 8,083 7,582 7,992 7,798 8,057
Buffers 9037 9,860 10,676 9,591 10,610 9,497 10,507 9,860 10,647
Buff/sink 1.60 1.72 1.83 1.66 1.80 1.63 1.77 1.70 1.81
nets 4,764 sinks 6,038 400
buffers/BB
24WL and Buffers for 100 Completion
BB Cap. Greed 2TMCF 2TMCF 3TMCF 3TMCF 4TMCF 4TMCF MTMCF MTMCF
BB Cap. Greed ?.64 ?.04 ?.64 ?.04 ?.64 ?.04 ?.64 ?.04
500 51.28 50.07 49.45 49.54
500 11,738 11,312 11,079 11,161
600 50.46 51.13 48.93 49.95 48.02 49.58 48.34 49.27
600 11,330 11,688 10,802 11,267 10,512 11,115 10,631 11,075
1000 47.89 50.59 50.76 49.05 49.93 48.01 49.98 48.28 48.27
1000 10,330 11,334 11,558 10,802 11,284 10,512 11,373 10,619 10,783
8000 47.89 50.62 50.28 48.97 51.28 48.07 51.40 48.33 48.44
8000 10,330 11,334 11340 10,794 11,788 10,503 11,803 10,619 10,625
nets 4,764 sinks 6,038
Flow-rounding wastes routing resources!
25Conclusions and Ongoing Work
- Provably good algorithms and practical heuristics
based on node-capacitated MTMCF approximation - Higher completion rates than previous algorithms
- Extensions
- Combine global buffering with BB planning
- combine with compaction
26Combining with compaction
27Combining with compaction
28Combining with compaction
- Sum-capacity constraints cap(BB1) cap(BB2) ?
const.
29Conclusions and Ongoing Work
- Provably good algorithms and practical heuristics
based on node-capacitated MTMCF approximation - Higher completion rates than previous algorithms
- Extensions
- Combine global buffering with BB planning
- combine with compaction
- Enforce channel capacity constraints
- Improved resource usage
- smart release of resources