Isolation-Aware Timing Analysis and Design Space Exploration for Predictable and Composable Many-Core Systems

Composable many-core systems enable the independent development and analysis of applications which will be executed on a shared platform where the mix of concurrently executed applications may change dynamically at run time. For each individual application, an off-line Design Space Exploration (DSE) is performed to compute several mapping alternatives on the platform, offering Pareto-optimal trade-offs in terms of real-time guarantees, resource usage, etc. At run time, one mapping is then chosen to launch the application on demand. In this context, to enable an independent analysis of each individual application at design time, so-called inter-application isolation schemes are applied which specify temporal or spatial isolation policies between applications. S.o.t.a. composable many-core systems are developed based on a fixed isolation scheme that is exclusively applied to every resource in every mapping of every application and use a timing analysis tailored to that isolation scheme to derive timing guarantees for each mapping. A fixed isolation scheme, however, heavily restricts the explored space of solutions and can, therefore, lead to suboptimality. Lifting this restriction necessitates a timing analysis that is applicable to mappings with an arbitrary mix of isolation schemes on different resources. To address this issue, we present an isolation-aware timing analysis that unlike existing analyses can handle multiple isolation schemes in combination within one mapping and delivers safe yet tight timing bounds by identifying and excluding interference scenarios that can never happen under the given combination of isolation schemes. Based on the timing analysis, we present a DSE which explores the choices of isolation scheme per resource within each mapping. Experimental results demonstrate the advantage of the proposed approach over approaches based on a fixed isolation scheme.

[1]  Jürgen Teich,et al.  Time-Critical Systems Design: A Survey , 2018, IEEE Design & Test.

[2]  Narayanan Vijaykrishnan,et al.  Designing energy-efficient NoC for real-time embedded systems through slack optimization , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

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

[4]  Bernd Becker,et al.  A Definition and Classification of Timing Anomalies , 2006, WCET.

[5]  Riccardo Poli,et al.  Particle swarm optimization , 1995, Swarm Intelligence.

[6]  Steven Derrien,et al.  Tightening Contention Delays While Scheduling Parallel Applications on Multi-core Architectures , 2017, ACM Trans. Embed. Comput. Syst..

[7]  Benoît Dupont de Dinechin,et al.  A clustered manycore processor architecture for embedded and accelerated applications , 2013, 2013 IEEE High Performance Extreme Computing Conference (HPEC).

[8]  Chantal Ykman-Couvreur,et al.  An industrial design space exploration framework for supporting run-time resource management on multi-core systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

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

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

[11]  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.

[12]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[13]  Alan Burns,et al.  Real-Time Communication Analysis for On-Chip Networks with Wormhole Switching , 2008, Second ACM/IEEE International Symposium on Networks-on-Chip (nocs 2008).

[14]  Andy D. Pimentel,et al.  Design space pruning through hybrid analysis in system-level design space exploration , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[15]  Lothar Thiele,et al.  Scheduling of mixed-criticality applications on resource-sharing multicore systems , 2013, 2013 Proceedings of the International Conference on Embedded Software (EMSOFT).

[16]  William J. Dally,et al.  Virtual-channel flow control , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[17]  Peter J. Fleming,et al.  Genetic Algorithms for Multiobjective Optimization: FormulationDiscussion and Generalization , 1993, ICGA.

[18]  Vincent Nélis,et al.  A framework for memory contention analysis in multi-core platforms , 2015, Real-Time Systems.

[19]  Amit Kumar Singh,et al.  Mapping on multi/many-core systems: Survey of current and emerging trends , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[20]  Robert I. Davis,et al.  Response Time Analysis of Synchronous Data Flow Programs on a Many-Core Processor , 2016, RTNS '16.

[21]  Fernando Gehm Moraes,et al.  Scalability evaluation in many-core systems due to the memory organization , 2016, 2016 IEEE International Conference on Electronics, Circuits and Systems (ICECS).

[22]  Kees G. W. Goossens,et al.  Virtual execution platforms for mixed-time-criticality systems: the CompSOC architecture and design flow , 2013, SIGBED.

[23]  Lothar Thiele,et al.  Timed model checking with abstractions: towards worst-case response time analysis in resource-sharing manycore systems , 2012, EMSOFT '12.

[24]  Peter J. Fleming,et al.  An Overview of Evolutionary Algorithms in Multiobjective Optimization , 1995, Evolutionary Computation.

[25]  Michael Glaß,et al.  DAARM: Design-time application analysis and run-time mapping for predictable execution in many-core systems , 2014, 2014 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[26]  Santanu Chattopadhyay,et al.  Application Mapping Onto Mesh-Based Network-on-Chip Using Discrete Particle Swarm Optimization , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[27]  Timothy Mattson,et al.  A 48-Core IA-32 message-passing processor with DVFS in 45nm CMOS , 2010, 2010 IEEE International Solid-State Circuits Conference - (ISSCC).

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

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

[30]  Michael Glaß,et al.  Hard real-time application mapping reconfiguration for NoC-based many-core systems , 2019, Real-Time Systems.

[31]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

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

[33]  Michael Glaß,et al.  A Design-Time/Run-Time Application Mapping Methodology for Predictable Execution Time in MPSoCs , 2018, ACM Trans. Embed. Comput. Syst..

[34]  Alena Simalatsar,et al.  Near-optimal deployment of dataflow applications on many-core platforms with real-time guarantees , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[35]  C. Fonseca,et al.  GENETIC ALGORITHMS FOR MULTI-OBJECTIVE OPTIMIZATION: FORMULATION, DISCUSSION, AND GENERALIZATION , 1993 .

[36]  Leandro Soares Indrusiak,et al.  An extensible framework for multicore response time analysis , 2018, Real-Time Systems.

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

[38]  Peter Marwedel,et al.  Evaluation of resource arbitration methods for multi-core real-time systems , 2013, WCET.

[39]  Kees G. W. Goossens,et al.  Composability and Predictability for Independent Application Development, Verification, and Execution , 2011, Multiprocessor System-on-Chip.

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

[41]  Jan Reineke,et al.  Towards compositionality in execution time analysis: definition and challenges , 2015, SIGBED.

[42]  Lawrence. Davis,et al.  Handbook Of Genetic Algorithms , 1990 .

[43]  Jürgen Teich,et al.  Invasive Computing for Mapping Parallel Programs to Many-Core Architectures , 2018, Computer Architecture and Design Methodologies.

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

[45]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[46]  Alena Simalatsar,et al.  Worst-Case Execution Time Analysis for Many-Core Architectures with NoC , 2016, FORMATS.

[47]  Lothar Thiele,et al.  Mixed-criticality scheduling on cluster-based manycores with shared communication and storage resources , 2015, Real-Time Systems.

[48]  Chantal Ykman-Couvreur,et al.  Linking run-time resource management of embedded multi-core platforms with automated design-time exploration , 2011, IET Comput. Digit. Tech..

[49]  Jürgen Becker,et al.  Providing multiple hard latency and throughput guarantees for packet switching networks on chip , 2013, Comput. Electr. Eng..

[50]  Kees G. W. Goossens,et al.  CoMPSoC: A template for composable and predictable multi-processor system on chips , 2009, TODE.

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

[52]  Leandro Soares Indrusiak,et al.  A generic and compositional framework for multicore response time analysis , 2015, RTNS.