Lecture: OS Challenges for Modern Memory Systems

Daniel Lohmann (University of Hanover) and Christian Dietrich (TUHH)

Slides

The management of memory resources is a fundamental task of operating systems. Historically, the design of memory management systems has been driven by the assumption that physical memory is a scarce resource, and as such, strategies such as swapping, demand paging, and implicit sharing of physical page frames have been employed. These approaches were originally inspired by the Mach memory model from the 1990s, and have since been incorporated into virtually all standard operating systems.

Despite the prevalence of these conventional memory management techniques, there have been significant changes in hardware and software since their inception. The amount of available physical and virtual memory has increased by orders of magnitude, and new types of memory, such as high-bandwidth memory (HBM) and non-volatile memory (NVM), have been introduced. Additionally, advancements in secondary storage (e.g., NVMe SSDs) and network interfaces have made it necessary to access memory subsystems in parallel using dozens of cores, with devices accessing virtual memory indirectly through the IO-MMU. These modern memory systems challenge traditional memory-management techniques.

This lecture aims to revisit in-kernel low-level memory management and explore how recent developments on both the hardware and software fronts have impacted it. The lecture will examine the problems and possible solutions associated with memory management in modern computing environments. The lecture will also present some old but fresh ideas for efficient and scalable low-level memory management.

Prof. Dr.-Ing. habil. Daniel Lohmann (Leibniz-University Hanover)

Prof. Dr.-Ing. Christian Dietrich (TUHH)

Daniel Lohmann received his diploma (Dipl.-Inform.) from Universität Koblenz, Germany in 2002. After working as a freelance consultant, he joined the group of Wolfgang Schröder-Preikschat at Friedrich-Alexander-Universität Erlangen-Nürnberg in 2003, where he received his PhD (Dr.-Ing.) in 2009 and his venia legendi (Dr.-Ing. habil.) in 2014. In 2017, he was appointed full professor and head of the Systems Research and Architecture (SRA) group at Leibniz Universität Hannover.

Prof. Lohmann's research focuses on the architecture of computing systems, ranging from hardware and system software to languages and compilers. His work seeks to develop fundamental methods for special-purpose systems that must meet stringent requirements such as noise reduction, timeliness, robustness, and hardware resources. He specializes in constructing versatile (real-time) operating systems that are tailored to meet specific (nonfunctional) application requirements and hardware properties.

Prof. Lohmann is a member of GI, EuroSys, ACM, and IEEE.

https://sra.uni-hannover.de/