CISC Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information Sciences University of Delaware
CISC Machine Learning for Solving Systems Problems Recent ARM Processor Increasingly large number of interesting design points.
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
CISC 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!
CISC 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
CISC 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
CISC Machine Learning for Solving Systems Problems Digression into Regression Suppose you have a set of data (x i,y i ) and you want to see if a linear relationship exists between x and y. y = mx + b
CISC Machine Learning for Solving Systems Problems Regression with 1 variable Source:
CISC Machine Learning for Solving Systems Problems Linear Regression Source:
CISC Machine Learning for Solving Systems Problems Applying Predictive Models ► Inputs ► Architecture configuration ► Outputs ► Metric to predict ► E.g., performance relative to a “baseline”
CISC Machine Learning for Solving Systems Problems Inputs Source:
CISC Machine Learning for Solving Systems Problems Experimental Methodology Source:
CISC Machine Learning for Solving Systems Problems Model Validation Source:
CISC Machine Learning for Solving Systems Problems Regional Sampling Source:
CISC Machine Learning for Solving Systems Problems Performance Prediction Source:
CISC Machine Learning for Solving Systems Problems Power Prediction Source:
CISC Machine Learning for Solving Systems Problems Tools Available CORE :: Comprehensive Optimization via Regression Estimates Architecture DSE data sets Statistical scripts to perform analysis
CISC Machine Learning for Solving Systems Problems Tools Available (cont’d) Fusion Predictive Modeling Tools Tools for application performance prediction Available upon request
CISC Machine Learning for Solving Systems Problems Conclusions Source: