19
CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information Sciences University of Delaware www.cis.udel.edu/~cavazos/cisc879

CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

  • Upload
    ada-may

  • View
    224

  • Download
    0

Embed Size (px)

DESCRIPTION

CISC Machine Learning for Solving Systems Problems Architecture Simulation  Cycle-accurate simulation – Accurately captures trends in design space – Estimates various metrics (e.g., power, performance)  Challenges with simulation – Accurate simulation very slow – Number of simulations grows very quickly with number of parameters (e.g., cache size, issue width) considered

Citation preview

Page 1: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Microarchitecture Design Space Exploration

Lecture 4

John CavazosDept of Computer & Information Sciences

University of Delaware

www.cis.udel.edu/~cavazos/cisc879

Page 2: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Recent ARM Processor

Increasingly large number of interesting design points.

Page 3: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Architecture Simulation

Cycle-accurate simulation

– Accurately captures trends in design space

– Estimates various metrics (e.g., power, performance) Challenges with simulation

– Accurate simulation very slow

– Number of simulations grows very quickly with number of parameters (e.g., cache size, issue width) considered

Page 4: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Why do Predictive Modeling?

Exploring architectural design spaces is hard

– Accurate simulation very slow

– Number of simulations grows very quickly with number of parameters (e.g., cache size, issue width) considered

With Predictive Modeling– Small number of simulations to train a model, rest of

space is predicted

– Even smaller number with cross-program prediction!

Page 5: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Speeding up simulation

Reduce Input Sizes

– Reduces costs of simulation with smaller inputs

Reduce Instructions Simulated

– Sampling of instructions (“hot code”)

– Sampled trace from phases Reduce Simulated Configurations

– Sample small number of points from design space

Page 6: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Predictive Modeling Effectively use sparsely sampled simulated design space

Uses simulated parts of space as training data

Models predict metric of interest (e.g., performance, energy)

1.45

Page 7: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Digression into Regression

Suppose you have a set of data (xi,yi) and you want to see if a linear relationship exists between x and y. y = mx + b

Page 8: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Regression with 1 variable

Source: http://en.wikipedia.org/wiki/Linear_regression

Page 9: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Linear Regression

Source: http://www.stanford.edu/~bcclee/documents/lee2006-asplos-slides.pdf

Page 10: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Applying Predictive Models►Inputs►Architecture configuration

►Outputs►Metric to predict►E.g., performance relative to a “baseline”

Page 11: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Inputs

Source: http://www.stanford.edu/~bcclee/documents/lee2006-asplos-slides.pdf

Page 12: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Experimental Methodology

Source: http://www.stanford.edu/~bcclee/documents/lee2006-asplos-slides.pdf

Page 13: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Model Validation

Source: http://www.stanford.edu/~bcclee/documents/lee2006-asplos-slides.pdf

Page 14: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Regional Sampling

Source: http://www.stanford.edu/~bcclee/documents/lee2006-asplos-slides.pdf

Page 15: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Performance Prediction

Source: http://www.stanford.edu/~bcclee/documents/lee2006-asplos-slides.pdf

Page 16: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Power Prediction

Source: http://www.stanford.edu/~bcclee/documents/lee2006-asplos-slides.pdf

Page 17: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Tools Available

• CORE :: Comprehensive Optimization via Regression Estimates• Architecture DSE data sets• Statistical scripts to perform analysis

http://www.stanford.edu/~bcclee/software.html

Page 18: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Tools Available (cont’d)

• Fusion Predictive Modeling Tools• Tools for application performance prediction• Available upon request

http://fusion.csl.cornell.edu/tools/fpmt.html

Page 19: CISC 879 - Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information

CISC 879 - Machine Learning for Solving Systems Problems

Conclusions

Source: http://www.stanford.edu/~bcclee/documents/lee2006-asplos-slides.pdf