stochastic optimization with learning for complex problems

46
SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 1 DC-324-030: DC-324-030: Stochastic Optimization Stochastic Optimization with Learning with Learning For Complex Problems For Complex Problems Thrust/Subthrust: Thrust/Subthrust: Design Design Synthesis/Logic Synthesis Synthesis/Logic Synthesis Student: Student: Lixin Su (June, 1999) Lixin Su (June, 1999) Advisor: Advisor: Prof. A. Richard Newton Prof. A. Richard Newton Mentor: Mentor: Dr. Leon Stok, IBM Dr. Leon Stok, IBM (http://www-cad.eecs.berkeley.edu/~newton/presentations/ (http://www-cad.eecs.berkeley.edu/~newton/presentations/ SRC3_98) SRC3_98)

Upload: amena-wright

Post on 03-Jan-2016

27 views

Category:

Documents


3 download

DESCRIPTION

Stochastic Optimization with Learning For Complex Problems. Thrust/Subthrust:Design Synthesis/Logic Synthesis Student:Lixin Su (June, 1999) Advisor:Prof. A. Richard Newton Mentor:Dr. Leon Stok, IBM (http://www-cad.eecs.berkeley.edu/~newton/presentations/SRC3_98). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 1

DC-324-030:DC-324-030:

Stochastic Optimization with LearningStochastic Optimization with LearningFor Complex ProblemsFor Complex Problems

Thrust/Subthrust:Thrust/Subthrust: Design Synthesis/Logic SynthesisDesign Synthesis/Logic Synthesis

Student:Student: Lixin Su (June, 1999)Lixin Su (June, 1999)

Advisor:Advisor: Prof. A. Richard NewtonProf. A. Richard Newton

Mentor:Mentor: Dr. Leon Stok, IBMDr. Leon Stok, IBM

(http://www-cad.eecs.berkeley.edu/~newton/presentations/SRC3_98)(http://www-cad.eecs.berkeley.edu/~newton/presentations/SRC3_98)

Page 2: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 2

DC-324-030:DC-324-030:

Stochastic Optimization with Learning for Complex ProblemsStochastic Optimization with Learning for Complex Problems

DESCRIPTION: To evaluate the effectiveness of learning techniques for DESCRIPTION: To evaluate the effectiveness of learning techniques for improving the performance of stochastic optimization on domain-improving the performance of stochastic optimization on domain-specific CAD problems.specific CAD problems.

GOALS:GOALS:

To statistically characterize a number of important CAD problems.To statistically characterize a number of important CAD problems.

To evaluate the potential of learning techniques (e.g. Bayesian, To evaluate the potential of learning techniques (e.g. Bayesian, SVMs) for improving the expected performance of stochastic SVMs) for improving the expected performance of stochastic optimization on these problems over time.optimization on these problems over time.

To implement a learning-stochastic-optimizer based on the above To implement a learning-stochastic-optimizer based on the above results and apply it to representative CAD problems.results and apply it to representative CAD problems.

Page 3: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 3

DC-324-030:DC-324-030:Stochastic Optimization with Learning for Complex ProblemsStochastic Optimization with Learning for Complex ProblemsPLANS FOR 1997:PLANS FOR 1997: Continue the development of the learning framework and evaluate incremental Continue the development of the learning framework and evaluate incremental

learning approaches (Bayesian, etc.)learning approaches (Bayesian, etc.)Framework development is ongoing and a variety of incremental learning approaches are Framework development is ongoing and a variety of incremental learning approaches are under evaluation, including BayesNets, SVMs, and classical adaptive techniquesunder evaluation, including BayesNets, SVMs, and classical adaptive techniques

Apply the techniques to one or two new problems: standard-cell library generation, Apply the techniques to one or two new problems: standard-cell library generation, optimal clustering for placementoptimal clustering for placementApplied to partitioning (ICCAD97) and BDD sifting (ongoing)Applied to partitioning (ICCAD97) and BDD sifting (ongoing)

Evaluate the effectiveness of adaptive optimization on other problems: BDD variable Evaluate the effectiveness of adaptive optimization on other problems: BDD variable siftingsiftingongoing (not funded)ongoing (not funded)

ADDITIONAL FOR 1997:ADDITIONAL FOR 1997: Validated the new algorithm by testing the robustness/generality of the model and doing Validated the new algorithm by testing the robustness/generality of the model and doing

performance analysisperformance analysis Determination of the learning sample size and discovery of the window effect of the modelDetermination of the learning sample size and discovery of the window effect of the model Invented novel approach to tradeoff analysisInvented novel approach to tradeoff analysis

Page 4: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 4

DC-324-030:DC-324-030:Stochastic Optimization with Learning for Complex ProblemsStochastic Optimization with Learning for Complex Problems

SPECIFIC MILESTONES AND DELIVERABLES 1997:SPECIFIC MILESTONES AND DELIVERABLES 1997: Milestones: Milestones:

Develop the adaptive system based on experimental results (31-Mar-1997)Develop the adaptive system based on experimental results (31-Mar-1997)

Deliverables:Deliverables: Master’s thesis “Improvement of stochastic optimization through the use of learning” Brad Peters, Master’s thesis “Improvement of stochastic optimization through the use of learning” Brad Peters,

(Completed - 28 - Feb - 1997) Pub ID T97050(Completed - 28 - Feb - 1997) Pub ID T97050 SRC review report on the experimentation discussed in goal 3 (Completed - Nov - 1997) Pub ID SRC review report on the experimentation discussed in goal 3 (Completed - Nov - 1997) Pub ID

F97129F97129 Release of the prototype of the modified stochastic optimization algorithm for 2D placement (P: 31 Release of the prototype of the modified stochastic optimization algorithm for 2D placement (P: 31

- Dec - 1997, submission in progress) - Dec - 1997, submission in progress)

Additional:Additional: ““Adaptive Methods for Netlist Partitioning,” W. L. Buntine, L. Su, and A. Richard Newton, ICCAD Adaptive Methods for Netlist Partitioning,” W. L. Buntine, L. Su, and A. Richard Newton, ICCAD

19971997 Master’s thesis: “Learning as Applied to Simulated Annealing,” Lixin Su, (Completed - 18 - Dec - Master’s thesis: “Learning as Applied to Simulated Annealing,” Lixin Su, (Completed - 18 - Dec -

1997, submission in progress)1997, submission in progress)

Completed all the planned deliverablesCompleted all the planned deliverables

Page 5: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 5

DC-324-030:DC-324-030:

Stochastic Optimization with Learning for Complex ProblemsStochastic Optimization with Learning for Complex Problems

RESEARCH RESULTS TRANSFERRED THIS YEAR:RESEARCH RESULTS TRANSFERRED THIS YEAR: See 1997 DeliverablesSee 1997 Deliverables

““Adaptive Methods for Netlist Partitioning,” W. L. Buntine, L. Su, and A. Adaptive Methods for Netlist Partitioning,” W. L. Buntine, L. Su, and A. Richard Newton, ICCAD 1997Richard Newton, ICCAD 1997

RESEARCH RESULTS READY TO TRANSFER:RESEARCH RESULTS READY TO TRANSFER: Master’s thesis: “Learning as Applied to Simulated Annealing,” Lixin Su, Master’s thesis: “Learning as Applied to Simulated Annealing,” Lixin Su,

(Completed - 18 - Dec - 1997, submission in progress)(Completed - 18 - Dec - 1997, submission in progress)

POSSIBLE PATENTABLE RESULTS/INNOVATIONS:POSSIBLE PATENTABLE RESULTS/INNOVATIONS:

NoneNone

Page 6: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 6

DC-324-030:DC-324-030:Stochastic Optimization with Learning for Complex ProblemsStochastic Optimization with Learning for Complex ProblemsPLANS FOR 1998PLANS FOR 1998 Complete investigation of two-dimensional placement problem.Complete investigation of two-dimensional placement problem. Implement and evaluate incremental/adaptive learning approach(s) in the framework: Implement and evaluate incremental/adaptive learning approach(s) in the framework:

Bayesian, Support Vector Machines (SVMs)Bayesian, Support Vector Machines (SVMs) Continue work on BDD sifting (if funded) and begin work on clustering (if funded)Continue work on BDD sifting (if funded) and begin work on clustering (if funded)

MILESTONES AND DELIVERABLESMILESTONES AND DELIVERABLES DROP DELIVERABLE:DROP DELIVERABLE: Report on theoretical bases for automating clustering (P: 31-Dec-1998)Report on theoretical bases for automating clustering (P: 31-Dec-1998)DROP MILESTONE:DROP MILESTONE: Implement the prototype of the adaptive simulated annealing (P: 31-Dec-1998)Implement the prototype of the adaptive simulated annealing (P: 31-Dec-1998)ADD DELIVERABLES:ADD DELIVERABLES: Preliminary report on application of incremental learning (P:Aug-31-98)Preliminary report on application of incremental learning (P:Aug-31-98) Comprehensive report on 2D placement application (P: Dec - 31 - 98)Comprehensive report on 2D placement application (P: Dec - 31 - 98)ADD MILESTONE:ADD MILESTONE: Apply multi-objective approach to other CAD problems and implement an adaptive version (P: Apply multi-objective approach to other CAD problems and implement an adaptive version (P:

Dec - 31 - 98)Dec - 31 - 98)

Page 7: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 7

DC-324-030:DC-324-030:Original Proposal: Stochastic Optimizer with LearningOriginal Proposal: Stochastic Optimizer with Learning

Goals:Goals: Use incremental learning (Bayesian, SVM) to capture knowledgeUse incremental learning (Bayesian, SVM) to capture knowledge Use stochastic pattern recognitionUse stochastic pattern recognition Train using well-characterized problemsTrain using well-characterized problems

• Physical design, Logic synthesisPhysical design, Logic synthesis Identify effective approaches to parallel implementationIdentify effective approaches to parallel implementation

ComplexObjective Function

Working Memory

StochasticInferenceEngine

Move Set

Domain-Specific“Knowledge Pack”

Page 8: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 8

DC-324-030:DC-324-030:Motivation and ScopeMotivation and Scope

Many complex EDA optimization and search problems with Many complex EDA optimization and search problems with complex and time-varying objectivescomplex and time-varying objectives

Not enough “algorithmic experts” in the world!Not enough “algorithmic experts” in the world! Stochastic algorithms often do better anyway!Stochastic algorithms often do better anyway! Vast quantities of MIPS available so if we can find a Vast quantities of MIPS available so if we can find a

general-purpose, scaleable multiprocessor (multicomputer) general-purpose, scaleable multiprocessor (multicomputer) based approach, it would be highly leveragedbased approach, it would be highly leveraged

BUT… we would like to be able to take advantage of BUT… we would like to be able to take advantage of previous runs in improving the previous runs in improving the utilityutility (performance, QOR, (performance, QOR, etc.) of a general approachetc.) of a general approach

Page 9: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 9

DC-324-030:DC-324-030:

High-Level GoalsHigh-Level Goals Use Use principles of rationalityprinciples of rationality (Bayesian probability and decision theory) (Bayesian probability and decision theory)

to model complex problems and the use of expensive resourcesto model complex problems and the use of expensive resources Use Use data engineeringdata engineering to help understand opportunities for addressing to help understand opportunities for addressing

and simplifying the complexity inherent in most EDA optimization and simplifying the complexity inherent in most EDA optimization problemsproblems

Emphasize Emphasize scaleable scaleable (multiprocessor), “general-purpose” approaches (multiprocessor), “general-purpose” approaches to solving these complex EDA optimization and search problems to solving these complex EDA optimization and search problems rather than application-specific heuristic “algorithmic” approaches rather than application-specific heuristic “algorithmic” approaches

Page 10: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 10

DC-324-030:DC-324-030:Data EngineeringData Engineering

Develop understanding of complex problems by visualization, analysis and optimizationDevelop understanding of complex problems by visualization, analysis and optimization

(with Dr. Wray Buntine, Dr. Andrew Mayer)(with Dr. Wray Buntine, Dr. Andrew Mayer)

DataEngineering

Opt

imiz

atio

n

VisualizationL

earn

ing

an

dS

tati

stic

s

Information Theory

Rapid Prototyping

Page 11: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 11

DC-324-030:DC-324-030:

Modification to Simulated AnnealingModification to Simulated Annealing

Naïve Simulated Annealing Naïve Simulated Annealing (NSA)(NSA)

Move Set

Accept?

Move

Randomly

C

Trained Simulated AnnealingTrained Simulated Annealing (TSA)(TSA)

Move Set

Choose Set

RandomlyLearned Model

Move

Accept?

C

Page 12: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 12

DC-324-030:DC-324-030:

Selecting a Candidate MoveSelecting a Candidate Move

21 m...Choose Set

Comparison

Model Evaluation

...

SelectedMove

(p1, p2, …, pn), for each of m moves

(1p1, 2p2, …, npn)

MAX(*)

Page 13: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 13

DC-324-030:DC-324-030:

Three ApproachesThree Approaches

21 m...

Choose Set

Comparison

Model Evaluation

...

SelectedMove

Conventional Trained UntrainedAnnealing Model Model

only one MAX(m moves) MAX( m moves)

only one (1p1+2p2+…+npn) (p1+p2+…+pn)/m

m=1 m=10 m=10

Naïve (NSA) Trained (TSA)

Specific General

Page 14: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 14

DC-324-030:DC-324-030:

Stochastic Optimization with Learning for Complex ProblemsStochastic Optimization with Learning for Complex Problems

Test Problem: 2D Standard Cell PlacementTest Problem: 2D Standard Cell Placement Problem Instances:Problem Instances:

C5315 C3540 i10 struct C6288 ind1 prim2 biomedcells 729 761 1,269 1,888 1,893 2,271 2,907 5,737 nets 907 811 1,526 1,920 1,925 2,593 3,029 6,417

ind2 ind3 avg.small avg.large s9234 s15850cells 12,142 15,059 21,854 25,114 979 3,170 nets 13,419 21,940 22,118 25,378 1,007 3,183

Group1: Circuits used for Training

Group 2: Circuits Used to Test the General Model

Page 15: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 15

DC-324-030:DC-324-030:

Parameters in the ModelParameters in the Model pp11: The Euclidian distance between two cells: The Euclidian distance between two cells

pp22: The square of the distance between C: The square of the distance between C11 and the origin (0,0) (a control and the origin (0,0) (a control

parameter)parameter)

pp33: The square of the distance between C: The square of the distance between C2 2 and the origin (0,0) (a control and the origin (0,0) (a control

parameter)parameter)

pp44: The number of connections between C: The number of connections between C11 and C and C22

pp55: The total weighted connectivity of the cells in the candidate move: The total weighted connectivity of the cells in the candidate move

pp66, p, p77: Force change to weighted center of gravity: Force change to weighted center of gravity

Cost FunctionCost Function: Change in the size of the maximum net bounding-box for all : Change in the size of the maximum net bounding-box for all nets connected to the candidate cells to be swappednets connected to the candidate cells to be swapped

Reminder:Reminder: Our primary goal is to Our primary goal is to discoverdiscover structure in the problems but structure in the problems but notnot to explainto explain the behavior the behavior

Page 16: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 16

DC-324-030:DC-324-030:

Cost Estimate vs. TimberWolf Chip AreaCost Estimate vs. TimberWolf Chip Area

No

rmal

ized

Are

a

0.3

0.4

0.5

0.2 0.40.3 0.5 0.6 0.7

0.2

Normalized Cost Estimate

MOSAICO chip area using MSU standard-cell libraryvs. sum of net bounding-box lengths

Page 17: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 17

DC-324-030:DC-324-030:

Overall Flow of ExperimentOverall Flow of Experiment

MIS Wolfe

TimberwolfSC-4

blif

“.cel”

OCT

result

LearningAnneal

result

MatlabData Analysis& Visualization

Page 18: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 18

DC-324-030:DC-324-030:

Performance of Trained Model: Apex6Performance of Trained Model: Apex6

0

10

20

30

40

50

60

70

80

90

100

28

0

28

6

29

2

29

8

30

4

31

0

31

6

32

2

32

8

33

4

34

0

34

6

35

2

35

8

36

4

37

0

37

6

38

2

38

8

39

4

Final Solution Cost (x10̂ 3)

Nu

mb

er

of

Solu

tion

s

Trained Model

Untrained Model

Conventional

Page 19: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 19

DC-324-030:DC-324-030:

Variation of Parameter Model Weights Variation of Parameter Model Weights

with Temperature Zonewith Temperature Zone

-20%

0%

20%

40%

60%

80%

100%

T1 T2 T3 T4 T5 T6 T7 T8 T9 T10

Temperature Zones

Rela

tive W

eig

ht

of

Mod

el

Para

mete

r

P2

P3

P5

P1

P6

P7

P4

Page 20: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 20

DC-324-030:DC-324-030:

Determination of Learning Sample SizeDetermination of Learning Sample Size

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

100 500 900 4,000 8,000 12,000 16,000 20,000

55,000

60,000

65,000

70,000

75,000

80,000

Example: Industry1

Learning Sample Size

R2 fo

r th

e M

od

el

Fin

al C

ost

Fu

nctio

n

LSS = 5,000

Page 21: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 21

DC-324-030:DC-324-030:

How Many Swaps-per-Temperature?How Many Swaps-per-Temperature?(Training Set)(Training Set)

0

10,000

20,000

30,000

40,000

50,000

10 60 110 160 250 500 750

Naive Specific General

Swaps/Temperature

Fin

al C

ost

Example Individual Model General ModelBest Worst Best Worst

C5315 25% 15% 25% 15%C3540 34% 24% 34% 24%i10 25% 18% 25% 18%struct 39% 26% 39% 26%C6288 42% 33% 42% 33%ind1 33% 20% 34% 20%prim2 43% 18% 44% 18%biomed 38% 17% 39% 17%

Improvement over Naïve Approach

300 Temperatures in 10 Zones

C6288

Page 22: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 22

DC-324-030:DC-324-030:Results of General Model on New ExamplesResults of General Model on New Examples

General model obtained by averaging individual modelsGeneral model obtained by averaging individual models

ind2 ind3 avq.small avq.large s9234 s15850 s38417Best PI 40% 37% 35% 34% 37% 41% 38%

Worst PI 10% 7% 8% 7% 27% 21% 14%

0

200

400

600

800

1,000

1,200

1,400

10 60 110 160 250 500 750

Naive General

Swaps/Temperature

Fin

al C

ost

(x

!0-3)

industry2

Page 23: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 23

DC-324-030:DC-324-030:

Discovering the “Windowing Effect”Discovering the “Windowing Effect”

X: Temperature from High to Low

Y: Average Proposed Swap Distance

30

40

50

60

70

80

0 30 60 90 120 150 180 210 240 270

Temperature

Ave

rag

e O

pti

mal

Sw

ap D

ista

nce

avg.small

Page 24: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 24

DC-324-030:DC-324-030:

Windowing EffectWindowing Effect

0

20

40

60

80

100

0 50 100 150 200 250

avq.small

biomed

c6288

i10

ind1

prim2

struct

ind2

TemperatureHigh Low

Ave

rag

e D

ista

nce

Bet

wee

n S

wap

s

For 70 swaps/temp in each caseand using general model

Page 25: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 25

DC-324-030:DC-324-030: Normalized Swap DistanceNormalized Swap Distance

Once again, Once again, explainingexplaining behavior is not our primary goal… but it behavior is not our primary goal… but it is interesting to try!is interesting to try!

0.2

0.3

0.4

0.5

0.6

0.7

0 40 80 120 160 200 240 280

avg.small

biomed

c6288

i10

ind1

prim2

struct

ind2

Temperature

Ave

. sw

ap d

ista

nce

/sq

rt(c

ells

)

Page 26: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 26

DC-324-030:DC-324-030:

Training TimeTraining Time

For 5,000 Naïve SA runs at 20 swaps/tempFor 5,000 Naïve SA runs at 20 swaps/temp Using DEC Alpha Server 2100A 5/250 with 1Gb of Using DEC Alpha Server 2100A 5/250 with 1Gb of

memorymemory

Cicuit C5315 C3540 i10 struct C6288 industry1Size (cells) 729 761 1,269 1,888 1,893 2,271Times (min) 35 36 36 30 77 154

Page 27: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 27

DC-324-030:DC-324-030: Runtime PerformanceRuntime Performance

Circuit C5315 C3540 i10 struct C6288 ind1 prim2 biomedBest PI 15% 23% 14% 20% 28% 18% 32% 18%

Circuit ind2 ind3 avq.s avq.l s9234 s15850 s38417Best PI 12% 14% 15% 14% 22% 21% 17%

0

500

1000

1500

2000

2500

50 100 150 200 250

Naïve SA General Model

CPU Time (sec)

Est

imat

ed W

ire

Len

gth

(x

10-4)

avq.small

Page 28: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 28

DC-324-030:DC-324-030:

Handling Multiple Conflicting ObjectivesHandling Multiple Conflicting Objectives

Pair of contradictory cost functionsPair of contradictory cost functions c1: sum of half perimeter of bounding boxes of all netsc1: sum of half perimeter of bounding boxes of all nets c2: c2:

Want to minimize both of them, but c1 is more importantWant to minimize both of them, but c1 is more important Often comes up in need to explore tradeoffs: “banana curves”Often comes up in need to explore tradeoffs: “banana curves” TSA can handle this easily and efficientlyTSA can handle this easily and efficiently

direction;yininetofspan:

direction;xininetofspan:));1/(1)1/(1(

i

iinetsi

i

y

xyx

Page 29: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 29

DC-324-030:DC-324-030:

Handling Multiple Conflicting ObjectivesHandling Multiple Conflicting Objectives

Theorem:Theorem:

Given design matrix , are response Given design matrix , are response vectors, , , vectors, , ,

, , then, minimizes , , then, minimizes

This theorem enables us to fit the same data set for This theorem enables us to fit the same data set for

multi objectives with different weights simultaneouslymulti objectives with different weights simultaneously

X iy)()'( XyXy iii ii yXXX ')'( 1

i

ii i

i 1 i

ii

Page 30: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 30

DC-324-030:DC-324-030:Multiple Objective Functions:Multiple Objective Functions:

Trading OffTrading Off

Experimental settingsExperimental settings Learn as usualLearn as usual Using for the acceptance test in TSAUsing for the acceptance test in TSA Try the following weight combinations to form 8 Try the following weight combinations to form 8

models which will be used in picking up a swap models which will be used in picking up a swap from the choose set, record C1 and C2 from the choose set, record C1 and C2

21 and 1C

M1 M2 M3 M4 M5 M6 M7 M8Lambda 1 1 0.1 0.08 0.06 0.04 0.02 0.01 0Lambda 2 0 0.9 0.92 0.94 0.96 0.98 0.99 1

Page 31: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 31

DC-324-030:DC-324-030:

Example Tradeoffs: C5315Example Tradeoffs: C5315

6,000

8,000

10,000

12,000

14,000

16,000

10 60 110 160 250 500 750

Swaps/Temperature

Fin

al V

alu

e o

f O

bje

ctiv

e C

1

M1

M8

Page 32: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 32

DC-324-030:DC-324-030:

Example Tradeoffs: C5315Example Tradeoffs: C5315

M1

M8

Swaps/Temperature

Fin

al V

alu

e o

f O

bje

ctiv

e C

2

300

400

500

600

700

10 60 110 160 250 500 750

Page 33: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 33

DC-324-030:DC-324-030:Netlist PartitioningNetlist Partitioning

(Dr. Wray Buntine)(Dr. Wray Buntine)

Routinely used as an essential preprocessing step for Routinely used as an essential preprocessing step for placement and in routing.placement and in routing.

One standard approach used is the Fidducia and One standard approach used is the Fidducia and Mattheysses (FM) algorithm (related to Lin-Kernighan Mattheysses (FM) algorithm (related to Lin-Kernighan (LK) algorithm).(LK) algorithm).

While implementing Dutt and Deng’s PROPWhile implementing Dutt and Deng’s PROP11 approach, we identified and analyzed two approach, we identified and analyzed two improvements for regular FM.improvements for regular FM.

1 “A Probability-Based Approach to VLSI Circuit Partitioning,” Proc. ACM/IEEE Design Automation Conf., June 1996

Page 34: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 34

DC-324-030:DC-324-030:

Examples for PartitioningExamples for Partitioning

Example Nets Cells I/ O'sC1355 245 73 204C1908 282 249 58C2670 529 348 296C3540 811 761 72C5315 907 729 296C6288 1,925 1,893 64biomed 5,742 6,514 0struct 1,920 1,952 0industry2 13,419 12,637 0industry3 21,923 15,406 0

Page 35: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 35

DC-324-030:DC-324-030:

Examples for PartitioningExamples for Partitioning

Example Nets Cells I/ O's

avq-small 22,124 21,853 65avq-large 25,384 25,113 65s9234 5,844 5,866 0s13207 8,651 8,772 0s15850 10,383 10,470 0s35932 17,828 18,148 0s38417 23,843 23,949 0s38584 20,717 20,995 0golem 144,949 103,048 0

Page 36: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 36

DC-324-030:DC-324-030:

Dutt and Deng’s PROPDutt and Deng’s PROP

DAC’96 best paperDAC’96 best paper Uses probabilistic argument to replace the gain Uses probabilistic argument to replace the gain

heuristic with anotherheuristic with another Extensive testing shows is superior Extensive testing shows is superior non-clusteringnon-clustering

algorithmalgorithm

Page 37: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 37

DC-324-030:DC-324-030:

Decision-Theoretic FMDecision-Theoretic FM DT-FM designed using Data EngineeringDT-FM designed using Data Engineering DT-FM has an adaptive stochastic wrapper around DT-FM has an adaptive stochastic wrapper around

standard FM.standard FM. Currently has simple adaptive methods for proof of Currently has simple adaptive methods for proof of

concept.concept. Is comparable to the state-of-the-art PROP algorithm Is comparable to the state-of-the-art PROP algorithm

(Dutt & Deng, DAC’96) on all but one problem.(Dutt & Deng, DAC’96) on all but one problem. For several O(10,000) cell problems, reconstructs For several O(10,000) cell problems, reconstructs

best-known partition.best-known partition. Initial results published at ICCAD ‘97Initial results published at ICCAD ‘97

Page 38: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 38

DC-324-030:DC-324-030:

Wither BDD OrderingWither BDD Ordering(Adrian Wrixon, Dr. Wray Buntine)(Adrian Wrixon, Dr. Wray Buntine)

Proposal not funded and concern indicated about Proposal not funded and concern indicated about relevance of approach to BDD ordering (“sifting relevance of approach to BDD ordering (“sifting works well enough”)works well enough”)

Sifting is very good in general, when it works! Sifting is very good in general, when it works! How much better could be done? How might we How much better could be done? How might we

approach the problem?approach the problem?

A B C D E

f

Page 39: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 39

DC-324-030:DC-324-030:BDD Sifting Evaluation: Default vs “Optimal”BDD Sifting Evaluation: Default vs “Optimal”

s1196

0

300

600

900

1200

1 6 11 16 21 26 31 36 41 46

Variable Sift Number (moves)

s1238

0

300

600

900

1200

1 11 21 31 41

Variable Sift Number (moves)

s1423

0

1000

2000

3000

4000

5000

6000

7000

8000

1 21 41 61 81 101 121 141 161

Variable Sift Number (moves)

s344

0

100

200

300

400

500

1 6 11 16 21 26 31 36

Variable Sift Number (moves)

Page 40: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 40

DC-324-030:DC-324-030:BDD Sifting EvaluationBDD Sifting Evaluation

s838

0

100

200

300

400

500

600

700

800

1 11 21 31 41 51 61 71 81 91

Variable Sift Number (moves)

Comparison of “default” sifting order versus “optimal” sifting orderComparison of “default” sifting order versus “optimal” sifting order Still not “optimum”!Still not “optimum”! Significant improvement possible in adaptive variable ordering for Significant improvement possible in adaptive variable ordering for

siftingsifting

Page 41: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 41

DC-324-030:DC-324-030:

Potential Improvement for BDD OptimizationPotential Improvement for BDD Optimization

Page 42: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 42

DC-324-030:DC-324-030:

Potential Improvement for BDD OptimizationPotential Improvement for BDD Optimization

Page 43: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 43

DC-324-030:DC-324-030:

Potential Improvement for BDD OptimizationPotential Improvement for BDD Optimization

Page 44: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 44

DC-324-030:DC-324-030:Data EngineeringData Engineering

Develop understanding of complex problems by visualization, analysis and optimizationDevelop understanding of complex problems by visualization, analysis and optimization

(with Dr. Wray Buntine, Dr. Andrew Mayer)(with Dr. Wray Buntine, Dr. Andrew Mayer)

DataEngineering

Opt

imiz

atio

n

VisualizationL

earn

ing

an

dS

tati

stic

s

Information Theory

Rapid Prototyping

Page 45: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 45

DC-324-030:DC-324-030:

SummarySummary Complexity is a key problem in design, and Complexity is a key problem in design, and data engineeringdata engineering can can

help to improve complex algorithms.help to improve complex algorithms. We have demonstrated the use of data engineering technology We have demonstrated the use of data engineering technology

can improve simple standard-cell placement and standard net-list can improve simple standard-cell placement and standard net-list partitioning methods by up to 20%.partitioning methods by up to 20%.

We have identified various opportunities for additional data We have identified various opportunities for additional data engineering in optimization and adaptive computation.engineering in optimization and adaptive computation.

We believe data engineering, as We believe data engineering, as a general approach to solving a general approach to solving complex optimization and search problemscomplex optimization and search problems , could have a profound , could have a profound impact on overall EDA systems engineering if resources applied!impact on overall EDA systems engineering if resources applied!

Page 46: Stochastic Optimization with Learning For Complex Problems

SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation 46

DC-324-030:DC-324-030:

Support Vector MachinesSupport Vector Machines

Support Vector Machines are learning machines that can Support Vector Machines are learning machines that can perform binary classification (pattern recognition) and real perform binary classification (pattern recognition) and real valued function approximation (regression estimation) tasks. valued function approximation (regression estimation) tasks. They perform the structural risk minimization principle. SV They perform the structural risk minimization principle. SV machines create a classifier with minimized VC dimension. If the machines create a classifier with minimized VC dimension. If the VC dimension is low, the expected probability of error is low as VC dimension is low, the expected probability of error is low as well, which means good generalization.well, which means good generalization.

Support Vector Machines non-linearly map their n-dimensional Support Vector Machines non-linearly map their n-dimensional input space into a high dimensional feature space. In this high input space into a high dimensional feature space. In this high dimesional feature space a linear classifier is constructed. dimesional feature space a linear classifier is constructed.

The best reference is V. Vapnik, "The Nature of Statistical The best reference is V. Vapnik, "The Nature of Statistical Learning Theory", Springer 1995. Learning Theory", Springer 1995.