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

2019-11-21 Tobias Landsberg Receives GI-FGBS Award for Best Master Thesis

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.

2019-07-09 Automatic Instance-Level Analysis in Real-Time Systems at OSPERT '19

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.

More news...

Publications

OSPERT Workshop B
ARA: Automatic Instance-Level Analysis in Real-Time Systems
Gerion Entrup, Benedikt Steinmeier, Christian DietrichProceedings 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
Christian Dietrich, Stefan Naumann, Robin Thrift, Daniel LohmannProceedings of the 40th IEEE Real-Time Systems Symposium 2019IEEE Computer Society Press2019To appear.
[BibTex]
OSPERT Workshop B Best Paper Award
Levels of Specialization in Real-Time Operating Systems
Björn Fiedler, Gerion Entrup, Christian Dietrich, Daniel LohmannProceedings 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
Christian Dietrich, Daniel LohmannProceedings 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
Peter Wägemann, Christian Dietrich, Tobias Distler, Peter Ulbrich, Wolfgang Schröder-PreikschatProceedings 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
Hans-Peter Deifel, Christian Dietrich, Merlin Göttlinger, Daniel Lohmann, Stefan Milius, Lutz SchröderProceedings 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
Christian Dietrich, Martin Hoffmann, Daniel LohmannACM 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
Christian Dietrich, Daniel LohmannProceedings 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
Christian Dietrich, Peter WägemannTagungsband 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
Christian Dietrich, Peter Wägemann, Peter Ulbrich, Daniel LohmannProceedings 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

Currently Running

Using the ARA Framework to Generate a FreeRTOS Compatible Kernel

Typ: Bachelorarbeit
Status: laufend
Supervisors: Björn Fiedler, Daniel Lohmann
A compile-time generator for static FreeRTOS system objects

FreeRTOS Instance Level Specialization - Static Generation of System Objects

Typ: Bachelorarbeit
Status: laufend
Supervisors: Björn Fiedler, Daniel Lohmann
A compile-time generator for static FreeRTOS system objects

Use LLVM Compiler Optimization Techniques in ARA

 
Typ: Bachelorarbeit
Status: reserviert
Supervisors: Gerion Entrup, Daniel Lohmann
Extend ARA - a tool for static (real-time) operating system analysis - to use as much already implemented LLVM analyses as possible

Bring Support for Zephyr Analysis to ARA

 
Typ: Bachelorarbeit
Status: reserviert
Supervisors: Gerion Entrup, Daniel Lohmann
Extend ARA - an (real-time) operating system (RTOS) analyzer - for analysis of Zeyphr, an RTOS guided by the Linux Foundation

Investigating Microarchitectural Effects on Code Optimization for Specific Processor Models

Typ: Bachelorarbeit
Status: laufend
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.

Explicit Harts: Empowering the OS to Control Hardware Threads

Typ: Masterarbeit
Status: reserviert
Supervisors: Björn Fiedler, Daniel Lohmann
Currently the CPU decides in case of hardware multithreading which thread gets executed by the pipeline. This thesis investigates benefits of giving explicit control over this decision to the operating system.

Accelerate Micropython: Developing Accelerators for Micropython on the RISC-V platform

Typ: Masterarbeit
Status: laufend
Supervisors: Stefan Naumann, Daniel Lohmann
Bearbeiter: Gabriel Behn
Benchmark Micropython, identify spots to accelerate and propose hardware accelerators for the Micropython interpreter.

Finished Theses

InterSloth: Globales Hardware-gesteuertes Scheduling in einem Multikern-Echtzeitbetriebssystem auf RISC-V

Typ: Bachelorarbeit
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

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Gerion Entrup, Christian Dietrich, Daniel Lohmann
Bearbeiter: Matthias Wolf (abgegeben: 01. Nov 2018)

Measuring Effects of Compiler Flags on Different Processor Architectures

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Gerion Entrup, Florian Rommel, Daniel Lohmann
Bearbeiter: Carlo Schmitt (abgegeben: 21. Mar 2019)

Automatic Real-Time System Analysis

 
Typ: Masterarbeit
Status: abgeschlossen
Supervisors: Gerion Entrup, Daniel Lohmann
Bearbeiter: Benedikt Steinmeier (abgegeben: 06. Mar 2019)

ROS Timestamps for libusb in the Linux Kernel

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Björn Fiedler, Christian Dietrich, Daniel Lohmann

Analyzing and Optimizing TLB-Induced Thread Migration Costs on Linux/ARM

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