This project seeks to enable model-driven optimizations spanning multiple levels of a computing system including the architecture, compiler, algorithm and application layers, for multiple objectives such as performance, power and productivity. A primary goal is to develop a comprehensive framework for model-driven multilevel, multiobjective optimizations with a focus on chip multiprocessors (CMPs) and large-scale, sparse engineering and scientific applications. Key activities concern developing (i) parameterized models to compose models of the application, architecture and compiler transformations, (ii) an optimization framework to determine multiobjective, optimal or pareto-optimal designs while modeling uncertainties, and (iii) undergraduate and graduate courses on the methodology for multilevel optimizations of computing systems,
The proposed techniques yield metrics at coarse- and medium-scales that can be used with stochastic optimization techniques to determine optimal design choices. The medium-scale metrics are obtained by simulating a concatenated discrete time Markov Chain model (C-DT-MCM) which incorporates both the deterministic and stochastic aspects of multilevel optimizations and their impacts. Such C-DT-MCMs can be simulated very efficiently to obtain traces which can then be compared using statistical techniques with those from detailed hardware simulation. Using this approach, only promising design options need be studied in detail, using current modalities, such as detailed hardware simulators, which can be prohibitively slow for larger CMP architectures.