Run-Time Enforcement of Non-Functional Application Requirements in Heterogeneous Many-Core Systems

For many embedded applications, non-functional requirements such as safety, reliability, and execution time must be guaranteed in tight bounds on a given multi-core platform. Here, jitter in non-functional program execution qualities is caused either by outer influences such as faults injected by the environment, but can be induced also from the system management software itself, including thread-to-core mapping, scheduling and power management. A second huge source of variability typically stems from data-dependent workloads. In this paper, we classify and present techniques to enforce nonfunctional execution properties on multi-core platforms. Based on a static design space exploration and analysis of influences of variability of non-functional properties, enforcement strategies are generated to guide the execution of periodically executed applications in given requirement corridors. Using the case study of a complex image streaming application, we show that by controlling DVFS settings of cores proactively, not only tight execution times, but also reliability requirements may be enforced dynamically while trying to minimize energy consumption.

[1]  Cristiana Bolchini,et al.  A Runtime Resource Management Policy for OpenCL Workloads on Heterogeneous Multicores , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[2]  Jürgen Teich,et al.  Invasive Computing: An Overview , 2011, Multiprocessor System-on-Chip.

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

[4]  Michael Glaß,et al.  ActorX10: an actor library for X10 , 2016, X10@PLDI.

[5]  Partha S. Roop,et al.  Runtime enforcement of reactive systems using synchronous enforcers , 2017, SPIN.

[6]  Michael Glaß,et al.  Language and Compilation of Parallel Programs for *-Predictable MPSoC Execution Using Invasive Computing , 2016, 2016 IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSOC).

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

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

[9]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[10]  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).

[11]  Henry Hoffmann,et al.  POET: a portable approach to minimizing energy under soft real-time constraints , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

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

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

[14]  Sander Stuijk,et al.  Throughput-constrained DVFS for scenario-aware dataflow graphs , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

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

[16]  Amit Kumar Singh,et al.  Energy Minimization for Multicore Platforms Through DVFS and VR Phase Scaling With Comprehensive Convex Model , 2020, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  Amit Kumar Singh,et al.  Energy optimization by exploiting execution slacks in streaming applications on Multiprocessor Systems , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[18]  Pasi Liljeberg,et al.  Approximation-Aware Coordinated Power/Performance Management for Heterogeneous Multi-cores , 2018, 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC).

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

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

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

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

[23]  Jürgen Teich,et al.  Symmetry-Eliminating Design Space Exploration for Hybrid Application Mapping on Many-Core Architectures , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

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