PAVE
Stromausfallbewusster byteadressierbarer virtueller nichtflüchtiger Speicher (PAVE)
(Drittmittelfinanzierte Gruppenförderung – Teilprojekt)
Titel des Gesamtprojektes: SPP 2377: Disruptive Memory Technologies
Projektleitung: ,
Projektstart: 5. April 2021
Projektende: 14. Mai 2026
Akronym: PAVE
Mittelgeber: DFG / Schwerpunktprogramm (SPP)
URL: https://sys.cs.fau.de/en/research/pave-note
Abstract:
Subsysteme für virtuellen Speicher (VM) lassen die Unterschiede zwischen Sekundär- und Hauptspeicher verschwimmen, so dass auf flüchtige und nicht-flüchtige Daten gleichermaßen mit denselben CPU-Instruktionen zugegriffen werden kann. Jedes VM-Subsystem versucht, häufig benötigte Daten in schnellem, flüchtigen Hauptspeicher zu halten, um die hohe Zugriffslatenz des Sekundärspeichers zu vermeiden, unabhängig davon, ob die Daten selbst flüchtig sind oder nicht. Das Aufkommen von byte- adressierbarem NVRAM ändert dieses Muster nicht grundlegend, da diese Technologie aufgrund der höheren Zugriffslatenz derzeit weder DRAM als schnellen Hauptspeicher, noch herkömmlichen Sekundärspeicher aufgrund der höheren Kosten und geringeren Kapazität, ersetzen kann. Daher sollten VM-Subsysteme NVRAM- gewahr gemacht und so erweitert werden, dass alle verfügbaren byte- adressierbaren Speichertechnologien gemäß ihrer jeweiligen Stärken eingesetzt werden können. Mit Hilfe einer in der virtuellen Speicherverwaltung des Betriebssystems verankerten Abstraktion lässt sich erreichen, dass bestehende Software ohne weitere Änderung von NVRAM profitieren kann. Dadurch, dass VM- Subsysteme hochkomplexe und fein abgestimmte Softwaresysteme sind, die teils seit Jahrzehnten immer weiter entwickelt werden, folgen wir einem minimal-invasivem Ansatz, um NVRAM-Unterstützung in ein bereits existierendes VM-Subsystem zu integrieren, anstatt eines von Grund auf neu zu entwickeln. NVRAM soll als unmittelbarer DRAM-Ersatz bei Speicherknappheit dienen, um Prozesse mit großem Speicherbedarf auch bei Ressourcenknappheit lauffähig zu halten. Jedoch müssen aufgrund der höheren NVRAM-Zugriffslatenz auch nicht-flüchtige Daten zeitweise im schnellen, aber flüchtigen DRAM oder in Prozessorcaches bewahrt werden. Unser neues VM- Subsystem - wir passen FreeBSD entsprechend an - ermöglicht deshalb die Wanderung von Seiten zwischen DRAM und NVRAM, sofern es die verfügbaren Ressourcen erlauben. Somit wird DRAM gewissermaßen als ein großer, durch Software verwalteter, flüchtiger Cache für NVRAM genutzt. Daraus ergibt sich in der Folge das Problem von möglichem Datenverlust im Falle eines Stromausfalls. Das VM-Subsystem muss daher seine eigenen Metadaten in einem konsistenten und wiederherstellbaren Zustand halten und in einem solchen Fall modifizierte Seiten aus dem DRAM im NVRAM persistieren, um Datenverluste zu vermeiden. Ersteres erfordert einen hochgradig effizienten transaktionalen Mechanismus zur Veränderungen von komplexen und parallel genutzen Datenstrukturen, die für die VM-Metadaten zum Einsatz kommen. Letzteres hingegen bedeutet, dass unter Umständen große Mengen an modifizierten Seiten mit einem eng begrenzten Restenergie- und Zeitfenster gesichert werden müssen.
Publikationen:
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. Juni 2023 - 15. Juni 2023)
In: Georgios Goumas, Sven Tomforde, Jürgen Brehm, Stefan Wildermann, Thilo Pionteck (Hrsg.): 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 , , , :