Design Space Exploration of Parameterized Systems using Design of Experiments
- Author(s): Sheldon, David
- Advisor(s): Vahid, Frank
- et al.
Recent trends have led to parameterization of many computing components, such as parameterized processors, caches, FPGAs or networks-on-chip, as well as parameters in design tools such as optimization flags. Tuning parameterized systems to meet design goals like performance, energy, size, or power, has become harder due to the enormous design space created by such parameters and due to the large time required to evaluate each system configuration. Previous design space exploration approaches for parameterized systems have either focused on custom or randomized search heuristics. We map such design space exploration onto a statistical paradigm known as Design of Experiments, a paradigm under development since the 1920s that uses methodical experiment selection and sophisticated analysis to obtain maximum information using a minimum number of experiments. We introduce our DPG (Design-of-experiments Pareto-point Generator) method that performs flexible exploration by allowing the designer to provide information about the number and types of parameters, the approximate time to evaluate a configuration, and the total allowable exploration time. From that information, DPG automatically determines a custom set of experiments to best explore the design space within the allowable time. Such customized design-of-experiments-based exploration represents the unique contribution of this work. We show that DPG provides competitive results across different domains, without requiring the designer to have a detailed understanding of parameter impacts. We created a web-based DPG tool to support designers from various domains, which accepts information from the designer and generates experiments that the designer conducts (iteratively), and generates data and plots from the analysis, including Pareto-points. The effectiveness of the DoE paradigm for system tuning may have broad applicability for design automation.