stochastic optimization with learning for complex problems
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 PresentationTRANSCRIPT
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)
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.
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
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
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
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)
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”
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
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
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
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
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(*)
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
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
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
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
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
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
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
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
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
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
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
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
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
)
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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!
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.