IGOR, Get Me the Optimum! Prioritizing Important Design Decisions During the DSE of Embedded Systems

Design Space Exploration (DSE) techniques for complex embedded systems must cope with a huge variety of applications and target architectures as well as a wide spectrum of objectives and constraints. In particular, existing design automation approaches are either problem-independent, in that they do not exploit any knowledge about the optimization problem at hand, or are tailored to specific a priori assumptions about the problem and/or a specific set of design objectives. While the latter are only applicable within a very limited scope of design problems, the former may struggle to deliver high-quality solutions for problems with large design spaces and/or complex design objectives. As a remedy, we propose Importance-Guided Order Rearrangement (IGOR) as a novel approach for DSE of embedded systems. Instead of relying on an a priori problem knowledge, IGOR uses a machine-learning-inspired technique to dynamically analyze the importance of design decisions, i.e., the impact that these decisions—within the specific problem that is being optimized—have on the quality of explored problem solutions w.r.t. the given design objectives. Throughout the DSE, IGOR uses this information to guide the optimization towards the most promising regions of the design space. Experimental results for a variety of applications from different domains of embedded computing and for different optimization scenarios give evidence that the proposed approach is both scalable and adaptable, as it can be used for the optimization of systems described by several thousands constraints, where it outperforms both problem-specific and problem-independent optimization approaches and achieves ϵ-dominance improvements of up to 95%.

[1]  Wei-Yin Loh,et al.  Classification and regression trees , 2011, WIREs Data Mining Knowl. Discov..

[2]  Luca P. Carloni,et al.  On learning-based methods for design-space exploration with High-Level Synthesis , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[3]  Andrew W. Moore,et al.  Learning Evaluation Functions to Improve Optimization by Local Search , 2001, J. Mach. Learn. Res..

[4]  R. Tavakkoli-Moghaddam,et al.  Reliability optimization of series-parallel systems with a choice of redundancy strategies using a genetic algorithm , 2008, Reliab. Eng. Syst. Saf..

[5]  Sébastien Vérel,et al.  Estimating Relevance of Variables for Effective Recombination , 2019, EMO.

[6]  Alberto L. Sangiovanni-Vincentelli,et al.  Embedded System Design for Automotive Applications , 2007, Computer.

[7]  Michael Glaß,et al.  Variety-aware Routing Encoding for Efficient Design Space Exploration of Automotive Communication Networks , 2019, VEHITS.

[8]  Berkin Özisikyilmaz,et al.  Efficient system design space exploration using machine learning techniques , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[9]  Michael Glaß,et al.  Multi-objective local-search optimization using reliability importance measuring , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[10]  Carlos Artemio Coello-Coello,et al.  Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art , 2002 .

[11]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[12]  Luca Fossati,et al.  Decision-Theoretic Design Space Exploration of Multiprocessor Platforms , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Amit Kumar Singh,et al.  Accelerating throughput-aware runtime mapping for heterogeneous MPSoCs , 2013, TODE.

[14]  Jürgen Teich,et al.  System-Level Synthesis Using Evolutionary Algorithms , 1998, Des. Autom. Embed. Syst..

[15]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[16]  Martin Lukasiewycz,et al.  Opt4J: a modular framework for meta-heuristic optimization , 2011, GECCO '11.

[17]  Martin Lukasiewycz,et al.  Combined system synthesis and communication architecture exploration for MPSoCs , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[18]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[19]  Martin Lukasiewycz,et al.  SAT-decoding in evolutionary algorithms for discrete constrained optimization problems , 2007, 2007 IEEE Congress on Evolutionary Computation.

[20]  Michael Glaß,et al.  Automatic operating point distillation for hybrid mapping methodologies , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[21]  Behnaz Pourmohseni,et al.  Isolation-Aware Timing Analysis and Design Space Exploration for Predictable and Composable Many-Core Systems , 2019, ECRTS.

[22]  Sébastien Vérel,et al.  Learning Variable Importance to Guide Recombination on Many-Objective Optimization , 2017, 2017 6th IIAI International Congress on Advanced Applied Informatics (IIAI-AAI).

[23]  Amit Kumar Singh,et al.  Incorporating Energy and Throughput Awareness in Design Space Exploration and Run-Time Mapping for Heterogeneous MPSoCs , 2013, 2013 Euromicro Conference on Digital System Design.

[24]  Martin Lukasiewycz,et al.  Hybrid Optimization Techniques for System-Level Design Space Exploration , 2017, Handbook of Hardware/Software Codesign.

[25]  P.T. Wolkotte,et al.  Energy Model of Networks-on-Chip and a Bus , 2005, 2005 International Symposium on System-on-Chip.

[26]  Jürgen Teich,et al.  Architecture Decomposition in System Synthesis of Heterogeneous Many-Core Systems , 2018, 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC).

[27]  Michael Glaß,et al.  Automatic Optimization of Redundant Message Routings in Automotive Networks , 2018, SCOPES.

[28]  Martin Lukasiewycz,et al.  System simulation and optimization using reconfigurable hardware , 2014, 2014 International Symposium on Integrated Circuits (ISIC).

[29]  Lionel M. Ni,et al.  A survey of wormhole routing techniques in direct networks , 1993, Computer.

[30]  Andy D. Pimentel,et al.  NASA: A generic infrastructure for system-level MP-SoC design space exploration , 2010, 2010 8th IEEE Workshop on Embedded Systems for Real-Time Multimedia.

[31]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[32]  Andreas Krause,et al.  "Smart" design space sampling to predict Pareto-optimal solutions , 2012, LCTES '12.

[33]  Marco Laumanns,et al.  Combining Convergence and Diversity in Evolutionary Multiobjective Optimization , 2002, Evolutionary Computation.

[34]  Donatella Sciuto,et al.  Optimization Strategies in Design Space Exploration , 2017, Handbook of Hardware/Software Codesign.

[35]  Radu Marculescu,et al.  Learning-Based Application-Agnostic 3D NoC Design for Heterogeneous Manycore Systems , 2018, IEEE Transactions on Computers.

[36]  Christian Haubelt,et al.  Exact multi-objective design space exploration using ASPmT , 2018, 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[37]  Marco Laumanns,et al.  SPEA2: Improving the strength pareto evolutionary algorithm , 2001 .

[38]  Emanuele Borgonovo,et al.  Guiding Genetic Algorithms using importance measures for reliable design of embedded systems , 2016, 2016 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT).