1 / 29

Provably Good Global Buffering by Multiterminal Multicommodity Flow Approximation

Provably 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). Outline. Buffer-block methodology for global buffering

benard
Download Presentation

Provably Good Global Buffering by Multiterminal Multicommodity Flow Approximation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Provably 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)

  2. Outline • 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

  3. Motivation • 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

  4. Buffer-Block Methodology • Buffer-block planning[Cong+99] [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

  5. Buffer-Block Methodology

  6. Problem 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 [Dragan+00]: 2-pin nets This paper: multi-pin nets

  7. Our Contributions • Integer node-capacitated MTMCF formulation • Approximation algorithm for fractional MTMCF • Extends [GargK98,Fleischer99,Albrecht00,Dragan+00] 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

  8. Integer Program Formulation

  9. “Relax+Round” 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

  10. The -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) < min{ 1, (1+2)^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

  11. Runtime 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

  12. Implementation choices

  13. Provably 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

  14. use random walk from source to sink Random-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

  15. T3 T1 S T2 Random-Walk MTMCF Rounding SourceSinks

  16. T3 T1 S T2 Random-Walk MTMCF Rounding SourceSinks

  17. The MTMCF Rounding Heuristic • Round each net k with probability f(k), using backward random walks • No scaling-down, approximate MTMCF < OPT • Resolve capacity violations by greedily deleting routed paths • Few violations • Greedily route remaining nets using unused BB capacity • Further routing still possible

  18. Implemented 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 [Dragan+00] • 3TMCF (3-pin decomposition +-MTMCF + rounding) • 4TMCF (4-pin decomposition +-MTMCF + rounding) • MTMCF (-MTMCF w/ approximate DRST + rounding)

  19. Experimental Setup • Test instances extracted from next-generation SGI microprocessor • Up to 5,000 nets, ~6,000 sinks • U=4,000 m, L=500-2,000 m • 50 buffer blocks • 200-400 buffers / BB

  20. % Sinks Connected

  21. Runtime (sec.)

  22. % Routed Nets vs. Runtime

  23. Resource Usage #nets = 4,764 #sinks = 6,038 400 buffers/BB

  24. WL and #Buffers for 100% Completion #nets = 4,764 #sinks = 6,038 Flow-rounding wastes routing resources!

  25. Conclusions 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

  26. Combining with compaction

  27. Combining with compaction

  28. Combining with compaction • Sum-capacity constraints: cap(BB1) + cap(BB2)  const.

  29. Conclusions 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

More Related