32
METRICS: A System Architecture for Design Process Optimization Andrew B. Kahng and Stefanus Mantik* UCSD CSE Dept., La Jolla, CA *UCLA CS Dept., Los Angeles, CA

METRICS: A System Architecture for Design Process Optimization

Embed Size (px)

DESCRIPTION

METRICS: A System Architecture for Design Process Optimization. Andrew B. Kahng and Stefanus Mantik* UCSD CSE Dept., La Jolla, CA *UCLA CS Dept., Los Angeles, CA. Motivations. How do we improve design productivity ? - PowerPoint PPT Presentation

Citation preview

Page 1: METRICS: A System Architecture for Design Process Optimization

METRICS:A System Architecture for Design Process Optimization

METRICS:A System Architecture for Design Process Optimization

Andrew B. Kahng and Stefanus Mantik*

UCSD CSE Dept., La Jolla, CA

*UCLA CS Dept., Los Angeles, CA

Page 2: METRICS: A System Architecture for Design Process Optimization

MotivationsMotivations

How do we improve design productivity ?

Does our design technology / capability yield better productivity than it did last year ?

How do we formally capture best known methods, and how do we identify them in the first place ?

Does our design environment support continuous improvement of the design process ?

Does our design environment support what-if / exploratory design ? Does it have early predictors of success / failure?

Currently, there are no standards or infrastructure for measuring and recording the semiconductor design process

Page 3: METRICS: A System Architecture for Design Process Optimization

Purpose of METRICSPurpose of METRICS

Standard infrastructure for the collection and the storage of design process information

Standard list of design metrics and process metrics

Analyses and reports that are useful for design process optimization

METRICS allows: Collect, Data-Mine, Measure, Diagnose, then Improve

Page 4: METRICS: A System Architecture for Design Process Optimization

Related WorksRelated Works

OxSigen LLC (Siemens 97-99)

Enterprise- and project-level metrics (“normalized transistors”) Numetrics Management Systems DPMS

Other in-house data collection systems e.g., TI (DAC 96 BOF)

Web-based design support IPSymphony, WELD, VELA, etc.

E-commerce infrastructure Toolwire, iAxess, etc.

Continuous process improvement

Data mining and visualization

Page 5: METRICS: A System Architecture for Design Process Optimization

OutlineOutline

Data collection process and potential benefits

METRICS system architecture

METRICS standards

Current implementation

Issues and conclusions

Page 6: METRICS: A System Architecture for Design Process Optimization

Potential Data Collection/DiagnosesPotential Data Collection/Diagnoses

What happened within the tool as it ran? what was CPU/memory/solution quality? what were the key attributes of the instance? what iterations/branches were made, under what conditions?

What else was occurring in the project? spec revisions, constraint and netlist changes, …

User performs same operation repeatedly with nearly identical inputs tool is not acting as expected solution quality is poor, and knobs are being twiddled

Page 7: METRICS: A System Architecture for Design Process Optimization

BenefitsBenefits

Benefits for project management accurate resource prediction at any point in design

cycle up front estimates for people, time, technology, EDA

licenses, IP re-use... accurate project post-mortems

everything tracked - tools, flows, users, notes no “loose”, random data left at project end

management console web-based, status-at-a-glance of tools, designs and

systems at any point in project

Benefits for tool R&D feedback on the tool usage and parameters used improve benchmarking

Page 8: METRICS: A System Architecture for Design Process Optimization

OutlineOutline

Data collection process and potential benefits

METRICS system architecture

METRICS standards

Current implementation

Issues and conclusions

Page 9: METRICS: A System Architecture for Design Process Optimization

METRICS System ArchitectureMETRICS System Architecture

Inter/Intra-net

DBMetrics Data Warehouse

WebServer

JavaApplets

DataMining

Reporting

Transmitter Transmitterwrapper

Tool Tool Tool

TransmitterAPI

XML

Page 10: METRICS: A System Architecture for Design Process Optimization

METRICS PerformanceMETRICS Performance

Transmitter low CPU overhead

multi-threads / processes – non-blocking scheme buffering – reduce number of transmissions

small memory footprint limited buffer size

Reporting web-based

platform and location independent dynamic report generation

always up-to-date

Page 11: METRICS: A System Architecture for Design Process Optimization

Example ReportsExample Reports

hen 95%

rat 1% bull 2%

donkey 2%

% aborted per machine

% aborted per task

BA 8%

ATPG 22%

synthesis 20%

physical18%

postSyntTA13%

placedTA7%

funcSim7%

LVS 5%

LVS convergencetime

0 100 200 300 400 500 600

LVS

%

88

90

92

94

96

98

100

Page 12: METRICS: A System Architecture for Design Process Optimization

Current ResultsCurrent Results

CPU_TIME = 12 + 0.027 NUM_CELLS (corr = 0.93)

More plots are accessible at http://xenon.cs.ucla.edu:8080/metrics

Page 13: METRICS: A System Architecture for Design Process Optimization

OutlineOutline

Data collection process and potential benefits

METRICS system architecture

METRICS standards

Current implementation

Issues and conclusions

Page 14: METRICS: A System Architecture for Design Process Optimization

METRICS StandardsMETRICS Standards

Standard metrics naming across tools same name same meaning, independent of tool

supplier generic metrics and tool-specific metrics no more ad hoc, incomparable log files

Standard schema for metrics database

Standard middleware for database interface

For complete current lists see:

http://vlsicad.cs.ucla.edu/GSRC/METRICS

Page 15: METRICS: A System Architecture for Design Process Optimization

Generic and Specific Tool MetricsGeneric and Specific Tool Metrics

tool_name stringtool_version stringtool_vendor stringcompiled_date mm/dd/yyyystart_time hh:mm:ssend_time hh:mm:sstool_user stringhost_name stringhost_id stringcpu_type stringos_name stringos_version stringcpu_time hh:mm:ss

Generic Tool Metricsnum_cells integernum_nets integerlayout_size doublerow_utilization doublewirelength doubleweighted_wl double

num_layers integernum_violations integernum_vias integerwirelength doublewrong-way_wl doublemax_congestion double

Placement Tool Metrics

Routing Tool Metrics

Partial list of metrics now being collected in Oracle8i

Page 16: METRICS: A System Architecture for Design Process Optimization

OutlineOutline

Data collection process and potential benefits

METRICS system architecture

METRICS standards

Current implementation

Issues and conclusions

Page 17: METRICS: A System Architecture for Design Process Optimization

Testbed I: Metricized P&R FlowTestbed I: Metricized P&R Flow

Placed DEF

QP ECO

Legal DEF

CongestionMap

WRoute

Capo Placer

Routed DEF

CongestionAnalysis

Incr. WRoute

Final DEF

METRICS

LEF

DEF

Page 18: METRICS: A System Architecture for Design Process Optimization

Testbed II: Metricized Cadence SLC FlowTestbed II: Metricized Cadence SLC Flow

DEF

Placed DEF

QP

Pearl

METRICS

QP Opt

CTGen

Incr.

Routed DEF

WRoute

Optimized DEF

LEFGCF,TLF

Clocked DEFConstraints

Page 19: METRICS: A System Architecture for Design Process Optimization

OutlineOutline

Data collection process and potential benefits

METRICS system architecture

METRICS standards

Current implementation

Issues and conclusions

Page 20: METRICS: A System Architecture for Design Process Optimization

ConclusionsConclusions

Current status complete prototype of METRICS system with Oracle8i, Java

Servlet, XML parser, and transmittal API library in C++ METRICS wrapper for Cadence and Cadence-UCLA flows,

front-end tools (Ambit BuildGates and NCSim) easiest proof of value: via use of regression suites

Issues for METRICS constituencies to solve security: proprietary and confidential information standardization: flow, terminology, data management, etc. social: “big brother”, collection of social metrics, etc.

Ongoing work with EDA, designer communities to identify tool metrics of interest users: metrics needed for design process insight,

optimization vendors: implementation of the metrics requested, with

standardized naming / semantics

Page 21: METRICS: A System Architecture for Design Process Optimization

http://vlsicad.cs.ucla.edu/GSRC/METRICS

Page 22: METRICS: A System Architecture for Design Process Optimization

Status of METRICS SystemStatus of METRICS System

Current working METRICS systems are installed within Intel and Cadence

METRICS system works properly inside a laptop

Page 23: METRICS: A System Architecture for Design Process Optimization

Flow MetricsFlow Metrics

Tool metrics alone are not enough Design process consists of more than one tools One tool is run multiple times Design quality depends on the design flow and

methodology (the order of the tools and the iteration within the flow)

Flow definition Directed graph G (V,E), V T { S, F }, T { T1, T2, T3,

…, Tn } (a set of tasks), S starting node, F ending node, E { Es1, E11, E12, …, Exy } (a set of edges)

Exy x < y forward path x = y self-loop x > y backward path

Page 24: METRICS: A System Architecture for Design Process Optimization

