Niklas Gollenstede receives the award for the 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, Niklas!
For embedded systems, having a reproducible and predictable build and update process is crucial to deploy such systems in the field. In his thesis, Design and Implementation of a Light-Weight Container Runtime for Real-Time Applications, Niklas extends and improves the NixOS ecosystem to make it suitable for embedded systems. This excellent work part of the ATLAS project.
Lars Wrenger presents our paper LLFree: Scalable and Optionally-Persistent Page-Frame Allocation at the 2023 USENIX Annual Technical Conference (ATC '23) in Boston, MA, USA. The page-frame allocator ist the most fundamental memory-management component in any operating system. In the paper we present LLFree, the design and design principles for a new lock- and log-free page-frame allocator that provides for excellent scalability on multi-core platforms as well as crash consistency on nonvolatile memories. Compared to the Linux frame allocator, LLFree reduces the allocation time for concurrent 4 KiB allocations by up to 88 percent and for 2 MiB allocations by up to 98 percent. For memory compaction, LLFree decreases the number of required page movements by 64 percent. LLFree is an important bulidung block for our ParPerOS project.
For the extensive and easy to reproduce benchmark results, we got the Distinguished Artifact Award. Congrats, Lars!
Dominik Töllner presents our paper MELF: Multivariant Executables for a Heterogeneous World at the 2023 USENIX Annual Technical Conference (ATC '23) in Boston, MA, USA. In the paper we present the Multivariant ELF (MELF) approach, which makes it possible to provide multiple per-function compile-time variants within the same binary and flexibly switch between them at run-time, optionally on a per-thread granularity. As MELFs are implemented on binary level (linker, loader), they do not depend on specific language features or compilers and can be easily applied to existing projects. In case studies with SQLite, memcached, MariaDB and a benchmark for heterogeneous architectures with overlapping ISAs, we show how MELFs can be employed to provide per-client performance isolation of expensive compile-time security or debugging features and adapt to extended instruction sets, when they are actually available. The support for MELFs is an important buliding block for our ATLAS project and also related to the ParPerOS project.
Niklas Gollenstede presents our paper reUpNix: Reconfigurable and Updateable Embedded Systems at the 24th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '23) in Orlando, FL, USA. The paper discusses reUpNix, a tool based on NixOS designed to simplify and optimize the life cycle management of embedded Linux stacks. reUpNix addresses the shortcomings of NixOS for embedded systems, reducing its installation size by up to 86% and making system updates smaller and failure atomic. It also enables integration of third-party OCI images, with fine-grained file deduplication leading to a 24% reduction in required on-disk space. The implementation of reUpNix promises to enhance the efficiency of embedded Linux systems, particularly in high-cost deployment situations like space operations. reUpNix is related to the ATLAS project.
Florian Rommel presents our paper Thread-Level Attack-Surface Reduction at the 24th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '23) in Orlando, FL, USA. In the paper we present a new debloating technique to reduce the attack surface in running multi-threaded server processes. Unlike existing approaches, which can eliminate code only in shared libraries and for the whole process, thread-level attack-surface reduction (TLASR) eliminates unused code on a per-thread level. Technically, this works by deriving thread-specific text segment views, which in Linux are implemented by mmview concept we introduced in our OSDI '20 paper. In MariaDB, Memcached, OpenSSH and Bash we thereby reduce the number of ROP gadgets by 78–97 percent, rendering an auto-ROP utilitiy ineffective and eliminating all CVE-related functions ever reported for glibc in 97 percent of the case. TLASR is related to the ATLAS project.
Winter is coming and the ELFs have a lot of work to do in Santa's Christmas village. And the ELFs, as the name suggests, are big fans of Linux to get this work done in time. However, until now they only know about those old a crusty interfaces that we inherited from UNIX/POSIX. So, they require your help! On the way, you can learn something about old and new system calls of Linux.
The Operating System Group at the Hamburg University of Technology perpared a System-Call Advent calendar with 24 strace-filled doors for you. On every day of December, you will find a system-call, a concept or an interface of Linux that you might or might not yet know. Behind the door, there is a short article and a small programming exercise, for which we provide a commented solution on the following day.
At this years SAFECOMP'22, we presented two papers on fault injection of transient hardware faults: Christian Dietrich presented our paper SailFAIL, where we explain how to derive fault-injection platforms form formal CPU models. Tim-Marek Thomas presented ACTOR, an method how to use dynamic timeout detectors to speed up large fault-injection campaigns.
Tobias Landsberg presents our paper TASTING: Reuse Test-case Execution by Global AST Hashing at the 17th International Conference on Sofware Technologies (ICSOFT '22) in Lisbon. In the paper we describe TASTING, an approach for efficiently selecting and reusing regression-test executions across program changes, branches, and variants in continuous integration settings. TASTING can dramatically speed-up test suite executions by recursively composing hashes of all relevant syntatic elements into a semantic fingerprint of the test and its execution environment, so identical test executions can easily be detected and skipped. This is an important building block for variant-aware testing in the CADOS project.
Tobias got the Best Student Paper award for this work!
- ParPerOS: Parallel Persistency OS (DFG: DI 2840/2-1)
- In ParPerOS, we examine new abstractions for unified but efficient and optionally crash-consistent low-level memory management for data objects in heterogeneous memory systems that consist of volatile, persistent, distributed and other types of main memory.
The Priority-Strict Interrupt Controller (PSIC) delivers prioritized interrupt requests in a multi-core system. Thereby, the PSIC ensures that always the highest-priority interrupt handlers are run on our CPUs. Christian Dietrich presented our Paper PSIC: Priority-Strict Multi-Core IRQ Processing at ISORC'22, where our work was awarded as one of two Outstanding Papers.
Location: Zoom Session
Time: 2022-04-07 14:00 - 2022-04-07 15:30
Am 17./18 März fand das Frühjahrstreffen GI/ITG Fachgruppe Betriebssysteme in Hamburg statt. In Zusammenarbeit mit Prof. Janick Edinger von der Universität Hamburg hat die Operating System Group das Treffen als hybride Veranstaltung organisiert. Insgesamt waren 50 Teilnehmende vor Ort und bis zu 30 Teilnehmende virtuell an dem Treffen beteiligt. Einen Überblick über das Program gibt es auf der Seite der Fachgruppe.
For the ring lecture in this semester, the three new juniorprofessors (Lal, Dietrich, Kulau) will shortly present their teaching and some of their research projects. Join us either in person at the TUHH or attend virtually with an Ethernet-lengths distance. For more OSG talks, see the OSG Oberseminar (ICS included).
- ATLAS: Adaptable Thread-Level Address Spaces (DFG: DI 2840/1-1)
- In the ATLAS project, we investigate dynamic specialization and containment by means of thread-level address-space variations.
With our tool CppSig, we can extract type signatures for C preprocessor macros, which gives us a better understanding of macro heavy source bases. Christian Dietrich presented an initial version of CppSig at the PLOS'2021 workshop: CppSig: Extracting Type Information for C-Preprocessor Macro Expansions.
Bald ist es soweit! Das Wintersemester beginnt und damit auch eine weitere Runde der Lehrveranstaltung zum Thema Betriebssysteme: Operating System Techniques. Auch dieses mal wollen wir in den Innereien unseres Lehrbetriebssystems herumstochern. Diesmal wollen wir uns ein Semester mit dem Thema "Speichervirtualisierung" und Privilegienisolation widmen. Am Ende wird unser Lehrbetriebssystem OOStuBS echte Prozesse haben, die sich mittels
fork() vervielfältigen können. Kommunikation zwischen Prozessen findet dann durch effizientes Copy-on-Write statt.
Oskar Pusz presents Data-Flow–Sensitive Fault-Space Pruning for the Injection of Transient Hardware Faults at the Conference on Languages, Compilers and Tools for Embedded Systems (LCTES '21).
In the paper, we describe Data-Flow–Sensitive Fault-Space Pruning (DFP), a new precise and fault-space–complete data-flow sensitive fault-space pruning method that extends on def/use-pruning by also considering the instructions’ semantics when deriving fault-equivalence sets. In our experimental evaluation, this already reduces the number of necessary injections by up to 18 percent compared to def/use pruning.
The DFP is the core element in the ISA level of our research project CLASSY-FI.
The source code and evaluation artifacts are available here: Source Code and Evaluation Data for the Paper: Data-Flow–Sensitive Fault-Space Pruning for the Injection of Transient Hardware Faults.
Björn Fiedler presents our paper ARA: Static Initialization of Dynamically-Created System Objects at the 27th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS '21).
In the paper, we present ARA, a framework for static specialization of operating systems for embedded systems. ARA is capable to statically detect operating-system objects dynamically created during run-time and replace them by statically prepared equivalents. ARA is a major building block of our reserch project AHA towards the goal to fully automatically analyze and specialize applications and their system software.
The presentation videos, source code and evaluation artifacts are available at the paper's details page: ARA: Static Initialization of Dynamically-Created System Objects
In der Lehrveranstaltung Betriebssystembau lernen die Studierenden die konzeptionellen Grundlagen und wichtigen Techniken kennen, die für den Bau eines Betriebssystems erforderlich sind. In den vorlesungsbegleitenden Übungen werden diese Kenntnisse praktisch angewendet, indem ein kleines PC-Betriebssystem in kleinen Arbeitsgruppen von Grund auf neu entwickelt wird.
Christian Dietrich investigates principles, methods and techniques for the development of general- and special-purpose system software and operating systems. His teaching activities will focus on the topic of operating systems and the broader area of systems software development in general.
Auf dem virtuellen Frühjahrstreffen der GI/ITG Fachgruppe Betriebssysteme, hat Christian Dietrich den Promotionspreis für seine Dissertation Interaction-Aware Analysis and Optimization of Real-Time Application and Operating System erhalten. Der Promotionspreis wird jährlich von der Fachgruppe für hervorragende Promotionen auf dem Gebiet der Betriebssystemforschung vergeben.