benchmarking for large-scale placement and beyond

37
Benchmarking Benchmarking for Large-Scale for Large-Scale Placement and Beyond Placement and Beyond S. N. Adya S. N. Adya , , M. C. Yildiz M. C. Yildiz , , I. L. I. L. Markov Markov , , P. G. Villarrubia P. G. Villarrubia , P. N. Parakh, , P. N. Parakh, P. H. Madden P. H. Madden

Upload: brandon-nixon

Post on 30-Dec-2015

37 views

Category:

Documents


0 download

DESCRIPTION

Benchmarking for Large-Scale Placement and Beyond. S. N. Adya , M. C. Yildiz , I. L. Markov , P. G. Villarrubia , P. N. Parakh, P. H. Madden. Outline. Motivation Why does the industry need benchmarking? Available benchmarks and placement tools Performance results Unresolved issues - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Benchmarking  for Large-Scale Placement and Beyond

Benchmarking Benchmarking for Large-Scale Placement for Large-Scale Placement

and Beyondand Beyond

S. N. AdyaS. N. Adya, , M. C. YildizM. C. Yildiz, , I. L. MarkovI. L. Markov, ,

P. G. VillarrubiaP. G. Villarrubia, P. N. Parakh, , P. N. Parakh, P. H. MaddenP. H. Madden

Page 2: Benchmarking  for Large-Scale Placement and Beyond

OutlineOutline

MotivationMotivationWhy does the industry need benchmarking?Why does the industry need benchmarking?

Available benchmarks and placement toolsAvailable benchmarks and placement toolsPerformance resultsPerformance results

Unresolved issuesUnresolved issuesBenchmarking for routabilityBenchmarking for routabilityBenchmarking for timing-driven placementBenchmarking for timing-driven placement

Public placement utilitiesPublic placement utilitiesLessons learnedLessons learned + + beyond placementbeyond placement

Page 3: Benchmarking  for Large-Scale Placement and Beyond

A True Story About BenchmarkingA True Story About Benchmarking

An undergraduate studentAn undergraduate student implements implementsan optimal B&B block packer,an optimal B&B block packer,

findsfinds min areasmin areas possible possible forfor apte & xerox,apte & xerox,compares to published results,compares to published results, finds finds an ISPD 2001 paperan ISPD 2001 paper that that reportsreports::

Floorplan areas smaller than optimalFloorplan areas smaller than optimal In two cases, In two cases, areas smaller than areas smaller than block areas block areas

More true stories in our ISPD 2003 paperMore true stories in our ISPD 2003 paper

Page 4: Benchmarking  for Large-Scale Placement and Beyond

Industrial BenchmarkingIndustrial Benchmarking

Growing size & complexity of VLSI chipsGrowing size & complexity of VLSI chipsDesign objectivesDesign objectives

Wirelength / congestion / timing / power / yieldWirelength / congestion / timing / power / yieldDesign constraintsDesign constraints

Fixed die / routability / FP constraints / Fixed die / routability / FP constraints / fixed IPs / cell orientations / pin access /fixed IPs / cell orientations / pin access /signal integrity / …signal integrity / …

Can the same algo excel in all contexts?Can the same algo excel in all contexts?Layout sophistication motivatesLayout sophistication motivates

open benchmarking for placementopen benchmarking for placement

Page 5: Benchmarking  for Large-Scale Placement and Beyond

Whitespace HandlingWhitespace Handling

Modern ASICs are laid out in fixed-die contextModern ASICs are laid out in fixed-die context Layout area, routing tracks, power lines, etcLayout area, routing tracks, power lines, etc

are fixed before placementare fixed before placement Area minimization is irrelevant (Area minimization is irrelevant (area is fixedarea is fixed)) New phenomenon: whitespaceNew phenomenon: whitespace Row utilizationRow utilization %% = = densitydensity % % = = 100% - whitespace100% - whitespace % %

How does one distribute whitespace ?How does one distribute whitespace ? Pack all cells to the left [Feng Shui, mPL]Pack all cells to the left [Feng Shui, mPL]

