- TextdokumentBeastie In For Checkup: Analyzing FreeBSD with LockDoc(Tagungsband des FG-BS Herbsttreffens 2021, 2021) Lochmann, Alexander; Schirmeier, HorstLockDoc is an approach to extract locking rules for kernel data structures, based on a dynamic execution trace. The recorded trace can e.g. be used to verify existing locking documentation. LockDoc results for Linux indicated that only 53 % of all examined data types were accessed consistently with their respective locking documentation : Linux systematically elides locks for performance reasons, and the existing documentation is partially outdated or inconsistent. Without a solid “ground truth”, it is impossible to reliably attribute LockDoc’s findings to bugs in Linux, or to issues with the LockDoc approach itself. Therefore, in this paper we present results from applying LockDoc to a much more straightforwardly and “cleanly” implemented operating system: FreeBSD offers sophisticated locking documentation – e.g. for many data structures, each individual field is annotated with a precise locking rule. We report that, for four centrally documented data types, FreeBSD adheres to the documented locking rules in 72.4 % of all dynamic data-structure accesses. Investigating the remaining rule-violating accesses, we already triggered two commits for the FreeBSD kernel fixing unprotected accesses, and nudge this value to 73.6 %.
- TextdokumentToward Dynamic Orchestration of Data/Power/Process Management for Hybrid Memory Based Systems(Tagungsband des FG-BS Herbsttreffens 2021, 2021) Arima, Eishi; Trinitis, Carsten; Schulz, MartinThe exponential growth of the transistor count on VLSI circuits, known as Moore’s law, is slowing down, and the end of the technology scaling is predicted to be inevitable. As a consequence, computing system architectures are gradually shifting toward extremely heterogeneous designs consisting of multiple different hardware devices or accelerators in each component. As one example, over the past few years the industry has begun to support hybrid memory systems in their products based on emerging memory device technologies, most prominently HBM (High-Bandwidth Memory) and NVRAM (Non-Volatile RAM). This hardware trend has opened up new research opportunities in the system software and operating system area. In this position paper, we focus on data, power and process management in hybrid memory based systems, with a particular focus on a coordinated and dynamic approach. This is based on our key insight, which is brought by our prior studies, that the on such systems memory access/utilization behavior as well as the memory management policy plays an important role for various optimizations, including power management and process (or job) scheduling. In this position paper, we clarify the problem, provide a high-level software architecture, and finally discuss the major challenges to realize it.
- TextdokumentFirst Things First: A Discussion of Modelling Approaches for Disruptive Memory Technologies(Tagungsband des FG-BS Herbsttreffens 2021, 2021) Müller, Michael; Kessener, Daniel; Spinczyk, OlafDisruptive memory technologies (DMT) are dramatically changing the architecture of modern computer systems and affect important design decisions throughout the whole software stack. For their success it is crucial that developers of system software and applications find ways to fully exploit the potential of the novel hardware. Having appropriate DMT hardware models is the key to successful optimization in the world of system software and application development. Therefore, this paper introduces four relevant new DMTs and corresponding performance analyzes as well as modelling approaches. We conclude with the insight that there is a lack of system-wide models that are practically applicable by system software designers for proper optimization and, thus, an important domain for future research.
- TextdokumentPersistent Streams: The Internet With Ephemeral Storage(Tagungsband des FG-BS Herbsttreffens 2021, 2021) Carl, Oskar; Zdankin, Peter; Schaffeld, Matthias; Matkovic, Viktor; Yu, Yang; Elbers, Timo; Weis, TorbenCommunication in the internet today is transient by default. Because of this, whenever an application needs to store data even for a moment, its provider needs to develop an application-specific solution, which is often done using client-server models. This is costly at scale, and generally requires users to concede control over the data they generate to allow application providers to generate revenue from the collected data to finance the operation of these servers. This also leads to a lock-in effect, which is prohibitive for new applications entering a market. To solve these issues, we propose persistent streams, an application-agnostic communication protocol that includes ephemeral and persistent storage and is able to handle both discrete as well as continuous (streaming) data. Including storage into the communication path removes the need for application servers completely. Even though the protocol relies on (cloud) servers as transmission and storage proxies, we expect the emergence of new storage technologies like non-volatile main memory to alleviate some issues this introduces. We also show the general applicability of this solution using different kinds of applications as examples. Overall, persistent streams have the potential to greatly reduce the burdens on application providers while also enabling users to exercise increased control over their data.