Synthesis of Optimized AUTOSAR Embedded Systems: Automated System-Call Specialization and Lock Elision on Multicore Applications as a Whole-System Approach
- Typ der Arbeit: Masterarbeit
- Status der Arbeit: abgeschlossen
- Projekte: AHA
- Betreuer: Gerion Entrup, Daniel Lohmann
- Bearbeiter: Andreas Kässens
- Ende der Arbeit: 14. Jun 2023
- Ausarbeitung: [PDF]
Embedded real-time systems in safety-critical areas, such as in the automotive and aerospace industries, have particularly high software requirements regarding safety and reliability. In the automotive sector, the operating system standard AUTomotive Open System ARchitecture (AUTOSAR) has been established as a common basis among manufacturers and suppliers to meet these criteria. With priority-based real-time scheduling and static configuration, AUTOSAR-compliant operating systems are well suited for deployment in real-time systems. However, there is an aim to further optimize these software systems to improve their non-functional characteristics, including dependability, memory consumption, and runtime delays. In this thesis, I present the development of the Multicore AUTOSAR Compatible Application-specific Whole-system-optimizer (MACAW) system generator that supports the key interfaces of the AUTOSAR operating system specification. Using the Automated Real-time system Analyzer (ARA) framework, previous work developed the MultiSSE, a static code analysis to obtain a graph enumerating and connecting all possible system states. By automatically detecting certain interaction patterns between operating system objects in this graph, the performance of operating system calls can be optimized. Costly actions such as Inter-Processor Interrupts (IPIs) or spinlock operations can be eliminated if they do not affect subsequent system states. Spinlock operations that are never executed by two processor cores simultaneously can be omitted without affecting functionality, and IPIs that do not affect scheduling on the target core can be skipped. MACAW is implemented as the synthesis step within the ARA framework for real-time applications and currently supports the POSIX platform. At compile time, the detected optimizations will be automatically applied to a specialized system call variant for each call site. Evaluation of available test applications shows that about 28 % of the affected cross-core system calls can be optimized. In particular, the avoidance of IPIs leads to a measurable reduction in delays and jitter.
Topics covered by this thesis:
low level programming, C, C++, Python
Further Reading
-
RTAS
Conference
A
MultiSSE: Static Syscall Elision and Specialization for Event-Triggered Multi-Core RTOS -
Proceedings of the 29th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'23)2023.
PDF Details Slides [BibTex]
-
OSPERT
Workshop
B
ARA: Automatic Instance-Level Analysis in Real-Time Systems -
Proceedings of the 15th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '19)2019.
PDF [BibTex]
-
OSPERT
Workshop
B
Best Paper Award
Levels of Specialization in Real-Time Operating Systems -
Proceedings of the 14th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '18)2018Best Paper Award.
PDF [BibTex]
-
LCTES
Conference
A
Cross-Kernel Control-Flow-Graph Analysis for Event-Driven Real-Time Systems -
Proceedings of the 2015 ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES '15)ACM Press2015.
PDF Raw Data 10.1145/2670529.2754963 [BibTex]