All whitespace is on the rightAll whitespace is on the right Typical for variable-die placersTypical for variable-die placers

Distribute uniformly [Capo, Kraftwerk]Distribute uniformly [Capo, Kraftwerk] Allocate whitespace to congested regions [Dragon]Allocate whitespace to congested regions [Dragon]

Page 6: Benchmarking  for Large-Scale Placement and Beyond
Page 7: Benchmarking  for Large-Scale Placement and Beyond

Design TypesDesign Types ASICASICss

Lots of fixed I/Os, few macros, millions of standard cellsLots of fixed I/Os, few macros, millions of standard cells Placement densities : 40-80% (IBM)Placement densities : 40-80% (IBM) Flat and hierarchical designsFlat and hierarchical designs

SoCSoCss Many more macro blocks, coresMany more macro blocks, cores Datapaths + control logicDatapaths + control logic Can have very low placement densities : < 20%Can have very low placement densities : < 20%

Micro-Processor (Micro-Processor (PP) Random Logic Macros() Random Logic Macros(RLMRLM)) Hierarchical partitions are placement instances (5-30K)Hierarchical partitions are placement instances (5-30K) High placement densities : 80%-98% (low whitespace)High placement densities : 80%-98% (low whitespace) Many fixed I/Os, relatively few standard cellsMany fixed I/Os, relatively few standard cells Recall “Partitioning w Terminals” DAC`99, ISPD `99, ASPDAC`00

Page 8: Benchmarking  for Large-Scale Placement and Beyond

IBM PowerPC 601 chip IBM PowerPC 601 chip

Page 9: Benchmarking  for Large-Scale Placement and Beyond

Intel Centrino chipIntel Centrino chip

Page 10: Benchmarking  for Large-Scale Placement and Beyond

Requirements for Placers (1)Requirements for Placers (1)Must handle 4-10M cells, 1000s macros

64 bits + near-linear asymptotic complexityScalable/compact design database (OpenAccess)

Accept fixed ports/pads/pins + fixed cellsPlace macros, esp. with var. aspect ratios

Non-trivial heights and widths(e.g., height=2rows)

Honor targets and limits for net lengthRespect floorplan constraintsHandle a wide range of placement densities

(from <25% to 100% occupied), ICCAD `02

Page 11: Benchmarking  for Large-Scale Placement and Beyond

Requirements for Placers (2)Requirements for Placers (2)

Add / delete filler cells and Nwell contacts Ignore clock connections ECO placement

Fix overlaps after logic restructuringPlace a small number of unplaced blocks

Datapath planning services E.g., for cores

Provide placement dialog servicesto enable cooperation across toolsE.g., between placement and synthesis

Page 12: Benchmarking  for Large-Scale Placement and Beyond

Why Worry About Benchmarking?Why Worry About Benchmarking?

Variety of conflicting objectivesVariety of conflicting objectivesMultitude of Multitude of layout features / constraintslayout features / constraints

No single algorithm finds best placementsNo single algorithm finds best placementsfor all design problems (yet?)for all design problems (yet?)

Need independent evaluationNeed independent evaluationNeed a set of common placement BM’s with Need a set of common placement BM’s with

features of interest (e.g., IBM-Floorplacement)features of interest (e.g., IBM-Floorplacement)Need to know / understand how algorithms Need to know / understand how algorithms

behave over the entire design spacebehave over the entire design space

Page 13: Benchmarking  for Large-Scale Placement and Beyond

Available Placement BM’sAvailable Placement BM’s MCNCMCNC

Small and outdated (routing channels between rows, etc)Small and outdated (routing channels between rows, etc) IBM-Place / IBM-DragonIBM-Place / IBM-Dragon (ste 1 & 2) - UCLA (ICCAD `00) (ste 1 & 2) - UCLA (ICCAD `00)

Derived from ISPD98-IBM partitioning suite. Macros removed.Derived from ISPD98-IBM partitioning suite. Macros removed. IBM Floor-placement IBM Floor-placement – Michigan (– Michigan (ISPD ‘02ISPD ‘02))

