200905190218542
Download
Report
Transcript 200905190218542
Predictive Design Space
Exploration Using Genetically
Programmed Response Surfaces
Henry Cook
Kevin Skadron
Department of Electrical Engineering and
Computer Science
University of California, Berkeley
Department of Computer Science
University of Virginia
[email protected]
[email protected]
Designs Are Growing More
Complex
More transistors = more complex designs
Superscalar, out-of-order execution
Chip multiprocessors, systems-on-a-chip
Heterogeneity, shared memory, interconnects…
Many interrelated design variables with emergent
interactions
Unclear whether analytic models can be
constructed based on a priori understanding
How can we find the best
design?
Detailed, cycle-accurate simulations
Testing every option is time consuming
1 min. x 1 billion simulations = too long!
Even search requires too many
simulations
Solution: Predict which designs are best
based on a small data sample
Why not heuristic search?
Every step of search requires at least one
full simulation
How many steps?
Predicting based on a predetermined
sample becomes increasingly efficient as
space grows
Assuming predictions are accurate
Assuming sample is small enough
How can we address
complexity?
We need a tool to predict global performance
based on a data sample
Many techniques might do this, but we want to
use one that…
Is more accurate when using small samples
Finds the true optimal solutions
Gives the architect more insight
Not just ‘what’ the best answer is,
but also ‘why’ it is the best
How can we make
predictions?
Build a ‘response
surface’
A function that relates
design choices to a
performance measure
Predicts performance for
designs we did not ever
simulate
Must have high accuracy
to be useful
A simple response surface
Linear Regression:
A simple response surface
Linear Regression:
A simple response surface
Linear Regression:
A simple response surface
Non-linear models are more precise:
How to use response surfaces
The true performance data:
How to use response surfaces
Step 1: Run simulations to make a sample
How to use response surfaces
Step 2: Build the response surface
How to use response surfaces
Step 3: Predict which designs are optimal
How can we build the
surface?
Linear/polynomial regression
Artificial neural networks
Genetic Programming
Automated
Robust
Insightful
Genetic Programming
Creates non-linear, polynomial functions which
match sample data
Previous uses
Calcination of cement
Stress fractures in steel
Branch prediction strategy
Evolutionary algorithm
Natural selection
Survival of the fittest
Evolution and reproduction
Evaluate fitness
Remove lowest quality
of new individuals
individuals
Recombine best
individuals
Result: Explicit response surface functions which best match data
Evolution and reproduction
Expression trees define the structure of
the response surface equation
Tuning parameters provide best possible
fit to collected data
Candidates are evaluated based on
distance of predictions from sample
after tuning
Evolution and reproduction
Combine
Proving the GP technique
Took simulation data from previous studies
Designs are realistic but (comparatively) simple
Ipek et. al (ASPLOS-XII)
12 design choices, 20K+ possible designs
Predicted IPC and cache performance of 11 applications
Lee and Brooks (ASPLOS-XII)
13 design choices, 1 billion+ possible designs
Predicted power and BIPS of 7 applications
How good are the predictions?
0.1% of possible designs
Branch prediction and L2 cache miss rate
• <1% mean error and <2% s.d.
Instructions per cycle
• 2.8-4.9% mean error, 2.2-3.4% s.d.
0.000002% of possible designs
Billions of instructions per second
• 1.1-6.1% mean, 2.3-9.9% s.d.
Power (W)
• 3.5-6.2% mean, 3.4-5.7% s.d.
How good are the predictions?
CDFs of prediction accuracy of BIPS/IPC
How good are the predictions?
Localized accuracy of IPC for Ipek
Can we find optimal designs?
Surface allows us to solve for the best values for
some variables analytically
Other variables have insignificant impact
When checked by exhaustive search, for most
benchmarks 100% of the optimal designs had the
analytically determined values
Worst design with those values still had
performance that was 97% of optimal
How does the technique
help architects?
Saves time
Creates response function automatically
Only need to simulate predetermined sample points
High accuracy means confidence in predictions
Provides insight
Which design choices are important
What the correct choices are
Limitations
Time to construct response surface via GPRS rather
than with ANNs
Hours rather than minutes on this space
• Still just an up front cost on the order of a single simulation
Feedback is an explicit, analytic expression
How to determine quality without exhaustive search?
Cross validation
Questions?
Thanks to John Lach, Paul Reynolds, Sally McKee, David
Brooks, Karan Singh, Benjamin Lee