Skip to main content

About this book

This book introduces a generic and systematic design-time/run-time methodology for handling the dynamic nature of modern embedded systems, without adding large safety margins in the design. The techniques introduced can be utilized on top of most existing static mapping methodologies to deal effectively with dynamism and to increase drastically their efficiency. This methodology is based on the concept of system scenarios, which group system behaviors that are similar from a multi-dimensional cost perspective, such as resource requirements, delay, and energy consumption. Readers will be enabled to design systems capable to adapt to current inputs, improving system quality and/or reducing cost, possibly learning on-the-fly during execution.Provides an effective solution to deal with dynamic system designIncludes a broad survey of the state-of-the-art approaches in this domainEnables readers to design for substantial cost improvements (e.g. energy reductions), by exploiting system scenariosDemonstrates how the methodology has been applied effectively on various, real design problems in the embedded system context

Table of Contents


Chapter 1. Introduction and Organization of Book Material

The focus of this book is on the principles and the use of the system scenario approach. This concept effectively supports the efficient realization of systems in the presence of strong dynamic behavior. The efficiency can be obtained in a multi-dimensional cost space. Realizations can involve the mapping of applications on some type of implementation platforms, but the approach is not limited to this, as the demonstrators in this book illustrate.
Francky Catthoor, Twan Basten, Nikolaos Zompakis, Marc C. W. Geilen, Per Gunnar Kjeldsberg

Chapter 2. System Scenario Methodology Flow

In the past decade, real-time embedded systems have become much more complex due to the introduction of a lot of new functionality in one application, and due to running multiple applications concurrently. This increases the dynamic nature of today’s applications and systems, and tightens the requirements for their constraints in terms of deadlines and energy consumption. State-of-the-art design methodologies try to cope with these novel issues by identifying several most used cases and dealing with them separately, reducing the newly introduced complexity. This chapter presents a generic and systematic design-time/run-time methodology for handling the dynamic nature of modern embedded systems, which can be utilized by existing design methodologies to increase their efficiency. It is based on the concept of system scenarios, which group system behaviors that are similar from a multi-dimensional implementation trade-off cost perspective, in such a way that the final system mapping can be configured to exploit this cost similarity. Important examples of such trade-offs are such as delay/latency, throughput, resource allocation, and energy/power consumption. Obviously, also any applicable design restrictions should be incorporated as boundary constraints for this trade-off exploration and the grouping.At design-time, these system scenarios are individually optimized. Mechanisms for predicting the current scenario at run-time and for switching between scenarios are also derived. This design trajectory is augmented with a run-time calibration mechanism, which allows the system to learn on-the-fly during its execution, and to adapt itself to the current input stimuli, by extending the scenario set, changing the scenario definitions, and both the prediction and switching mechanisms. To show the broad applicability of our methodology, the rest of the book illustrates how it has been applied for many different real-life design problems with widely different characteristics and requirements. In all presented case studies, substantial system implementation cost trade-offs have been obtained by exploiting the system scenario methodology. In order to have an illustration also in this chapter, a running case study based on control variable system scenarios is integrated here already.
Francky Catthoor

Chapter 3. System-Scenario-based Design Techniques in the Presence of Data Variables

This chapter describes necessary adaptation needed for the system scenario approach to work in the presence of data variables. After a brief introduction to the difference between control and data variable dependencies, we present techniques for scenario identification, scenario detection, and scenario switching. Finally, we show results from a real-life video encoder, demonstrating up to a factor of two energy reduction while maintaining the perceptual video quality and frame rate.
Elena Hammari, Yahya H. Yassin, Iason Filippopoulos, Francky Catthoor, Per Gunnar Kjeldsberg

Chapter 4. DVFS-Oriented Scenario Applications to Processor Architectures

The objective of the present chapter is to perform synergies among system scenario methodologies and processor mapping with emphasis on DVFS. First, we exploit the system scenario methodology and combine it with a DVFS-aware scheduler to ensure timing deadlines for both hard and soft real-time processor systems. Next, we have added a novel sleep mode extension on top of the DVFS configuration to further increase our energy gains. This has been demonstrated for an SAM4L processor platform. Later, we switched to the reliability-sensitive embedded systems domain, and performed a relevant case study of a PID controller pieced together with a simple system scenario methodology to actuate DVFS and manage dependability in a successful manner. The concept of a turbo, “gas-pedal” point is also discussed. Experiments in this case were performed on pure hardware, on the NXP IMX6Q board.
Nikolaos Zombakis, Yahya H. Yassin, Michail Noltsis, Dimitrios Soudris, Per Gunnar Kjeldsberg, Francky Catthoor

Chapter 5. DVAFS—Dynamic-Voltage-Accuracy-Frequency-Scaling Applied to Scalable Convolutional Neural Network Acceleration

