AHA: Automated Hardware Abstraction in Operating-System Engineering (DFG: LO 1719/4-1)
Operating systems have always served the purpose to abstract and complement the capabilities of the underlying hardware. Conceptually, the operating system generalizes and expands the instruction set of the machine by partial interpretation and multiplexing of hardware resources. It simplifies the development and portability of applications by hiding the hardware from the application developer.
The price for abstraction and generalization are inefficiencies (with regard to storage requirements, energy requirements, eventuality, predictability, security, etc.) for the concrete application: The power of the generalized concepts is not fully used – but still provided. Hardware resources are virtualized by multiplexing – even in cases a direct mapping would be possible. Even in the OS implementation itself, the hardware is often not used directly, but again accessed via a further, partially interpreting hardware abstraction layer.
Our goal with AHA (Automated Hardware Abstraction in Operating System Design) is to improve nonfunctional properties of system software by a very deep, but fully automated specialization of the application-hardware bridge represented by the operating system. We want to investigate, how more directly mapped implementation variants of the "same" OS functionality – which are semantically equivalent (only) for a particular application – can be generated fully automatically from analyzing this application and its specific interactions with the operating system.
In the context of AHA, "Application" and "operating system functionality" covers the domain of embedded special purpose systems (automotive control unit, IoT device, embedded server node ...); "Hardware" stands for commercial-of-the-shelf platforms (Infineon AURIX, ARM, ...) using their specific characteristics as well as for completely application-specific processor hardware (such as RISC-V). In an extreme case, the specific operating-system functionality required by a particular application is instantiated directly into the command set and pipeline of the processors.
The application developer can – transparently – select among different specialization stages: from "classic" software-based specialization over application-/hardware-specific specialization on standard hardware up to the specialization of the hardware itself to cover the actually needed operating-system extensions.
The basic research question we want to answer with AHA is: What is the highest possible degree of application- and hardware-specific specialization and generalization of system software? Which efficiency gains can be achieved at what cost by problem-specific specialization, on the premise that the process of specialization can be performed completely automatically?
People
Latest News
Tobias Landsberg receives the award for best master thesis in the field of operating systems. The award is granted annually by the SIG on Operating Systems of the German Computer Assiciation (GI Fachgruppe Betriebssysteme) solely on the base of scientific excellence. It includes a price money of 500 €. Congrats, Tobias!
In his thesis Analyzing and Optimizing TLB-Induced Thread Migration Costs on Linux/ARM Tobias evaluates if it is feasable and benefitial to pre-warm the TLB (Translation Look-Aside Buffer) when a thread is migrated to another core. He analyzes existing ARM cores, presents and evaluates possible hardware extensions in gem5 and and provides a complete Linux integration for the system.
Gerion Entrup presents our paper ARA: Automatic Instance-Level Analysis in Real-Time Systems at the 15th Workshop on Operating System Platforms for Embedded Real-Time Applications (OSPERT '19), in Stuttgart. In the paper we describe ARA, an analysis framework and tool to detect and visualize, how a given application employs RTOS abstractions. As a tool, ARA helps to understand how the tasks of an application given as source code interact which each other. The framework itself is an important building block towards our goal of fully automatic application analysis in the AHA project.
Publications
-
RTAS
Conference
A
ARA: Static Initialization of Dynamically-Created System Objects -
RTAS 20212021.
PDF Details [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]
-
RTSS
Conference
A*
RT.js: Practical Real-Time Scheduling for Web Applications -
Proceedings of the 40th IEEE Real-Time Systems Symposium 2019IEEE Computer Society Press2019.
PDF 10.1109/RTSS46320.2019.00017 [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]
-
RTSS
Conference
A*
Semi-Extended Tasks: Efficient Stack Sharing Among Blocking Threads -
Proceedings of the 39th IEEE Real-Time Systems Symposium 2018IEEE Computer Society Press2018.
PDF Details Slides Raw Data 10.1109/RTSS.2018.00049 [BibTex]
-
ECRTS
Conference
A
Outstanding Paper Award
Whole-System Worst-Case Energy-Consumption Analysis for Energy-Constrained Real-Time Systems -
Proceedings of the 30th Euromicro Conference on Real-Time Systems 2018Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik2018Outstanding Paper Award.
PDF 10.4230/LIPIcs.ECRTS.2018.24 [BibTex]
-
FMCAD
Conference
Automatic Verification of Application-Tailored OSEK Kernels -
Proceedings of the 17th Conference on Formal Methods in Computer-Aided Design (FMCAD '17)ACM Press2017.
PDF 10.23919/FMCAD.2017.8102260 [BibTex]
-
TECS
Journal
A
Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis -
ACM Transactions on Embedded Computing Systems16.2ACM Press2017.
PDF Raw Data 10.1145/2950053 [BibTex]
-
LCTES
Conference
A
OSEK-V: Application-Specific RTOS Instantiation in Hardware -
Proceedings of the 2017 ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES '17)ACM Press2017.
PDF Raw Data 10.1145/3078633.3078637 [BibTex]
-
ESE
Invited Talk
SysWCET: Ende-zu-Ende-Antwortzeiten für OSEK-Systeme -
Tagungsband des Embedded Software Engineering Kongress 20172017.
PDF Slides [BibTex]
-
RTAS
Conference
A
Outstanding Paper Award
SysWCET: Whole-System Response-Time Analysis for Fixed-Priority Real-Time Systems -
Proceedings of the 23rd IEEE International Symposium on Real-Time and Embedded Technology and Applications (RTAS '17)IEEE Computer Society Press2017Outstanding Paper Award.
PDF Raw Data 10.1109/RTAS.2017.37 [BibTex]
Theses
Open Topics
Status: offen
Supervisors: Björn Fiedler, Daniel Lohmann
ARA is a whole system analyzer and optimizer. This thesis should investigate in an empirical study about the improvements derived from ARA's specializations.

Status: offen
Supervisors: Gerion Entrup, Daniel Lohmann
Orchestrate different existing static analysis techniques to analyze a real-time system in different depths and show the working with an implementation in ARA.
Currently Running
ARA on Steroids: Fly faster with Profiling and Caching.
Status: reserviert
Supervisors: Gerion Entrup, Daniel Lohmann
Make ARA fast. How fast? Really fast with profiling and performance tuning.
Static analysis and interpretation of POSIX applications

Status: reserviert
Supervisors: Gerion Entrup, Daniel Lohmann
Extend ARA - a (real-time) operating system analyzer - for analysis of POSIX, which enables the analysis of Linux applications.
Fixed-Point Analysis for ARA: Best Value for Pointers
Status: reserviert
Supervisors: Gerion Entrup, Daniel Lohmann
Extent ARA's value analysis to pointers, conditions and loops.
Preprocessed information: Extend the C preprocessor with source code markers
Status: reserviert
Supervisors: Gerion Entrup, Daniel Lohmann
Extend the C preprocessor with automatic function markers that are usable in ARA
Status: laufend
Supervisors: Björn Fiedler, Gerion Entrup, Daniel Lohmann
Bearbeiter: Christoph Möller
Move all statically analyzable allocations into compile-time.
Slothful Bird: Extend the ARA System Generator by a Sloth Backend for FreeRTOS and OSEK

Status: reserviert
Supervisors: Björn Fiedler, Daniel Lohmann
Extend the ARA Generator with a backend using the interrupt controller as scheduler and dispatcher.
System Calls as Prepared Statements: Extend ARA to Precompute Interaction System Calls
Status: reserviert
Supervisors: Björn Fiedler, Daniel Lohmann
Extend the ARA to precompute interaction system calls like queue.send(data).
Structured Meson: Bring consistency to the Meson DSL
Status: reserviert
Supervisors: Gerion Entrup, Daniel Lohmann
Develop a classification for the Meson domain specific language and to tool to check for it
Finished Theses

Status: abgeschlossen
Supervisors: Gerion Entrup, Christian Dietrich, Daniel Lohmann
Bearbeiter: Malte Bargholz (abgegeben: 09. Aug 2018)
[PDF]
Integration of a Priority-Obedient Interrupt Controller into the Rocket Softcore

Status: abgeschlossen
Supervisors: Gerion Entrup, Christian Dietrich, Daniel Lohmann
Bearbeiter: Matthias Wolf (abgegeben: 01. Nov 2018)
Automatische Generierung statistisch spezialisierter FreeRTOS-Kerne mit LLVM

Status: abgeschlossen
Supervisors: Björn Fiedler, Daniel Lohmann
Bearbeiter: Jonas Hollmann
A compile-time generator for static FreeRTOS system objects

Status: abgeschlossen
Supervisors: Björn Fiedler, Daniel Lohmann
A compile-time generator for static FreeRTOS system objects
Effizientes Laden dünn besetzter Datenstrukturen auf eingebetteten Systemen

Status: abgeschlossen
Supervisors: Björn Fiedler, Daniel Lohmann
Bearbeiter: Jannis Thöle
Introduction of Sparse Data Segments for Embedded Systems
Status: abgeschlossen
Supervisors: Gerion Entrup, Daniel Lohmann
Bearbeiter: Manuel Breiden (abgegeben: 19. Apr 2020)
Extend ARA - a tool for static (real-time) operating system analysis - to use as much already implemented LLVM analyses as possible
Design und Implementierung eines Zephyr-RTOS-Modells für ARA zur statischen Whole-System-Analyse

Status: abgeschlossen
Supervisors: Gerion Entrup, Daniel Lohmann
Bearbeiter: Kenny Albes
Extend ARA - a (real-time) operating system (RTOS) analyzer - for analysis of Zephyr, an RTOS guided by the Linux Foundation
Investigating Microarchitectural Effects on Code Optimization for Specific Processor Models
Status: abgeschlossen
Supervisors: Stefan Naumann, Daniel Lohmann
Bearbeiter: Vitali Fendel
Research the effects of compiler optimization flags on different processor architectures and their impact on the code being executed.
Measuring Effects of Compiler Flags on Different Processor Architectures
Status: abgeschlossen
Supervisors: Gerion Entrup, Florian Rommel, Daniel Lohmann
Bearbeiter: Carlo Schmitt (abgegeben: 21. Mar 2019)
Automatic Real-Time System Analysis
Status: abgeschlossen
Supervisors: Gerion Entrup, Daniel Lohmann
Bearbeiter: Benedikt Steinmeier (abgegeben: 06. Mar 2019)
MultiSSE: Full Static Emulation of a Multicore System at the example of AUTOSAR RTOS
Status: abgeschlossen
Supervisors: Gerion Entrup, Daniel Lohmann
Bearbeiter: Fredo Nowak
Extend the System-State Enumeration, an real-time systems analysis technique, to support multiple cores and show the working with an implementation in ARA.
Accelerate Micropython: Developing Accelerators for Micropython on the RISC-V platform

Status: abgeschlossen
Supervisors: Stefan Naumann, Daniel Lohmann
Benchmark Micropython, identify spots to accelerate and propose hardware accelerators for the Micropython interpreter.
ROS Timestamps for libusb in the Linux Kernel

Status: abgeschlossen
Supervisors: Björn Fiedler, Christian Dietrich, Daniel Lohmann
Analyzing and Optimizing TLB-Induced Thread Migration Costs on Linux/ARM

Status: abgeschlossen
Supervisors: Björn Fiedler, Christian Dietrich, Daniel Lohmann
Bearbeiter: Tobias Landsberg (abgegeben: 21. Nov 2018)