Derived from same IBM circuits. Nothing removed.Derived from same IBM circuits. Nothing removed. PEKOPEKO – UCLA ( – UCLA (DAC ‘95, ASPDAC ‘03, ISPD ‘03DAC ‘95, ASPDAC ‘03, ISPD ‘03))

Artificial netlists with known optimal wirelength; Artificial netlists with known optimal wirelength; up to 2M cellsup to 2M cells No global wiresNo global wires

Standardized gridsStandardized grids – Michigan – Michigan Created to model data-paths during placementCreated to model data-paths during placement Easy to visualize, optimal placements are obviousEasy to visualize, optimal placements are obvious

Vertical benchmarksVertical benchmarks - CMU - CMU Multiple representations (PicoJava, Piperench, CMUDSP)Multiple representations (PicoJava, Piperench, CMUDSP) Have Have somesome timing info, but not enough to evaluate timing timing info, but not enough to evaluate timing

Page 14: Benchmarking  for Large-Scale Placement and Beyond

Academic Placers We UsedAcademic Placers We Used Kraftwerk Nov 2002 (no major changes since DAC98)Kraftwerk Nov 2002 (no major changes since DAC98)

Eisenmann and Johannes (TU Munch)Eisenmann and Johannes (TU Munch) Force-directed (analytical) placerForce-directed (analytical) placer

Capo 8.5 / 8.6 (Apr / Nov 2002) Capo 8.5 / 8.6 (Apr / Nov 2002) Adya, Caldwell, Kahng and Markov (UCLA and Michigan)Adya, Caldwell, Kahng and Markov (UCLA and Michigan) Recursive min-cut bisection (built-in partitioner MLPart)Recursive min-cut bisection (built-in partitioner MLPart)

Dragon 2.20 / 2.23 (Sept / Feb 2003) Dragon 2.20 / 2.23 (Sept / Feb 2003) Choi, Sarrafzadeh, Yang and Wang (Northwestern and UCLA)Choi, Sarrafzadeh, Yang and Wang (Northwestern and UCLA) Min-cut multi-way partitioning (hMetis) & simulated annealingMin-cut multi-way partitioning (hMetis) & simulated annealing

FengShui 1.2 / 1.6 / 2.0 (Fall 2000 / Feb 2003)FengShui 1.2 / 1.6 / 2.0 (Fall 2000 / Feb 2003) Madden and Yildiz (SUNY Binghamton)Madden and Yildiz (SUNY Binghamton) Recursive min-cut multi-way partitioning (hMetis + built-in)Recursive min-cut multi-way partitioning (hMetis + built-in)

mPL 1.2 / 1.2b (Nov 2002 / Feb 2003)mPL 1.2 / 1.2b (Nov 2002 / Feb 2003) Chan, Cong, Shinnerl and Sze (UCLA)Chan, Cong, Shinnerl and Sze (UCLA) Multi-level enumeration-based placerMulti-level enumeration-based placer

Page 15: Benchmarking  for Large-Scale Placement and Beyond

Features Supported by PlacersFeatures Supported by Placers

Page 16: Benchmarking  for Large-Scale Placement and Beyond

Performance on Available BM’sPerformance on Available BM’s

Our objectives and goalsOur objectives and goalsPerform first-ever comprehensive evaluationPerform first-ever comprehensive evaluationSeek trends and anomaliesSeek trends and anomaliesEvaluate robustness of different placersEvaluate robustness of different placers

One does not expect a clear winnerOne does not expect a clear winnerMinor obstacles and potential pitfallsMinor obstacles and potential pitfalls

Not all placers are open-source / publicNot all placers are open-source / publicNot all placers support the Bookshelf formatNot all placers support the Bookshelf format

Most doMost doMust be careful with converters (!)Must be careful with converters (!)

Page 17: Benchmarking  for Large-Scale Placement and Beyond

PEKO BMs (ASPDAC 03)PEKO BMs (ASPDAC 03)

Page 18: Benchmarking  for Large-Scale Placement and Beyond

Cadence-Capo BMs (DAC 2000)Cadence-Capo BMs (DAC 2000)