Dynamic-voltage-accuracy-frequency-scaling (DVAFS) is a generalization of the more common concept of dynamic-voltage-frequency-scaling (DVFS) where, instead of modulating voltage and frequency with changing throughput requirements, voltage and frequency are changed in scenarios with different accuracy requirements. The chapter introduces DVAFS, discusses its performance on the block- and system-level, and compares it to existing similar techniques. Finally, the chapter discusses Envision, a DVAFS-compatible silicon for convolutional neural network accelerator, and its use case in a hierarchical cascade for face recognition.
Bert Moons, Marian Verhelst

Chapter 6. Run-Time Exploitation of Application Dynamism for Energy-Efficient Exascale Computing

As in the embedded systems domain, energy efficiency has recently become one of the main design criteria in high performance computing. The European Union Horizon 2020 project READEX (Run-time Exploitation of Application Dynamism for Energy-efficient eXascale computing) has developed a tools-aided auto-tuning methodology inspired by system scenario based design. Applying similar concepts as those presented in earlier chapters of this book, the dynamic behavior of HPC applications is exploited to achieve improved energy efficiency and performance. Driven by a consortium of European experts from academia, HPC resource providers, and industry, the READEX project has developed the first generic framework of its kind for split design-time and run-time tuning while targeting heterogeneous systems at the Exascale level. Using a real-life boundary element application, energy savings of more than 30% can be shown.
Per Gunnar Kjeldsberg, Robert Schöne, Michael Gerndt, Lubomir Riha, Venkatesh Kannan, Kai Diethelm, Marie-Christine Sawley, Jan Zapletal, Andreas Gocht, Nico Reissmann, Ondrej Vysocky, Madhura Kumaraswamy, Wolfgang E. Nagel

Chapter 7. System Scenario Application to Dependable System Design

The integration scale in one chip in the last decades has improved dramatically, highlighting in the same time critical reliability issues. Run-time mechanisms that correct errors in real-time deal ensure the operation reliability, availability, and serviceability (RAS), paying a price in performance as expressed in extra clock cycles. The system scenario concept can contribute to improve these mechanisms exploiting a flexibility decision-making scheme. The current section deploys such a run-time mechanism that mitigates the correction overhead, guaranteeing the performance dependability. As discussed in ch_DVFS we have developed a quite broad range of DVFS configuration knob oriented scenario approaches. These will be partly exploited also here. In this direction, a closed-loop controller absorbs the RAS-induced delay by triggering dynamic voltage and frequency scaling (DVFS) schemes. We go a step-forward of the generic scenario methodology importing the meaning of the scenarios adaptation in operation norms after the definition of an initial scenario set. More precisely, in the current chapter we focus on the run-time adjustment of the DVFS responses to the identified performance variability norms. To achieve this, we exploit an adaptive scenario scheduler that reorganizes the scenario hierarchy at run-time. Compared against an approach utilizing a 30% operation frequency guardband, the proposed configuration achieves an 83.9% exploitation of the nominal improvement margins that corresponds to an energy gain up to 15%, ensuring to a large extent the performance dependability.
Nikolaos Zompakis, Dimitrios Rodopoulos, Michail Noltsis, Francky Catthoor, Dimitrios Soudris

Chapter 8. Scenarios in Dataflow Modeling and Analysis

Dataflow models can be used to model and program concurrent systems and applications. Static timed dataflow models commonly abstract the temporal behavior of systems in terms of their worst-case behaviors. This may lead to models that are very pessimistic. The scenario methodology can be applied to the dataflow modeling approach to group similar dynamic behaviors into static dataflow behaviors that abstract the system scenarios in a tight fashion. Constraints on the possible scenario transitions in the system can be modeled, among other options, by a finite state automaton. This approach leads to a model called scenario-aware dataflow (SADF) that is presented in this chapter. We introduce the model and its semantics and discuss its fundamental analysis techniques. We discuss a parameterized extension and its analysis. We discuss a dataflow programming model and its implementation challenges. We give an overview of refined analysis techniques and run-time exploitation possibilities of SADF.
Marc C. W. Geilen, Mladen Skelin, J. Reinier van Kampenhout, Hadi Alizadeh Ara, Twan Basten, Sander Stuijk, Kees G. W. Goossens

Chapter 9. Scenarios in the Design of Flexible Manufacturing Systems

Modern high-tech flexible manufacturing systems (FMS) such as lithography systems, professional printers, X-ray machines, and electron microscopes are characterized by an increasingly tight coupling between machine control software and the controlled physical processes. Control software and the design and configuration of FMS have an important impact on system productivity and product quality. Model-based, scenario-based design provides means for guaranteeing and optimizing system productivity while ensuring its proper functioning. We show that abstract system-level activity models, semantically grounded in (max,+) algebra with activities capturing execution scenarios of the FMS, can be used for fast and accurate productivity analysis of FMS in early design phases. The same models can be used for supervisory controller synthesis and optimization, providing safety and performance guarantees in the supervisory control software. Finally, scenario-based, adaptive, pipelined control enables optimization of data-intensive control loops in FMS, which in turn impacts system-level productivity.
Twan Basten, João Bastos, Róbinson Medina, Bram van der Sanden, Marc C. W. Geilen, Dip Goswami, Michel A. Reniers, Sander Stuijk, Jeroen P. M. Voeten


Additional information