Systems Research and Architecture Group (SRA)

Fachgebiet System- und Rechnerarchitektur

Our Research and Teaching activities are centered around the architecture of computing systems: From hardware over system software up to languages and compilers with a focus on constructive methods for the design and development of adaptable and versatile system software. The group is led by Prof. Daniel Lohmann.

Cherrapunjee Rain Forests" ( CC BY-SA 2.0) by  ashwin kumar

Embedded

Those machines that are closest to our everyday life are special-purpose systems embedded into the physical world. Due to this embedding, we know a lot about the surroundings of a system. We exploit this knowledge in the design of hardware and system software.

Tailored

The requirements for every system are special. However, we often favor unspecific general-purpose components over special-purpose solutions. With the techniques of automatic tailoring, we can achieve specialized systems at moderate development costs.

Systems

During the architectural design, the required functionalities are often well understood. Nonfunctional aspects are decisive for choosing a system for a given task. Especially for embedded systems, we can optimize various aspects towards the given application scenario.

News and Trivia

2019-11-13 PhD Defense: Christian Dietrich - Interaction-Aware Analysis and Optimization of Real-Time Application and Operating System
Christian Dietrich successfully defended his PhD Thesis Interaction-Aware Analysis and Optimization of Real-Time Application and Operating System on the 13th November 2019.

Abstract: Mechanical and electronic automation was a key component of the technological advances in the last two hundred years. With the use of special-purpose machines, manual labor was replaced by mechanical motion, leaving workers with the operation of these machines, before also this task was conquered by embedded control systems. With the advances of general-purpose computing, the development of these control systems shifted more and more from a problem-specific one to a one-size-fits-all mentality as the trade-off between per-instance overheads and development costs was in favor of flexible and reusable implementations. However, with a scaling factor of thousands, if not millions, of deployed devices, overheads and inefficiencies accumulate; calling for a higher degree of specialization.

For the area of real-time operating systems, which form the base layer for many of these computerized control systems, we deploy way more flexibility than what is actually required for the applications that run on top of it. Since only the solution, but not the problem, became less specific to the control problem at hand, we have the chance to cut away inefficiencies, improve on system-analyses results, and optimize the resource consumption. However, such a tailoring will only be favorable if it can be performed without much developer interaction and in an automated fashion. Here, real-time systems are a good starting point, since we already have to have a large degree of static knowledge in order to guarantee their timeliness. Until now, this static nature is not exploited to its full extent and optimization potentials are left unused.

The requirements of a system, with regard to the RTOS, manifest in the interactions between the application and the kernel. Threads request resources from the RTOS, which in return determines and enforces a scheduling order that will ensure the timely completion of all necessary computations. Since the RTOS runs only in the exception, its reaction to requests from the application (or from the environment) is its defining feature.

In this thesis, I will grasp these interactions, and thereby the required RTOS semantic, in a control-flow--sensitive fashion. Extracted automatically, this knowledge about the reciprocal influence allows me to fit the implementation of a system closer to its actual requirements. The result is a system that is not only in its usage a special-purpose system, but also in its implementation and in its provided guarantees.

In the development of my approach, it became clear that the focus on these interactions is not only highly fruitful for the optimization of a system, but also for its end-to-end analysis. Therefore, this thesis does not only provide methods to reduce the kernel-execution overhead and a system's memory consumption, but it also includes methods to calculate tighter response-time bounds and to give guarantees about the correct behavior of the kernel. All these contributions are enabled by my proposed interaction-aware methodology that takes the whole system, RTOS and application, into account.

With this thesis, I show that a control-flow--sensitive whole-system view on the interactions is feasible and highly rewarding. With this approach, we can overcome many inefficiencies that arise from analyses that have an isolating focus on individual system components. Furthermore, the interaction-aware methods keep close to the actual implementation, and therefore are able to consider the behavioral patterns of the finally deployed real-time computing system.

2019-11-11 Schülerinfoveranstaltung: Niedersachsen-Technikum

Im Rahmen des Niedersachsen-Technikums hat uns eine Gruppe interessierter Abiturientinnen besucht. Während des 6-monatigem Programms lernen sie im Rahmen eines bezahlten Unternehmenspraktikums und eines Schnupper-Studiums das Arbeitsleben in einem MINT-Beruf kennen. Die jungen Frauen nahmen nach einem Vortrag an einem Kurzworkshop zum Programmieren teil, bei dem sie einen Unterschriftendrucker mithilfe des Kturtle-Programms in einer speziell dafür erstellten Programmiersprache programmieren konnten.

