Virtual Timing Isolation for Mixed-Criticality Systems
Virtual Timing Isolation for Mixed-Criticality
Systems
Johannes Freitag
Airbus, Munich, Germany
Sascha Uhrig
Airbus, Munich, Germany
Theo Ungerer
University of Augsburg, Augsburg, Germany
Abstract
Commercial of the shelf multicore processors suffer from timing interferences between cores which
complicates applying them in hard real-time systems like avionic applications. This paper proposes a virtual timing isolation of one main application running on one core from all other cores.
The proposed technique is based on hardware external to the multicore processor and completely
transparent to the main application i.e., no modifications of the software including the operating system are necessary. The basic idea is to apply a single-core execution based Worst Case
Execution Time analysis and to accept a predefined slowdown during multicore execution. If
the slowdown exceeds the acceptable bounds, interferences will be reduced by controlling the
behavior of low-critical cores to keep the main application’s progress inside the given bounds.
Apart from the main goal of isolating the timing of the critical application a subgoal is also to
efficiently use the other cores. For that purpose, three different mechanisms for controlling the
non-critical cores are compared regarding efficient usage of the complete processor.
Measuring the progress of the main application is performed by tracking the application’s
Fingerprint. This technology quantifies online any slowdown of execution compared to a given
baseline (single-core execution). Several countermeasures to compensate unacceptable slowdowns
are proposed and evaluated in this paper, together with an accuracy evaluation of the Fingerprinting. Our evaluations using the TACLeBench benchmark suite show that we can meet a
given acceptable timing bound of 4 percent slowdown with a resulting real slowdown of only 3.27
percent in case of a pulse width modulated control and of 4.44 percent in the case of a frequency
scaling control.
2012 ACM Subject Classification Computer systems organization → Real-time systems, Computer systems organization → Embedded and cyber-physical systems, Computer systems organization → Reliability
Keywords and phrases multicore, hard real-time systems, timing isolation, safety-critical systems, mixed-criticality design and assurance
Digital Object Identifier 10.4230/LIPIcs.ECRTS.2018.13
Funding This work was partially supported by the German Federal Ministry of Education and
Research within the project ARAMiS II with the funding ID 01IS16025Q and the ARTEMIS
Joint Undertaking under grant agreement 621429 (EMC2).
© Johannes Freitag, Sascha Uhrig, and Theo Ungerer;
licensed under Creative Commons License CC-BY
30th Euromicro Conference on Real-Time Systems (ECRTS 2018).
Editor: Sebastian Altmeyer; Article No. 13; pp. 13:1–13:23
Leibniz International Proceedings in Informatics
Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, Germany
13:2
Virtual Timing Isolation for Mixed-Criticality Systems
1
Introduction
Several companies are seeking a new generation of autonomously piloted aircrafts for future
mobility concepts. Vehicles like Vahana, Pop-up, CityAirbus [4], or Lilium Jet [18] will be
ultra light-weight electrical helicopter-style vehicles providing a novel autonomous urban
transportation concept. The avionic systems for this kind of aircraft need to implement most
functionality available in current aircrafts while providing additional complex functionality
for autonomous flying. Furthermore, the electronic systems must be optimized for weight
and space in order to fit into this new generation of aircrafts.
A possible solution that enables the necessary integration of multiple avionic applications
into less avionic computers is the use of (massive) multicore processors comprising eight or
even more cores. Avionic systems show special requirements with respect to system reliability
and availability because of their safety-critical nature.
Even though first ideas of the regulations on how to apply multicore systems in avionics
are presented in the CAST-32 position paper and its follow-up CAST-32a [7], both authored
from the Certification Authorities Software Team (CAST), concrete design details are still
open. One of the major challenges in this context is the interference between applications
since theoretically one application can compromise another one, at least in the timing domain.
Accordingly, an essential requirement for certification is a clear and reliable isolation of
safety-critical applications that needs to be demonstrated to the certification authorities.
One of the most important issues is the contention on the memory (sub-)system resulting
from different applications on the cores since it has a major impact on the actual execution
time of an application. This is based not only on queued accesses to the memory and
interconnection systems but also on contention on shared caches.
For multicore systems, an approach to support execution of highly critical avionic (legacy)
applications is the Fingerprinting technology presented in [11]. Fingerprinting continuously
tracks the progress of an application by comparing the current state of execution to a virtual
single-core execution of the same application. Unacceptable timing deviations caused by
inter-core interferences can be mitigated by controlling the behavior of the non-critical cores.
Furthermore, the approach used for slowing down the cores shall allow the most efficient
possible usage of the other cores.
The contributions of this paper are
an evaluation of the Fingerprinting’s accuracy,
an analysis of the Fingerprinting’s (non-)intrusiveness on the main application,
three possible approaches to influence the behavior of the low priority cores for interference
reduction of the critical core,
a complete external closed control loop (CCL) that guarantees virtual timing isolation
between one main application and any other application running on a multicore system.
The remainder of this paper is organized as follows. The environment in which the
approach applies as well as the relevant hardware configurations are presented in Section 2.
Section 3 provides an overview of mature techniques and related work. The fingerprint
technology is described in Section 4 while the actuators are presented in Section 5. Section 6
introduces the complete control loop. Sections 4 to 6 comprise individual evaluations. The
paper concludes with Section 7 including an outlook on future work.
2
Setting the Scene
The avionic domain is a very defensive domain regarding novel technologies, mainly caused
by possible safety issues. Hence, we focus on the use of multicores with only a singlecore executing highly (safety) critical application (referred to as main application in the
J. Freitag, S. Uhrig, and T. Ungerer
13:3
following) while the others run applications with lower criticality. With respect to the timing
requirements examined (...truncated)