II – failure to read input; – failure to read input; aa – abort – abortococ – out-of-core cells; – out-of-core cells; // - in variable-die mode - in variable-die modeFeng ShuiFeng Shui – similar to Dragon, – similar to Dragon, better on test1better on test1

Page 19: Benchmarking  for Large-Scale Placement and Beyond

Results : GridsResults : Grids Unique optimal solution

Page 20: Benchmarking  for Large-Scale Placement and Beyond

Relative PerformanceRelative Performance

Feng Shui 1.6 / 2.0 improves upon FS 1.2Feng Shui 1.6 / 2.0 improves upon FS 1.2

?

Page 21: Benchmarking  for Large-Scale Placement and Beyond

Placers Do Well on Benchmarks Placers Do Well on Benchmarks Published By the Same GroupPublished By the Same Group

Observe thatObserve thatCapoCapo does well on does well on Cadence-CapoCadence-CapoDragonDragon does well on does well on IBM-Place (IBM-Dragon)IBM-Place (IBM-Dragon)Not in the table: Not in the table: FengShuiFengShui does well on does well on MCNCMCNCmPLmPL does well on does well on PEKOPEKO

This is hardly a coincidenceThis is hardly a coincidenceMotivation for more / better benchmarksMotivation for more / better benchmarks

Page 22: Benchmarking  for Large-Scale Placement and Beyond

Benchmarking Benchmarking for Routability of Placementsfor Routability of Placements

Placer tuning also explains routability resultsPlacer tuning also explains routability results Dragon performs well on the IBM-Dragon suiteDragon performs well on the IBM-Dragon suite Capo performs well on the Cadence-Capo suiteCapo performs well on the Cadence-Capo suite Routability on one set does not guarantee muchRoutability on one set does not guarantee much

Need accurate / common routability metricsNeed accurate / common routability metrics … … and shared implementations (binaries, source code)and shared implementations (binaries, source code)

Related benchmarking issuesRelated benchmarking issues No good public benchmarks for routing !No good public benchmarks for routing ! Routability may conflict with timing / power optimizationsRoutability may conflict with timing / power optimizations

Page 23: Benchmarking  for Large-Scale Placement and Beyond

Simple Congestion MetricsSimple Congestion Metrics

HHorizontal vs. orizontal vs. VVertical wirelengthertical wirelength HPWL = WLHPWL = WLHH+WL+WLVV

Two placements with same HPWLTwo placements with same HPWLmay have very different may have very different WLWLHH and and WLWLVV

Think of preferred-direction routing & odd #layersThink of preferred-direction routing & odd #layers

Probabilistic congestion mapsProbabilistic congestion maps Bhatia et al – DAC 02Bhatia et al – DAC 02 Lou et al - ISPD 00, TCAD 01Lou et al - ISPD 00, TCAD 01 Carothers & Kusnadi – ISPD 99`Carothers & Kusnadi – ISPD 99`

Page 24: Benchmarking  for Large-Scale Placement and Beyond

Horizontal vs. Vertical WLHorizontal vs. Vertical WL

Page 25: Benchmarking  for Large-Scale Placement and Beyond

Probabilistic Congestion MapsProbabilistic Congestion Maps

Page 26: Benchmarking  for Large-Scale Placement and Beyond

Metric: Run a RouterMetric: Run a Router

GlobalGlobal or or Global + detailGlobal + detail??Local effects (design rules, cell libraries)Local effects (design rules, cell libraries)

may affect results too much may affect results too much ““noise” in global placement (for 2M cells) ?noise” in global placement (for 2M cells) ?

Open-sourceOpen-source or or IndustrialIndustrial??Tunable? Easy to integrate?Tunable? Easy to integrate?Saves global routing information?Saves global routing information?

Publicly available routersPublicly available routersLabyrinth from UCLALabyrinth from UCLAForce-directed router from UCBForce-directed router from UCB

Page 27: Benchmarking  for Large-Scale Placement and Beyond

Placement UtilitiesPlacement Utilities

http://vlsicad.eecs.umich.edu/BK/PlaceUtils/http://vlsicad.eecs.umich.edu/BK/PlaceUtils/ Accept input in the GSRC Bookshelf formatAccept input in the GSRC Bookshelf format Format convertersFormat converters

