Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Autoren

  • Christian Dietrich
  • Martin Hoffmann
  • Daniel Lohmann

Externe Organisationen

  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
Forschungs-netzwerk anzeigen

Details

OriginalspracheEnglisch
Aufsatznummer35
FachzeitschriftACM Transactions on Embedded Computing Systems
Jahrgang16
Ausgabenummer2
PublikationsstatusVeröffentlicht - Jan. 2017
Extern publiziertJa

Abstract

Cyber-physical systems typically target a dedicated purpose; their embedded real-time control system, such as an automotive control unit, is designed with a well-defined set of functionalities. On the software side, this results in a large amount of implicit and explicit static knowledge about the system and its behavior already at compile time. Compilers have become increasingly better at extracting and exploiting such static knowledge. For instance, many optimizations have been lifted up to the interprocedural or even to the whole-program level. However, whole-program optimizations generally stop at the application-kernel boundary: control-flow transitions between different threads are not yet analyzed. In this article, we cross the application-kernel boundary by combining the semantics of a real-time operating system (RTOS) with deterministic fixed-priority scheduling (e.g., OSEK/AUTOSAR, ARINC 653, μITRON, POSIX.4) and the explicit application knowledge to enable system-wide, flow-sensitive compiler optimizations. We present two methods to extract a cross-kernel, control-flow-graph that provides a global view on all possible execution paths of a real-time system. Having this knowledge at hand, we tailor the operating system kernel more closely to the particular application scenario. For the example of a real-world safety-critical control system, we present three possible use cases. (1) Runtime optimizations, by means of specialized system calls for each call site, allow one speed up the kernel execution path by 28% in our benchmark scenario. Furthermore, we target transient hardware fault tolerance with two automated software-based countermeasures: (2) generation of OS state assertions on the expected system behavior, and (3) a system-wide dominator-region based control-flow error detection, both of which leverage significant robustness improvements.

ASJC Scopus Sachgebiete

Zitieren

Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis. / Dietrich, Christian; Hoffmann, Martin; Lohmann, Daniel.
in: ACM Transactions on Embedded Computing Systems, Jahrgang 16, Nr. 2, 35, 01.2017.

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Dietrich, Christian ; Hoffmann, Martin ; Lohmann, Daniel. / Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis. in: ACM Transactions on Embedded Computing Systems. 2017 ; Jahrgang 16, Nr. 2.
Download
@article{4b0fc49125d24edf9b947cd1ebc6232a,
title = "Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis",
abstract = "Cyber-physical systems typically target a dedicated purpose; their embedded real-time control system, such as an automotive control unit, is designed with a well-defined set of functionalities. On the software side, this results in a large amount of implicit and explicit static knowledge about the system and its behavior already at compile time. Compilers have become increasingly better at extracting and exploiting such static knowledge. For instance, many optimizations have been lifted up to the interprocedural or even to the whole-program level. However, whole-program optimizations generally stop at the application-kernel boundary: control-flow transitions between different threads are not yet analyzed. In this article, we cross the application-kernel boundary by combining the semantics of a real-time operating system (RTOS) with deterministic fixed-priority scheduling (e.g., OSEK/AUTOSAR, ARINC 653, μITRON, POSIX.4) and the explicit application knowledge to enable system-wide, flow-sensitive compiler optimizations. We present two methods to extract a cross-kernel, control-flow-graph that provides a global view on all possible execution paths of a real-time system. Having this knowledge at hand, we tailor the operating system kernel more closely to the particular application scenario. For the example of a real-world safety-critical control system, we present three possible use cases. (1) Runtime optimizations, by means of specialized system calls for each call site, allow one speed up the kernel execution path by 28% in our benchmark scenario. Furthermore, we target transient hardware fault tolerance with two automated software-based countermeasures: (2) generation of OS state assertions on the expected system behavior, and (3) a system-wide dominator-region based control-flow error detection, both of which leverage significant robustness improvements.",
keywords = "AUTOSAR, Global control-flow graph, OSEK, Static analysis, Static system tailoring, Whole-system optimization",
author = "Christian Dietrich and Martin Hoffmann and Daniel Lohmann",
year = "2017",
month = jan,
doi = "10.1145/2950053",
language = "English",
volume = "16",
journal = "ACM Transactions on Embedded Computing Systems",
issn = "1539-9087",
publisher = "Association for Computing Machinery (ACM)",
number = "2",

}