Flow ExampleFlow Example

S

T1

T2

T3

T4

F

Optional task

Task sequence: T1, T2, T1, T2, T3, T3, T3, T4, T2, T1, T2, T4

S

T1

T2

F

T1

T2

T3 T3 T3

T4

T2

T1

T2

T4

Page 25: METRICS: A System Architecture for Design Process Optimization

Flow TrackingFlow Tracking

Run Current FLOW_SEQUENCENo Task T1 T2 T3 T41 T1 1 - - - 12 T2 1 1 - - 1/13 T1 2 - - - 24 T2 2 1 - - 2/15 T3 2 1 1 - 2/1/16 T3 2 1 2 - 2/1/27 T3 2 1 3 - 2/1/38 T4 2 1 3 1 2/1/3/19 T2 2 2 - - 2/210 T1 3 - - - 311 T2 3 1 - - 3/112 T4 3 1 - 1 3/1/0/1

TASK_NOS

T1

T2

F

T1

T2

T3 T3 T3

T4

T2

T1

T2

T4

Task sequence: T1, T2, T1, T2, T3, T3, T3, T4, T2, T1, T2, T4

Page 26: METRICS: A System Architecture for Design Process Optimization

Multilevel FM Partitioning ExperimentMultilevel FM Partitioning Experiment

Given: initial partitioning solution, CPU budget and instance perturbations (I)

Find: number of parts of incremental partitioning and number of starts

Ti = incremental multilevel FM partitioning Self-loop multistart n number of breakups (I = 1 + 2 + 3 + ... + n)

S T1 FT2 T3 Tn...

Page 27: METRICS: A System Architecture for Design Process Optimization

Multilevel FM Experiment Flow SetupMultilevel FM Experiment Flow Setup

foreach testcase

foreach I foreach CPUbudget

foreach breakup

Icurrent = IinitialScurrent = Sinitial

for i = 1 to n

Inext = Icurrent + i

run incremental multilevel FM partitioner

on Inext to produce Snext

if CPUcurrent > CPUbudget then break

Icurrent = InextScurrent = Snext

end

Page 28: METRICS: A System Architecture for Design Process Optimization

Flow ResultsFlow Results

If (27401 < num edges 34826) and (143.09 < cpu time 165.28) and (perturbation delta 0.1) then num_inc_parts = 4 and num_starts = 3

If (27401 < num edges 34826) and (85.27 < cpu time 143.09) and (perturbation delta 0.1) then num_inc_parts = 2 and num_starts = 1

...

Actual CPU Time (secs)

Pre

dict

ed C

PU

Tim

e (s

ecs)

Page 29: METRICS: A System Architecture for Design Process Optimization

Wireload Model FlowWireload Model Flow

WLM flows for finding the appropriate role of WLM T1 = synthesis & technology mapping T2 = load wireload model (WLM) T3 = pre-placement optimization T4 = placement T5 = post-placement optimization T6 = global routing T7 = final routing T8 = custom WLM generation

Post-placement and pre-placement

area important steps

Choice of WLM depends on the design

ST1

T2

T3

T4

F

T5

T7

T8

T6

Page 30: METRICS: A System Architecture for Design Process Optimization

Datamining IntegrationDatamining Integration

DatabaseDatamining

Tool(s)

Datamining

Interface

Java

Servlet

Java

Servlet

SQL

SQL

Tables

Tables Tables

Results

ResultsDM

Requests

Inter-/Intranet

Page 31: METRICS: A System Architecture for Design Process Optimization

Example Applications with DMExample Applications with DM

Parameter sensitivity analysis input parameters that have the most impact on results

Field of use analysis limits at which the tool will break tool sweet spots at which the tool will give best results

Process monitoring identify possible failure in the process (e.g., timing

constraints are too tight, row utilization is too high, etc.)

Resource monitoring analysis of resource demands (e.g., disk space,

memory, etc.)

Page 32: METRICS: A System Architecture for Design Process Optimization

DM Results: QPlace CPU TimeDM Results: QPlace CPU Time

Actual CPU Time (secs)

Pre

dict

ed C

PU

Tim

e (s

ecs)

If (num nets 7332) then CPU time = 21.9 + 0.0019 num cells + 0.0005 num nets + 0.07 num pads - 0.0002 num fixed cells

If (num overlap layers = 0) and (num cells 71413) and (TD routing option = false) then CPU time = -15.6 + 0.0888 num nets - 0.0559 num cells - 0.0015 num fixed cells - num routing layer

...