LEF/DEF LEF/DEF Bookshelf Bookshelf Bookshelf Bookshelf Kraftwerk Kraftwerk BLIF(SIS) BLIF(SIS) Bookshelf Bookshelf

Evaluators, checkers, Evaluators, checkers, postprocessors and plotterspostprocessors and plotters Contributions in these categories are esp. welcomeContributions in these categories are esp. welcome

Page 28: Benchmarking  for Large-Scale Placement and Beyond
Page 29: Benchmarking  for Large-Scale Placement and Beyond

Placement Utilities (cont’d)Placement Utilities (cont’d)Wirelength CalculatorWirelength Calculator (HPWL) (HPWL)

Independent evaluation of placement resultsIndependent evaluation of placement resultsPlacement PlotterPlacement Plotter

Saves gnuplot scripts (Saves gnuplot scripts ( .eps, .gif, …) .eps, .gif, …)Multiple views (cells only, cells+nets, rows,…)Multiple views (cells only, cells+nets, rows,…)Used earlier in this presentationUsed earlier in this presentation

Probabilistic Congestion MapsProbabilistic Congestion Maps (Lou et al.) (Lou et al.)GnuplotGnuplot scripts scriptsMatlabMatlab scripts scripts

better graphics, including 3-d fly-by viewsbetter graphics, including 3-d fly-by views .xpm files (.xpm files ( .gif, .jpg, .eps, …) .gif, .jpg, .eps, …)

Page 30: Benchmarking  for Large-Scale Placement and Beyond

Placement Utilities (cont’d)Placement Utilities (cont’d)Legality checkerLegality checkerSimple legalizerSimple legalizerLayout GeneratorLayout Generator

Given a netlist, creates a row structureGiven a netlist, creates a row structureTunable %whitespace, aspect ratio, etcTunable %whitespace, aspect ratio, etc

All available in binaries/PERL atAll available in binaries/PERL athttp://http://vlsicad.eecs.umich.edu/BK/PlaceUtilsvlsicad.eecs.umich.edu/BK/PlaceUtils//

Most source codes are shipped w CapoMost source codes are shipped w CapoYour contributions are welcomeYour contributions are welcome

Page 31: Benchmarking  for Large-Scale Placement and Beyond

Challenges for Evaluating Challenges for Evaluating Timing-Driven OptimizationsTiming-Driven Optimizations

QOR not defined clearlyQOR not defined clearly Max path-length? Worst set-up slack?Max path-length? Worst set-up slack? With false paths or without?...With false paths or without?...

Evaluation methods are not replicable (often shady)Evaluation methods are not replicable (often shady) Questionable delay models, technology paramsQuestionable delay models, technology params Net topology generators (MST, single-trunk Steiner trees)Net topology generators (MST, single-trunk Steiner trees) Inconsistent results: Inconsistent results: path delays < path delays < gate delays gate delays

Public benchmarks?...Public benchmarks?... Anecdote: TD-place benchmarks in Verilog (ISPD `01)Anecdote: TD-place benchmarks in Verilog (ISPD `01) Companies guard netlists, technology parametersCompanies guard netlists, technology parameters Cell librariesCell libraries; area constraints; area constraints

Page 32: Benchmarking  for Large-Scale Placement and Beyond

Metrics for Timing + ReportingMetrics for Timing + Reporting

STA non-trivial: STA non-trivial: use use PrimeTimePrimeTime or or PKSPKS Distinguish between optimization and evaluationDistinguish between optimization and evaluation

Evaluate setup-slack using commercial tools Evaluate setup-slack using commercial tools Optimize individual nets and/or pathsOptimize individual nets and/or paths

E.g., net-length versus allocated budgetsE.g., net-length versus allocated budgets

Report Report allall relevant data relevant data How was the total wirelength affected?How was the total wirelength affected? Were per-net and per-path optimizations successful?Were per-net and per-path optimizations successful? Did that improve worst slackDid that improve worst slack or did something else? or did something else?

