Crash Consistency Testing for Cross-Media File Systems using Persistent Memory and NVMe

  • Type:Bachelor Thesis
  • Date:22.09.2023
  • Supervisor:

    Prof. Dr. Frank Bellosa
    Lukas Werling

  • Graduand:Lucas Wäldele
  • Links:PDF
  • Abstract
    Verifying crash consistency guarantees for file systems is hard because of the multitude of software and hardware layers involved. Vinter is a software to test file systems backed by persistent memory (PM). Revin adapts this approach to file systems backed by SSDs accessed through NVMe. However, there are cross-device file systems using both devices in tandem, because PM offers fast persistent writes while SSDs offer great storage capacity. To make claims about crash consistency for these systems, we need to analyze both devices at the same time.
    For this purpose we present Permanent, a cross-media tester built on Vinter and Revin. It is able to test full systems for crash consistency guarantees. Permanent traces commands to both PM and NVMe storage devices in a virtualized environment. From this trace, Permanent generates crash images for both devices, taking hardware effects like command reordering and caching into account. From the generated images, Permanent extracts the semantic file system state. Based on the amount of distinct semantic states, it automatically deduces whether crash consistency guarantees like atomicity are satisfied.
    To evaluate Permanent, we test ZIL-PMEM, a cross-media extension of ZFS. We find that Permanent is able to produce expected semantic states of the file system, and that ZIL-PMEM can recover from crashes in many different scenarios.
      author = {Lucas Wäldele},
      title = {Crash Consistency Testing for
    Cross-Media File Systems using
    Persistent Memory and NVMe},
      type = {Bachelor Thesis},
      year = 2023,
      month = sept # "22",
      school = {Operating Systems Group, Karlsruhe Institute of Technology (KIT), Germany}