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

Publications

DAC Conference
Cross-Layer Fault-Space Pruning for Hardware-Assisted Fault Injection
Christian Dietrich, Achim Schmider, Oskar Pusz, Guillermo Payá-Vayá, Daniel LohmannProceedings of the 55th Annual Design Automation Conference 2018ACM Press2018.
PDF Slides Raw Data 10.1145/3195970.3196019 [BibTex]
OSPERT Workshop 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
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 [BibTex]
ECRTS Conference 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 [BibTex]
TECS Journal
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
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]

Theses

Open Theses Topics

Explicit Harts: Empowering the OS to Control Hardware Threads

Typ: Masterarbeit
Status: offen
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.

Implementation of Dedicated Interrupt Coprocessors and Evaluation of their Benefits and Usage Scenarios

Typ: Masterarbeit
Status: offen
Supervisors: Björn Fiedler, Daniel Lohmann
How to implement dedicated coprocesors for interrupts such that they are beneficial for event triggered real-time systems with high interrupt load.

Currently Running Work

Automatic Realtime System Analysis

 
Typ: Masterarbeit
Status: laufend
Supervisors: Gerion Entrup, Daniel Lohmann
Bearbeiter: Benedikt Steinmeier

FreeRTOS Instance Level Specialization - Static Generation of System Objects

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

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)

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