Huge slack improvements reported in some 1990s papers,Huge slack improvements reported in some 1990s papers,but wire delays were much smaller than gate delaysbut wire delays were much smaller than gate delays

Page 33: Benchmarking  for Large-Scale Placement and Beyond

LocalLocal circuit tweaks improve worst circuit tweaks improve worst slackslack

How do global placement changes affect How do global placement changes affect slack, when followed by sizing, buffering…? slack, when followed by sizing, buffering…?

Impact of Physical SynthesisImpact of Physical Synthesis

Slack (TNS)

Initial Sized Buffered

89689 -5.87 (-10223) -5.08 (-9955)D2 -3.14 (-5497)

99652 -6.35 (-8086) -5.26 (-5287)D3 -4.68 (-2370)

687946 -8.95 (-4049) - 8.80 (-3910)D5 -6.40 (-3684)

22253 -2.75 (-508) -2.17 (-512)D1 -0.72 (-21)

# Inst

147955 -7.06 (-7126) -5.16 (-1568)D4 -4.14 (-1266)

Page 34: Benchmarking  for Large-Scale Placement and Beyond

Benchmarking Needs for Timing Opt.Benchmarking Needs for Timing Opt.

A common, reusable STA methodologyA common, reusable STA methodology PrimeTime or PKSPrimeTime or PKS High-quality, open-source infrastructure High-quality, open-source infrastructure (funding?)(funding?)

Metrics validated against phys. synthesisMetrics validated against phys. synthesis The simpler the better, The simpler the better, but must be good predictorsbut must be good predictors

Benchmarks with sufficient infoBenchmarks with sufficient info Flat gate-level netlistsFlat gate-level netlists Library information ( < 250nm )Library information ( < 250nm ) Realistic timing & area constraintsRealistic timing & area constraints

Page 35: Benchmarking  for Large-Scale Placement and Beyond

Beyond Placement (Lessons)Beyond Placement (Lessons)

Evaluation methods for BMs must be explicitEvaluation methods for BMs must be explicit Prevent user errors (no TD-place BMs in Verilog)Prevent user errors (no TD-place BMs in Verilog) Try to use open-source evaluators to verify resultsTry to use open-source evaluators to verify results

Visualization Visualization is important (sanity checks)is important (sanity checks) Regression-testingRegression-testing after bugfixes is important after bugfixes is important Need more Need more open-source toolsopen-source tools

Complete descriptions of algos lower barriers to entryComplete descriptions of algos lower barriers to entry

Need Need benchmarks with more informationbenchmarks with more information Use artificial benchmarks with careUse artificial benchmarks with care

Huge gaps in benchmarking for routersHuge gaps in benchmarking for routers

Page 36: Benchmarking  for Large-Scale Placement and Beyond

Beyond Placement (cont’d)Beyond Placement (cont’d)

Need Need common evaluatorscommon evaluators of delay / power of delay / powerTo avoid inconsistent resultsTo avoid inconsistent results

Relevant initiatives from Si2Relevant initiatives from Si2OLA (Open Library Architecture)OLA (Open Library Architecture)OpenAccess OpenAccess For more info, see For more info, see http://www.si2.orghttp://www.si2.org

Still: no reliable public STA toolStill: no reliable public STA toolSought: OA-based utilities for timing/layoutSought: OA-based utilities for timing/layout

Page 37: Benchmarking  for Large-Scale Placement and Beyond

AcknowledgementsAcknowledgements

Funding: Funding: GSRCGSRC (MARCO, SIA, DARPA) (MARCO, SIA, DARPA) Funding: Funding: IBMIBM (2x) (2x) Equipment grants: Equipment grants: IntelIntel (2x) and (2x) and IBMIBM Thanks for help and commentsThanks for help and comments

Frank JohannesFrank Johannes (TU Munich) (TU Munich) Jason Cong, Joe Shinnerl, Min XieJason Cong, Joe Shinnerl, Min Xie (UCLA) (UCLA) Andrew KahngAndrew Kahng (UCSD) (UCSD) Xiaojian YangXiaojian Yang (Synplicity) (Synplicity)