2019-10-27 Wait-Free Patching at PLOS '19

Florian Rommel presents our paper Wait-Free Code Patching of Multi-Threaded Processes at the 10th Workshop on Programming Languages and Operating Systems (PLOS '19) co-located with SOSP in Huntsville, Canada. The paper describes an approach to apply run-time code modification in multi-threaded processes without the need to stop all threads on a global barrier. This is achieved by first preparing a patched clone of the process’s address space and then migrating individual threads at predefined quiescence points while all other threads make uninterrupted progress.

2019-10-16 Lightweight Binary Tailoring at EMSOFT '19

Andreas Ziegler presents our paper Honey, I Shrunk the ELFs: Lightweight Binary Tailoring of Shared Libraries at the International Conference on Embedded Software (EMSOFT '19), in New York. In the paper we describe an approach to automatially reduce the footprint of existing shared libraries by removing unneeded functionality with lightweight binary tailoring. Our approach does not require access to the source code and effectively reduces the amount of code in all shared libraries on a Linux-based system by 63 percent and shrinks their files by 17 percent. The reduction in size is beneficial to cut down costs (e.g., lower storage and memory footprint) and eases code analyses that are necessary for code audits.

Lightweight application-specific tailoring of libraries is an important building block in our attempts towards a fully automatic whole-system tailoring of Linux-based infrastructure software in the CADOS project.

2019-09-23 Disputation von Dr.-Ing. Romeo Shuka - Parallele adaptive Schwarmsuche für Blackbox-Probleme
Romeo Shuka hat am seine Dissertation Parallele adaptive Schwarmsuche für Blackbox-Probleme erfolgreich verteidigt. Wir gratulieren!

Abstract: In der heutigen Wissenschaft und Wirtschaft haben wir es oft mit Systemen zu tun, welche aus Problemen bestehen, die sehr komplex und nicht einfach zu lösen sind. Aufgrund der zunehmenden Komplexität und der teilweise fehlenden Informationen ist es bereits heutzutage nicht mehr möglich, solche Probleme – welche als Blackbox-Probleme klassifiziert werden – per Hand zu lösen. Um das Maximum oder Minimum zu finden, wird auf Optimierungsmethoden zurückgegriffen, die uns ermöglichen, eine optimale Lösung für das Problem zu suchen und ggf. zu finden. Stochastische Methoden haben die letzten Jahre gezeigt, dass sie sehr gut geeignet sind, solche Probleme zu lösen. Der Vorteil der Verwendung von stochastischen Methoden ist, dass sie nicht den Gradienten des zu optimierenden Problems verwenden, so dass sie sowohl bei großen als auch bei komplexen Optimierungsproblemen erfolgreich angewendet werden können. Diese Vielseitigkeit hat aber ihren Preis. Es gibt hauptsächlich drei wesentliche Aspekte, die die Effizienz der Lösung beeinträchtigen:
  1. Die realen Probleme werden immer größer und komplizierter oder sie müssen in sehr kurzer Zeit gelöst werden, was erhebliche Ressourcen in Zeit und Hardware erfordert.
  2. Optimierungsprobleme sind durch mehrere lokale Optima charakterisiert, die ein Verfahren zur Vermeidung einer zu frühen Konvergenz erfordern.
  3. Algorithmen erfordern einige problembedingte Anpassungen ihrer Verhaltensparameter, um bessere Ergebnisse zu erzielen.
In dieser Arbeit wird ein Framework (Parallel Adaptive Swarm Search - PASS) vorgestellt, das die Ermittlung der möglichst optimalen Lösung für Black-box Probleme gewährleistet. Durch das Framework kann der Nutzer eine Mapping des Algorithmus an die vorhandene Hardware und Software (Problemart) realisieren. Es werden alle drei oben genannten Probleme behandelt. Das Problem der Parallelisierung wird durch die Umwandlung des Algorithmus von seriell zu parallel gelöst. Das Problem des Stillstands wird durch das Benutzen des Island Models behandelt und für das Problem der Adaptivität wird ein neuer Suchalgorithmus vorgestellt, welcher die Suche der optimalen Parameter beschleunigt. In dieser Arbeit wird PASS mit bekannten Verfahren aus der Literatur (wie z.B. Particle Swarm Optimization, Differential Evolution, Artificial Bee Colony usw.) mit unterschiedlichen Benchmark-Problemen verglichen. Die erste Gruppe der Benchmark-Probleme besteht aus synthetischen Funktionen bekannt aus der Literatur (wie z.B. Rastrigin Funktion, Rosenbrock Funktion) und die zweite Gruppe besteht aus Problemen aus der realen Welt.
Untersuchungen in dieser Arbeit haben gezeigt, dass die Anpassungen zu besse ren Ergebnissen führen. Durch die adaptive Natur des Frameworks, ist es in vielen Rechnerarchitekturen nutzbar und für viele Probleme anwendbar.
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.

2019-05-31 PaStA at ICSE 2019
Ralf Ramsauer presents the paper The List is the Process: Reliable Pre-Integration Tracking of Commits on Mailing Lists at the 41st International Conference on Software Engineering 2019 in Montreal. In the paper we present an approach and tooling to track otherwise invisible evolution of software changes discussed on mailing lists by connecting all early revisions of changes to their final version in the repository. Since artefact modifications on mailing lists are communicated by updates to fragments (i.e., patches) only and furthermore integrated and changed by maintainers before becoming visible in the repository, identifying semantically similar changes is a nontrivial task that our approach solves in a language-independent way. This can be used for assessing properties of open-source software (OSS) development processes, which is an essential requirement for using OSS, such as the Linux kernel, in reliable or safety-critical industrial products (e.g., autonomous driving), where certifiability and conformance to processes are crucial.
2019-03-29 Multiverse at EuroSys 2019
Florian Rommel presents the paper Multiverse: Compiler-Assisted Management of Dynamic Variability in Low-Level System Software at the Fourteenth EuroSys Conference 2019 in Dresden. In the paper we address run-time patching of binary code depending on some configuration variables. Based on seldom changing variables, the call-sites of certain functions are changed to ones pointing to specialized functions, for example ones without run-time checks of the configuration values. This allows specializing code at run-time, i.e. having dynamic variability. At load-time the code has all features and with our approach can be specialized at any time to any state, making run-time checks unnecessary.
2019-02-15 New Colleague at SRA
Tobias Landsberg joins the SRA team as Doctoral Researcher. He will strengthen our research team and, in the upcoming semester, he will manage our Bachelor's seminar (Proseminar Parallelverarbeitung) and assist in our Master's project (Projekt SRA). Welcome, Tobias!
2018-12-20 Malte Bargholz erhält Auszeichnung für Bachelorzeugnis

Der Student Malte Bargholz wurde im Rahmen des Tags der Fakultät für seine herausragenden Leistungen in seiner Bachelorprüfung geehrt. Seine herausragenden Leistungen stellte er, unter anderem, in seiner Bachelorarbeit InterSloth: Globales Hardware-gesteuertes Scheduling in einem Multikern-Echtzeitbetriebssystem auf RISC-V beim SRA unter Beweis und konnte seine Ergebnisse beim Herbsttreffen der Fachgruppe Betriebssysteme vorstellen.

2018-12-14 Semi-Extended Tasks at RTSS 2018
Christian Dietrich presents the paper Semi-Extended Tasks: Efficient Stack Sharing Among Blocking Threads at the IEEE Real-Time Systems Symposium in Nashville, TE, USA (RTSS `18). In the paper we adress the problem of worst-case stack consumption (WCSC) in real-time systems that support preemption and blocking of threads. We refine the stack-sharing granularity from the thread to function level and provide an efficient intra-thread stack-switch mechanism as well as an ILP-based analysis approach to realize tight WCSC boundaries.
2018-11-26 Inaugural Lecture

Prof. Dr.-Ing. habil. Daniel Lohmann gave his inaugural lecture at the Faculty of Electrical Engineering and Computer Science. In his presentation "Klein und sicher – Automatisch anpassbare Systemsoftware für eingebettete Spezialzweckanwendungen", Prof. Lohmann provided an entertaining introduction into our research activities and the case for highly tailorable system software.

News Archive and Hall of Fame