460 likes | 567 Views
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).
E N D
Stochastic Optimization with LearningFor 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) SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Stochastic Optimization with Learning for Complex Problems DESCRIPTION: To evaluate the effectiveness of learning techniques for improving the performance of stochastic optimization on domain-specific CAD problems. GOALS: • To statistically characterize a number of important CAD problems. • To evaluate the potential of learning techniques (e.g. Bayesian, SVMs) for improving the expected performance of stochastic optimization on these problems over time. • To implement a learning-stochastic-optimizer based on the above results and apply it to representative CAD problems. SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Stochastic Optimization with Learning for Complex Problems PLANS FOR 1997: • Continue the development of the learning framework and evaluate incremental learning approaches (Bayesian, etc.) Framework development is ongoing and a variety of incremental learning approaches are under evaluation, including BayesNets, SVMs, and classical adaptive techniques • Apply the techniques to one or two new problems: standard-cell library generation, optimal clustering for placement Applied to partitioning (ICCAD97) and BDD sifting (ongoing) • Evaluate the effectiveness of adaptive optimization on other problems: BDD variable sifting ongoing (not funded) ADDITIONAL FOR 1997: • Validated the new algorithm by testing the robustness/generality of the model and doing performance analysis • Determination of the learning sample size and discovery of the window effect of the model • Invented novel approach to tradeoff analysis SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Stochastic Optimization with Learning for Complex Problems SPECIFIC MILESTONES AND DELIVERABLES 1997: • Milestones: • Develop the adaptive system based on experimental results (31-Mar-1997) • Deliverables: • Master’s thesis “Improvement of stochastic optimization through the use of learning” Brad Peters, (Completed - 28 - Feb - 1997) Pub ID T97050 • SRC review report on the experimentation discussed in goal 3 (Completed - Nov - 1997) Pub ID F97129 • Release of the prototype of the modified stochastic optimization algorithm for 2D placement (P: 31 - Dec - 1997, submission in progress) • Additional: • “Adaptive Methods for Netlist Partitioning,” W. L. Buntine, L. Su, and A. Richard Newton, ICCAD 1997 • Master’s thesis: “Learning as Applied to Simulated Annealing,” Lixin Su, (Completed - 18 - Dec - 1997, submission in progress) • Completed all the planned deliverables SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Stochastic Optimization with Learning for Complex Problems RESEARCH RESULTS TRANSFERRED THIS YEAR: • See 1997 Deliverables • “Adaptive Methods for Netlist Partitioning,” W. L. Buntine, L. Su, and A. Richard Newton, ICCAD 1997 RESEARCH RESULTS READY TO TRANSFER: • Master’s thesis: “Learning as Applied to Simulated Annealing,” Lixin Su, (Completed - 18 - Dec - 1997, submission in progress) POSSIBLE PATENTABLE RESULTS/INNOVATIONS: • None SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Stochastic Optimization with Learning for Complex Problems PLANS FOR 1998 • Complete investigation of two-dimensional placement problem. • Implement and evaluate incremental/adaptive learning approach(s) in the framework: Bayesian, Support Vector Machines (SVMs) • Continue work on BDD sifting (if funded) and begin work on clustering (if funded) MILESTONES AND DELIVERABLES DROP DELIVERABLE: • Report on theoretical bases for automating clustering (P: 31-Dec-1998) DROP MILESTONE: • Implement the prototype of the adaptive simulated annealing (P: 31-Dec-1998) ADD DELIVERABLES: • Preliminary report on application of incremental learning (P:Aug-31-98) • Comprehensive report on 2D placement application (P: Dec - 31 - 98) ADD MILESTONE: • Apply multi-objective approach to other CAD problems and implement an adaptive version (P: Dec - 31 - 98) SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Working Memory Complex Objective Function Stochastic Inference Engine Move Set Domain-Specific “Knowledge Pack” Original Proposal: Stochastic Optimizer with Learning • Goals: • Use incremental learning (Bayesian, SVM) to capture knowledge • Use stochastic pattern recognition • Train using well-characterized problems • Physical design, Logic synthesis • Identify effective approaches to parallel implementation SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Motivation and Scope • Many complex EDA optimization and search problems with complex and time-varying objectives • Not enough “algorithmic experts” in the world! • Stochastic algorithms often do better anyway! • Vast quantities of MIPS available so if we can find a general-purpose, scaleable multiprocessor (multicomputer) based approach, it would be highly leveraged • BUT… we would like to be able to take advantage of previous runs in improving the utility (performance, QOR, etc.) of a general approach SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
High-Level Goals • Use principles of rationality (Bayesian probability and decision theory) to model complex problems and the use of expensive resources • Use data engineering to help understand opportunities for addressing and simplifying the complexity inherent in most EDA optimization problems • Emphasize scaleable (multiprocessor), “general-purpose” approaches to solving these complex EDA optimization and search problems rather than application-specific heuristic “algorithmic” approaches SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Information Theory Optimization Data Engineering Visualization Rapid Prototyping Learning and Statistics Data Engineering Develop understanding of complex problems by visualization, analysis and optimization (with Dr. Wray Buntine, Dr. Andrew Mayer) SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Move Set Move Set Randomly Randomly Learned Model Move Choose Set Move Accept? Accept? Naïve Simulated Annealing (NSA) Trained Simulated Annealing (TSA) Modification to Simulated Annealing SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Selected Move MAX(*) Comparison (1p1, 2p2, …, npn) ... Model Evaluation (p1, p2, …, pn), for each of m moves ... 1 2 m Choose Set Selecting a Candidate Move SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Selected Move Conventional Trained Untrained Annealing 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 Comparison ... Model Evaluation 1 2 m ... Choose Set Naïve (NSA) Trained (TSA) Specific General Three Approaches SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Stochastic Optimization with Learning for Complex Problems • Test Problem: 2D Standard Cell Placement • Problem Instances: 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
Parameters in the Model • p1: The Euclidian distance between two cells • p2: The square of the distance between C1 and the origin (0,0) (a control parameter) • p3: The square of the distance between C2 and the origin (0,0) (a control parameter) • p4: The number of connections between C1 and C2 • p5: The total weighted connectivity of the cells in the candidate move • p6, p7: Force change to weighted center of gravity • Cost Function: Change in the size of the maximum net bounding-box for all nets connected to the candidate cells to be swapped • Reminder: Our primary goal is to discover structure in the problems butnot to explain the behavior SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
0.5 Normalized Area 0.4 0.3 0.2 0.2 0.3 0.4 0.5 0.6 0.7 Normalized Cost Estimate Cost Estimate vs. TimberWolf Chip Area MOSAICO chip area using MSU standard-cell library vs. sum of net bounding-box lengths SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Overall Flow of Experiment MIS Wolfe blif OCT Learning Anneal “.cel” Timberwolf SC-4 result Data Analysis & Visualization Matlab result SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Performance of Trained Model: Apex6 SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Variation of Parameter Model Weights with Temperature Zone SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Example: Industry1 LSS = 5,000 R2 for the Model Final Cost Function Learning Sample Size Determination of Learning Sample Size SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Final Cost Improvement over Naïve Approach Swaps/Temperature How Many Swaps-per-Temperature?(Training Set) C6288 300 Temperatures in 10 Zones SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Results of General Model on New Examples industry2 • General model obtained by averaging individual models Final Cost (x !0-3) Swaps/Temperature SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Discovering the “Windowing Effect” X: Temperature from High to Low Y: Average Proposed Swap Distance avg.small Average Optimal Swap Distance Temperature SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Average Distance Between Swaps Low High Temperature Windowing Effect For 70 swaps/temp in each case and using general model SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Normalized Swap Distance • Once again, explaining behavior is not our primary goal… but it is interesting to try! Ave. swap distance/sqrt(cells) Temperature SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Training Time • For 5,000 Naïve SA runs at 20 swaps/temp • Using DEC Alpha Server 2100A 5/250 with 1Gb of memory SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
avq.small Estimated Wire Length (x 10-4) CPU Time (sec) Runtime Performance SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Handling Multiple Conflicting Objectives • Pair of contradictory cost functions • c1: sum of half perimeter of bounding boxes of all nets • c2: • Want to minimize both of them, but c1 is more important • Often comes up in need to explore tradeoffs: “banana curves” • TSA can handle this easily and efficiently SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Handling Multiple Conflicting Objectives • Theorem: Given design matrix , are response vectors, , , , , then, minimizes This theorem enables us to fit the same data set for multi objectives with different weights simultaneously SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Multiple Objective Functions:Trading Off • Experimental settings • Learn as usual • Using for the acceptance test in TSA • Try the following weight combinations to form 8 models which will be used in picking up a swap from the choose set, record C1 and C2 SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Final Value of Objective C1 M8 M1 Swaps/Temperature Example Tradeoffs: C5315 SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
M1 M8 Final Value of Objective C2 Swaps/Temperature Example Tradeoffs: C5315 SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Netlist Partitioning(Dr. Wray Buntine) • Routinely used as an essential preprocessing step for placement and in routing. • One standard approach used is the Fidducia and Mattheysses (FM) algorithm (related to Lin-Kernighan (LK) algorithm). • While implementing Dutt and Deng’s PROP1 approach, we identified and analyzed two 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
Examples for Partitioning SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Examples for Partitioning SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Dutt and Deng’s PROP • DAC’96 best paper • Uses probabilistic argument to replace the gain heuristic with another • Extensive testing shows is superior non-clustering algorithm SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Decision-Theoretic FM • DT-FM designed using Data Engineering • DT-FM has an adaptive stochastic wrapper around standard FM. • Currently has simple adaptive methods for proof of concept. • Is comparable to the state-of-the-art PROP algorithm (Dutt & Deng, DAC’96) on all but one problem. • For several O(10,000) cell problems, reconstructs best-known partition. • Initial results published at ICCAD ‘97 SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
f A B C D E Wither BDD Ordering(Adrian Wrixon, Dr. Wray Buntine) • Proposal not funded and concern indicated about relevance of approach to BDD ordering (“sifting works well enough”) • Sifting is very good in general, when it works! • How much better could be done? How might we approach the problem? SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
1200 s1196 900 600 300 500 8000 1200 7000 s344 s1238 s1423 400 0 900 6000 1 6 11 16 21 26 31 36 41 46 5000 300 600 4000 Variable Sift Number (moves) 200 3000 300 2000 100 1000 0 0 0 1 11 21 31 41 1 21 41 61 81 101 121 141 161 1 6 11 16 21 26 31 36 Variable Sift Number (moves) Variable Sift Number (moves) Variable Sift Number (moves) BDD Sifting Evaluation: Default vs “Optimal” SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
800 s838 700 600 500 400 300 200 100 0 1 11 21 31 41 51 61 71 81 91 Variable Sift Number (moves) BDD Sifting Evaluation • Comparison of “default” sifting order versus “optimal” sifting order • Still not “optimum”! • Significant improvement possible in adaptive variable ordering for sifting SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Potential Improvement for BDD Optimization SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Potential Improvement for BDD Optimization SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Potential Improvement for BDD Optimization SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Information Theory Optimization Data Engineering Visualization Rapid Prototyping Learning and Statistics Data Engineering Develop understanding of complex problems by visualization, analysis and optimization (with Dr. Wray Buntine, Dr. Andrew Mayer) SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Summary • Complexity is a key problem in design, and data engineering can help to improve complex algorithms. • We have demonstrated the use of data engineering technology can improve simple standard-cell placement and standard net-list partitioning methods by up to 20%. • We have identified various opportunities for additional data engineering in optimization and adaptive computation. • We believe data engineering, as a general approach to solving complex optimization and search problems, could have a profound impact on overall EDA systems engineering if resources applied! SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation
Support Vector Machines • Support Vector Machines are learning machines that can perform binary classification (pattern recognition) and real valued function approximation (regression estimation) tasks. They perform the structural risk minimization principle. SV machines create a classifier with minimized VC dimension. If the VC dimension is low, the expected probability of error is low as well, which means good generalization. • Support Vector Machines non-linearly map their n-dimensional input space into a high dimensional feature space. In this high dimesional feature space a linear classifier is constructed. • The best reference is V. Vapnik, "The Nature of Statistical Learning Theory", Springer 1995. SRC Task Reviews: U.C. Berkeley Center of Excellence in Design Automation