Implementation of Mixed-Criticality Applications on Multi-Core Architectures
Georgia Giannopoulou · Repository for Publications and Research Data (ETH Zurich) · 2017
Embedded systems are increasingly used in safety-critical domains, such as avionics and automotive.Given the potential impact of failures on human lives and the environment, the correct design of such systems is typically subject to certification.Correctness depends not only on functional specifications, but also on the ability to fulfill stringent timing constraints.For this, system designers need to provide realtime guarantees, usually in the form of analytically derived worst-case execution time bounds.Nowadays, safety-critical systems are often mixed-critical, in which multiple functionalities with different safety criticality levels are integrated in a common embedded platform for reduced cost, size, weight and power dissipation.The current industrial practice requires that applications with different safety criticality are temporally isolated, such that they cannot delay the activities of each other.Given the ever increasing computational demand, the next envisioned step is the deployment of mixed-criticality applications on multi-core platforms.However, this is challenging because multi-core platforms feature shared resources, such as last-level caches and memory interconnects.Concurrently executed applications (with potentially different safety criticality) can delay each other due to contention on these resources.Eliminating or bounding the temporal effects of such interference is not trivial due to the uncertainty with respect to the occurrence of resource accesses in time and the state of the resources.In this thesis, we address challenges related to the development of mixed-criticality multi-core systems.The main contributions can be summarized as follows:• We propose scheduling policies for efficiently exploiting the computing power of multicores, while preserving temporal isolation among applications with different safety criticality levels.• We combine these policies with design optimization methods for minimizing interference among applications with the same criticality level.• We propose analytic and state-based approaches for bounding the delays that concurrently executed tasks experience due to contention on shared resources.• We demonstrate how the proposed scheduling policies can be deployed on a state-of-the-art many-core platform in a way that enables the provision of real-time guarantees at design time and ensures an efficient resource utilization at runtime.