Efficient Design Space Exploration using Machine Learning

Architects quantify the impact of design parameters on evaluation metrics to understand tradeoffs and interactions among those parameters. Such analyses usually employ cycle-by-cycle simulation of a target machine either to predict performance impacts of architectural changes, or to find promising design subspaces satisfying different performance/cost/complexity/power constraints. Several factors have unacceptably increased the time and resources required for the latter task, including the desire to model more realistic workloads, the increasing complexity of modeled architectures, and the exponential design spaces spanned by many independent parameters. Thorough study of even relatively modest design spaces becomes challenging, if not infeasible.

In [ASPLOS'06, TACO'08, EUROPAR'05], we were the first to attack this problem via an automated approach that builds accurate, confident predictive design-space models. We simulate sampled points, using the results to teach our Artificial Neural Network (ANN) models the function describing relationships among design parameters. The models produce highly accurate performance estimates for other points in the space, can be queried to predict performance impacts of architectural changes, and are very fast compared to simulation, enabling efficient discovery of tradeoffs among parameters in different regions. When trained on a 1% sample drawn from a multicore design space with 250K points and up to 55x performance swings among different system configurations, our models predict performance with only 4-5% error on average. Moreover, our approach combines with techniques to reduce time per simulation, achieving net time savings of three-four orders of magnitude.