Table of Contents
Fetching ...

Boosting File Systems Elegantly: A Transparent NVM Write-ahead Log for Disk File Systems

Guoyu Wang, Xilong Che, Haoyang Wei, Shuo Chen, Puyi He, Juncheng Hu

TL;DR

<3-5 sentence high-level summary> NVLog tackles the bottleneck of synchronous persistence in disk file systems by introducing a transparent NVM-based write-ahead log that absorbs sync writes while preserving the DRAM page cache. It uses a lightweight, append-only log structure on NVM, with two entry types (OOP and IP) and a super/inode log hierarchy, enabling crash-consistent recovery and aggressive garbage collection without modifying existing APIs. The design carefully coordinates NVM and disk through write-back debouncing, active-sync prediction, and explicit consistency mechanisms, delivering large speedups over baselines like NOVA and SPFS across micro- and macrobenchmarks. The results demonstrate NVLog’s ability to accelerate traditional disk file systems while maintaining stability and reducing write amplification, making it practical for real-world deployments with minimal NVM footprint.>

Abstract

We propose NVLog, an NVM-based write-ahead log for disk file systems, designed to transparently harness the high performance of NVM within the legacy storage stack. NVLog provides on-demand byte-granularity sync absorption, reserving the fast DRAM path for asynchronous operations, meanwhile occupying NVM space only temporarily. To accomplish this, we designed a highly efficient log structure, developed mechanisms to address heterogeneous crash consistency, optimized for small writes, and implemented robust crash recovery and garbage collection methods. Compared to previous solutions, NVLog is lighter, more stable, and delivers higher performance, all while leveraging the mature kernel software stack and avoiding data migration overhead. Experimental results demonstrate that NVLog can accelerate disk file systems by up to 15.09x and outperform NOVA and SPFS in various scenarios by up to 3.72x and 324.11x, respectively.

Boosting File Systems Elegantly: A Transparent NVM Write-ahead Log for Disk File Systems

TL;DR

<3-5 sentence high-level summary> NVLog tackles the bottleneck of synchronous persistence in disk file systems by introducing a transparent NVM-based write-ahead log that absorbs sync writes while preserving the DRAM page cache. It uses a lightweight, append-only log structure on NVM, with two entry types (OOP and IP) and a super/inode log hierarchy, enabling crash-consistent recovery and aggressive garbage collection without modifying existing APIs. The design carefully coordinates NVM and disk through write-back debouncing, active-sync prediction, and explicit consistency mechanisms, delivering large speedups over baselines like NOVA and SPFS across micro- and macrobenchmarks. The results demonstrate NVLog’s ability to accelerate traditional disk file systems while maintaining stability and reducing write amplification, making it practical for real-world deployments with minimal NVM footprint.>

Abstract

We propose NVLog, an NVM-based write-ahead log for disk file systems, designed to transparently harness the high performance of NVM within the legacy storage stack. NVLog provides on-demand byte-granularity sync absorption, reserving the fast DRAM path for asynchronous operations, meanwhile occupying NVM space only temporarily. To accomplish this, we designed a highly efficient log structure, developed mechanisms to address heterogeneous crash consistency, optimized for small writes, and implemented robust crash recovery and garbage collection methods. Compared to previous solutions, NVLog is lighter, more stable, and delivers higher performance, all while leveraging the mature kernel software stack and avoiding data migration overhead. Experimental results demonstrate that NVLog can accelerate disk file systems by up to 15.09x and outperform NOVA and SPFS in various scenarios by up to 3.72x and 324.11x, respectively.
Paper Structure (32 sections, 13 figures, 1 table, 1 algorithm)

This paper contains 32 sections, 13 figures, 1 table, 1 algorithm.

Figures (13)

  • Figure 1: The throughput on different file systems and different storage devices, tested with FIO. C and W suffixes indicate that the page cache is cold (cache miss) or warm (cache hit). S means sync writes. Reads are not affected by sync.
  • Figure 2: NVLog Architecture. Figure shows the position and data flow of NVLog inside the Linux kernel.
  • Figure 3: Log Structure. The detailed design of the data arrangement and the behavior of sync writes. The yellow parts are data pages in DRAM cache, the green parts are persistent data logs in NVM, and the blue parts are persistent metadata that helps NVLog to persist data.
  • Figure 4: Sync Write Step. For O_SYNC writes, each write operation is divided into parts by page boundaries. Page-aligned (red) parts are recorded by OOP entries, and the unaligned (yellow) parts are recorded by IP entries. For normal writes followed by an fsync, all dirty pages are recorded by OOP entries.
  • Figure 5: Page consistency on heterogeneous devices.
  • ...and 8 more figures