Project Details
AHA: Automatic Hardware Abstraction in Operating Systems
Applicant
Professor Dr.-Ing. Daniel Lohmann
Subject Area
Security and Dependability, Operating-, Communication- and Distributed Systems
Computer Architecture, Embedded and Massively Parallel Systems
Computer Architecture, Embedded and Massively Parallel Systems
Term
from 2017 to 2024
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 391305160
Operating systems have always served the purpose of abstraction and complementing the capabilities of the underlying hardware:Conceptually, the operating system generalizes and expands the instruction set of the processor by partial interpretation and multiplexing of hardware resources;it thereby simplifies the development and portability of applications.However, even in the OS implementation the hardware is also not used directly, but via a further, partially interpreting hardware abstraction layer.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.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 semantically equivalent implementations of the OS functionality, which are semantically equivalent (only) for this specific application, but can be mapped more directly to hardware features, can be generated from a concrete application and their 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 / 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?
DFG Programme
Research Grants