Download

TY - JOUR

T1 - Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis

AU - Dietrich, Christian

AU - Hoffmann, Martin

AU - Lohmann, Daniel

PY - 2017/1

Y1 - 2017/1

N2 - Cyber-physical systems typically target a dedicated purpose; their embedded real-time control system, such as an automotive control unit, is designed with a well-defined set of functionalities. On the software side, this results in a large amount of implicit and explicit static knowledge about the system and its behavior already at compile time. Compilers have become increasingly better at extracting and exploiting such static knowledge. For instance, many optimizations have been lifted up to the interprocedural or even to the whole-program level. However, whole-program optimizations generally stop at the application-kernel boundary: control-flow transitions between different threads are not yet analyzed. In this article, we cross the application-kernel boundary by combining the semantics of a real-time operating system (RTOS) with deterministic fixed-priority scheduling (e.g., OSEK/AUTOSAR, ARINC 653, μITRON, POSIX.4) and the explicit application knowledge to enable system-wide, flow-sensitive compiler optimizations. We present two methods to extract a cross-kernel, control-flow-graph that provides a global view on all possible execution paths of a real-time system. Having this knowledge at hand, we tailor the operating system kernel more closely to the particular application scenario. For the example of a real-world safety-critical control system, we present three possible use cases. (1) Runtime optimizations, by means of specialized system calls for each call site, allow one speed up the kernel execution path by 28% in our benchmark scenario. Furthermore, we target transient hardware fault tolerance with two automated software-based countermeasures: (2) generation of OS state assertions on the expected system behavior, and (3) a system-wide dominator-region based control-flow error detection, both of which leverage significant robustness improvements.

AB - Cyber-physical systems typically target a dedicated purpose; their embedded real-time control system, such as an automotive control unit, is designed with a well-defined set of functionalities. On the software side, this results in a large amount of implicit and explicit static knowledge about the system and its behavior already at compile time. Compilers have become increasingly better at extracting and exploiting such static knowledge. For instance, many optimizations have been lifted up to the interprocedural or even to the whole-program level. However, whole-program optimizations generally stop at the application-kernel boundary: control-flow transitions between different threads are not yet analyzed. In this article, we cross the application-kernel boundary by combining the semantics of a real-time operating system (RTOS) with deterministic fixed-priority scheduling (e.g., OSEK/AUTOSAR, ARINC 653, μITRON, POSIX.4) and the explicit application knowledge to enable system-wide, flow-sensitive compiler optimizations. We present two methods to extract a cross-kernel, control-flow-graph that provides a global view on all possible execution paths of a real-time system. Having this knowledge at hand, we tailor the operating system kernel more closely to the particular application scenario. For the example of a real-world safety-critical control system, we present three possible use cases. (1) Runtime optimizations, by means of specialized system calls for each call site, allow one speed up the kernel execution path by 28% in our benchmark scenario. Furthermore, we target transient hardware fault tolerance with two automated software-based countermeasures: (2) generation of OS state assertions on the expected system behavior, and (3) a system-wide dominator-region based control-flow error detection, both of which leverage significant robustness improvements.

KW - AUTOSAR

KW - Global control-flow graph

KW - OSEK

KW - Static analysis

KW - Static system tailoring

KW - Whole-system optimization

UR - http://www.scopus.com/inward/record.url?scp=85008476027&partnerID=8YFLogxK

U2 - 10.1145/2950053

DO - 10.1145/2950053

M3 - Article

AN - SCOPUS:85008476027

VL - 16

JO - ACM Transactions on Embedded Computing Systems

JF - ACM Transactions on Embedded Computing Systems

SN - 1539-9087

IS - 2

M1 - 35

ER -