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 ? 1,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 ?0 - 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)
- 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
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
- 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
21Runtime (sec.)
22 Routed Nets vs. Runtime
23Resource Usage
nets 4,764 sinks 6,038 400
buffers/BB
24WL and Buffers for 100 Completion
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