PAVE
Power-fail aware byte-addressable virtual non-volatile memory
(Third Party Funds Group – Sub project)
Overall project: SPP 2377: Disruptive Memory Technologies
Project leader: ,
Start date: 5. April 2021
End date: 14. May 2026
Acronym: PAVE
Funding source: DFG / Schwerpunktprogramm (SPP)
URL: https://sys.cs.fau.de/en/research/pave-note
Abstract:
Virtual memory (VM) subsystems blur the distinction between storage and memory such that both volatile and non-volatile data can be accessed transparently via CPU instructions. Each and every VM subsystem tries hard to keep highly contended data in fast volatile main memory to mitigate the high access latency of secondary storage, irrespective of whether the data is considered to be volatile or not. The recent advent of byte-addressable NVRAM does not change this scheme in principle, because the current technology can neither replace DRAM as fast main memory due to its significantly higher access latencies, nor secondary storage due to its significantly higher price and lower capacity. Thus, ideally, VM subsystems should be NVRAM-aware and be extended in such a way that all available byte-addressable memory technologies can be employed to their respective advantages. By means of an abstraction anchored in the VM management in the operating system, legacy software should then be able to benefit unchanged and efficiently from byte- addressable non-volatile main memory. Due to the fact that most VM subsystems are complex, highly-tuned software systems, which have evolved over decades of development, we follow a minimally invasive approach to integrate NVRAM-awareness into an existing VM subsystem instead of developing an entirely new system from scratch. NVRAM will serve as an immediate DRAM substitute in case of main memory shortage and inherently support processes with large working sets. However, due to the high access latencies of NVRAM, non-volatile data also needs to be kept at least temporarily in fast volatile main memory and the volatile CPU caches, anyway. Our new VM subsystem - we want to adapt FreeBSD accordingly - then takes care of migration of pages between DRAM and NVRAM, if the available resources allow. Thus, the DRAM is effectively managed as a large software-controlled volatile page cache for NVRAM. Consequently, this raises the question of data losses caused by power outages. The VM subsystem therefore needs to keep its own metadata in a consistent and recoverable state and modified pages in volatile memory need to be copied to NVRAM to avoid losses. The former requires an extremely efficient transactional mechanism for modifying of complex, highly contended VM metadata, while the latter must cope with potentially large amounts of modified pages with limited energy reserves.
Publications:
On the Performance of NVRAM-based Operating Systems: A Case Study with Linux and FreeBSD
(2023)
ISSN: 2191-5008
DOI: 10.25593/issn.2191-5008/CS-2023-01 , , , , , , :
Back to the Core-Memory Age: Running Operating Systems in NVRAM only
Architecture of Computing Systems. ARCS 2023 (Athen, 13. June 2023 - 15. June 2023)
In: Georgios Goumas, Sven Tomforde, Jürgen Brehm, Stefan Wildermann, Thilo Pionteck (ed.): Lecture Notes in Computer Science 2023
DOI: 10.1007/978-3-031-42785-5_11 , , , , , , :
NVall: A Crash-Resistant and Kernel-Compatible Memory Allocator for NVRAM
FG-BS Herbsttreffens 2023 (Bamberg, 28. September 2023 - 29. September 2023)
DOI: 10.18420/fgbs2023h-02
URL: https://dl.gi.de/items/8d0686f6-a88e-4e96-af34-2743d49b99a4 , , , :
Towards Just-In-Time Compiling of Operating Systems
12th Workshop on Programming Languages and Operating Systems (PLOS 2023)
DOI: 10.1145/3623759.3624551 , , , :