{"id":2540,"date":"2022-02-11T12:46:00","date_gmt":"2022-02-11T11:46:00","guid":{"rendered":"https:\/\/i4wpdev.cs.fau.de\/?page_id=2540"},"modified":"2026-02-03T10:26:38","modified_gmt":"2026-02-03T09:26:38","slug":"pave","status":"publish","type":"page","link":"https:\/\/i4wpdev.cs.fau.de\/en\/research\/pave","title":{"rendered":"PAVE"},"content":{"rendered":"<div class=\"cris-projects\"><h3>Power-fail aware byte-addressable virtual non-volatile memory<\/h3><p class=\"project-type\">(Third Party Funds Group &ndash; Sub project)<\/p><p class=\"project-details\"><strong>Overall project: <\/strong>SPP 2377: Disruptive Memory Technologies<br \/><strong>Project leader: <\/strong><span class=\"author\" itemprop=\"author\"><a href=\"\/person\/schroeder-preikschat\">Wolfgang Schr\u00f6der-Preikschat<\/a><\/span>, <span class=\"author\" itemprop=\"author\">Dustin Tien Nguyen<\/span><br \/><strong>Start date: <\/strong>5. April 2021<br \/><strong>End date: <\/strong>14. May 2026<br \/><strong>Acronym: <\/strong>PAVE<br \/><strong>Funding source: <\/strong>DFG \/ Schwerpunktprogramm (SPP)<br \/><strong>URL: <\/strong><a href=\"https:\/\/sys.cs.fau.de\/en\/research\/pave-note\">https:\/\/sys.cs.fau.de\/en\/research\/pave-note<\/a><\/p><h4>Abstract: <\/h4><p class=\"project-description\"><p>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.<\/p><\/p><h4>Publications: <\/h4><ul class=\"cris-publications \" lang=\"en\"><li itemscope itemtype=\"http:\/\/schema.org\/ScholarlyArticle\"><span class=\"author\" itemprop=\"author\"><a href=\"\/person\/rabenstein\">Rabenstein J.<\/a><\/span>, <span class=\"author\" itemprop=\"author\">Nguyen DT.<\/span>, <span class=\"author\" itemprop=\"author\">Giersch O.<\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/eichler\">Eichler C.<\/a><\/span>, <span class=\"author\" itemprop=\"author\">H\u00f6nig T.<\/span>, <span class=\"author\" itemprop=\"author\">Nolte J.<\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/schroeder-preikschat\">Schr\u00f6der-Preikschat W.<\/a><\/span>:<br \/><span class=\"title\" itemprop=\"name\"><strong><a href=\"https:\/\/cris.fau.de\/publications\/299599846?lang=en_GB\" title=\"Detailansicht in neuem Fenster &ouml;ffnen\">On the Performance of NVRAM-based Operating Systems: A Case Study with Linux and FreeBSD<\/a><\/strong><\/span><br \/> (<span itemprop=\"datePublished\">2023<\/span>)<br><span itemscope itemtype=\"http:\/\/schema.org\/Periodical\" itemid=\"#periodical_299599846\"><span itemprop=\"issn\">ISSN: 2191-5008<\/span><\/span><\/span><br \/>DOI: <a href='https:\/\/doi.org\/10.25593\/issn.2191-5008\/CS-2023-01' target='blank' itemprop=\"sameAs\">10.25593\/issn.2191-5008\/CS-2023-01<\/a><\/li><li itemscope itemtype=\"http:\/\/schema.org\/ScholarlyArticle\"><span class=\"author\" itemprop=\"author\"><a href=\"\/person\/rabenstein\">Rabenstein J.<\/a><\/span>, <span class=\"author\" itemprop=\"author\">Nguyen DT.<\/span>, <span class=\"author\" itemprop=\"author\">Giersch O.<\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/eichler\">Eichler C.<\/a><\/span>, <span class=\"author\" itemprop=\"author\">H\u00f6nig T.<\/span>, <span class=\"author\" itemprop=\"author\">Nolte J.<\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/schroeder-preikschat\">Schr\u00f6der-Preikschat W.<\/a><\/span>:<br \/><span class=\"title\" itemprop=\"name\"><strong><a href=\"https:\/\/cris.fau.de\/publications\/313081129?lang=en_GB\" title=\"Detailansicht in neuem Fenster &ouml;ffnen\">Back to the Core-Memory Age: Running Operating Systems in NVRAM only<\/a><\/strong><\/span><br \/><span itemscope itemtype=\"http:\/\/schema.org\/Event\" style=\"font-style:italic\"><span itemprop=\"name\">Architecture of Computing Systems. ARCS 2023<\/span> (<span itemprop =\"location\" itemscope itemtype=\"http:\/\/schema.org\/PostalAddress\"><span itemprop=\"name\">Athen<\/span><\/span>, <span itemprop=\"startDate\" content=\"2023-06-13\">13. June 2023<\/span> - <span itemprop=\"endDate\" content=\"2023-06-15\">15. June 2023<\/span>)<\/span><br \/><span itemscope itemtype=\"http:\/\/schema.org\/Book\">In: <span itemprop=\"author\">Georgios Goumas, Sven Tomforde, J\u00fcrgen Brehm, Stefan Wildermann, Thilo Pionteck (ed.): <\/span><span itemprop=\"name\" style=\"font-weight:bold\">Lecture Notes in Computer Science<\/span> <span itemprop=\"datePublished\">2023<\/span><\/span><br \/>DOI: <a href='https:\/\/doi.org\/10.1007\/978-3-031-42785-5_11' target='blank' itemprop=\"sameAs\">10.1007\/978-3-031-42785-5_11<\/a><\/li><li itemscope itemtype=\"http:\/\/schema.org\/ScholarlyArticle\"><span class=\"author\" itemprop=\"author\">Nguyen DT.<\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/wiedemann\">Wiedemann O.<\/a><\/span>, <span class=\"author\" itemprop=\"author\">Nolte J.<\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/schroeder-preikschat\">Schr\u00f6der-Preikschat W.<\/a><\/span>:<br \/><span class=\"title\" itemprop=\"name\"><strong><a href=\"https:\/\/cris.fau.de\/publications\/313089624?lang=en_GB\" title=\"Detailansicht in neuem Fenster &ouml;ffnen\">NVall: A Crash-Resistant and Kernel-Compatible Memory Allocator for NVRAM<\/a><\/strong><\/span><br \/><span itemscope itemtype=\"http:\/\/schema.org\/Event\" style=\"font-style:italic\"><span itemprop=\"name\">FG-BS Herbsttreffens 2023<\/span> (<span itemprop =\"location\" itemscope itemtype=\"http:\/\/schema.org\/PostalAddress\"><span itemprop=\"name\">Bamberg<\/span><\/span>, <span itemprop=\"startDate\" content=\"2023-09-28\">28. September 2023<\/span> - <span itemprop=\"endDate\" content=\"2023-09-29\">29. September 2023<\/span>)<\/span><br \/>DOI: <a href='https:\/\/doi.org\/10.18420\/fgbs2023h-02' target='blank' itemprop=\"sameAs\">10.18420\/fgbs2023h-02<\/a><br \/>URL: <a href='https:\/\/dl.gi.de\/items\/8d0686f6-a88e-4e96-af34-2743d49b99a4' target='blank' itemprop=\"url\">https:\/\/dl.gi.de\/items\/8d0686f6-a88e-4e96-af34-2743d49b99a4<\/a><\/li><li itemscope itemtype=\"http:\/\/schema.org\/ScholarlyArticle\"><span class=\"author\" itemprop=\"author\"><a href=\"\/person\/ott\">Ott M.<\/a><\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/raffeck\">Raffeck P.<\/a><\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/sieh\">Sieh V.<\/a><\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/schroeder-preikschat\">Schr\u00f6der-Preikschat W.<\/a><\/span>:<br \/><span class=\"title\" itemprop=\"name\"><strong><a href=\"https:\/\/cris.fau.de\/publications\/310058062?lang=en_GB\" title=\"Detailansicht in neuem Fenster &ouml;ffnen\">Towards Just-In-Time Compiling of Operating Systems<\/a><\/strong><\/span><br \/><span itemscope itemtype=\"http:\/\/schema.org\/Event\" style=\"font-style:italic\"><span itemprop=\"name\">12th Workshop on Programming Languages and Operating Systems (PLOS 2023)<\/span><span itemprop=\"startDate\" content=\"2023\"><\/span><\/span><br \/>DOI: <a href='https:\/\/doi.org\/10.1145\/3623759.3624551' target='blank' itemprop=\"sameAs\">10.1145\/3623759.3624551<\/a><\/li><li itemscope itemtype=\"http:\/\/schema.org\/ScholarlyArticle\"><span class=\"author\" itemprop=\"author\">Nguyen DT.<\/span>, <span class=\"author\" itemprop=\"author\">Ru\u00dfer S.<\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/ott\">Ott M.<\/a><\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/kapitza\">Kapitza R.<\/a><\/span>, <span class=\"author\" itemprop=\"author\"><a href=\"\/person\/schroeder-preikschat\">Schr\u00f6der-Preikschat W.<\/a><\/span>, <span class=\"author\" itemprop=\"author\">Nolte J.<\/span>:<br \/><span class=\"title\" itemprop=\"name\"><strong><a href=\"https:\/\/cris.fau.de\/publications\/337859377?lang=en_GB\" title=\"Detailansicht in neuem Fenster &ouml;ffnen\">Honey, I Shrunk the Guests\r\nPage Access Tracking using a Minimal Virtualisation Layer<\/a><\/strong><\/span><span aria-hidden=\"true\" tabindex=\"-1\" class=\"oa-icon\" title=\"Open-Access-Publikation\"><\/span><br \/><span itemscope itemtype=\"http:\/\/schema.org\/Event\" style=\"font-style:italic\"><span itemprop=\"name\">4th Workshop on Heterogeneous Composable and Disaggregated Systems<\/span> (<span itemprop =\"location\" itemscope itemtype=\"http:\/\/schema.org\/PostalAddress\"><span itemprop=\"name\">Co-located with ASPLOS\/EUROSYS 2025\r\nRotterdam, Netherlands<\/span><\/span>, <span itemprop=\"startDate\" content=\"2025-03-30\">30. March 2025<\/span> - <span itemprop=\"endDate\" content=\"2025-03-30\">30. March 2025<\/span>)<\/span><br \/>DOI: <a href='https:\/\/doi.org\/10.1145\/3723851.3723852' target='blank' itemprop=\"sameAs\">10.1145\/3723851.3723852<\/a><\/li><\/ul><\/div>\r\n\r\n<h4><a href=\"https:\/\/i4wpdev.cs.fau.de\/en\/research\/pave-note\">Project website<\/a><\/h4>","protected":false},"excerpt":{"rendered":"Project website","protected":false},"author":4,"featured_media":0,"parent":2103,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","_rrze_multilang_single_locale":"en_US","_rrze_multilang_single_source":"https:\/\/i4wpdev.cs.fau.de\/?page_id=2538","footnotes":""},"page_category":[],"class_list":["post-2540","page","type-page","status-publish","hentry","en-US"],"_links":{"self":[{"href":"https:\/\/i4wpdev.cs.fau.de\/wp-json\/wp\/v2\/pages\/2540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/i4wpdev.cs.fau.de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/i4wpdev.cs.fau.de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/i4wpdev.cs.fau.de\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/i4wpdev.cs.fau.de\/wp-json\/wp\/v2\/comments?post=2540"}],"version-history":[{"count":7,"href":"https:\/\/i4wpdev.cs.fau.de\/wp-json\/wp\/v2\/pages\/2540\/revisions"}],"predecessor-version":[{"id":6202,"href":"https:\/\/i4wpdev.cs.fau.de\/wp-json\/wp\/v2\/pages\/2540\/revisions\/6202"}],"up":[{"embeddable":true,"href":"https:\/\/i4wpdev.cs.fau.de\/wp-json\/wp\/v2\/pages\/2103"}],"wp:attachment":[{"href":"https:\/\/i4wpdev.cs.fau.de\/wp-json\/wp\/v2\/media?parent=2540"}],"wp:term":[{"taxonomy":"page_category","embeddable":true,"href":"https:\/\/i4wpdev.cs.fau.de\/wp-json\/wp\/v2\/page_category?post=2540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}