xadfs: Inverted DAX

Website Maintenance Alert

Due to scheduled maintenance, the USENIX website will not be available on Saturday, April 13, from 12:00 am–12:30 am Pacific Daylight Time (UTC-7). We apologize for the inconvenience.

If you are trying to register for NSDI '24 or register for PEPR '24, please complete your registration before or after this time period.

Monday, February 24, 2020 - 11:00 am11:30 am

Hannes Reinecke, SUSE Linux


The DAX functionality provides a mechanism to leverage DAX features from within existing filesystems. It is currently geared primarily for the 'mmap()' call, allowing applications to use the benefits for persistent memory while still having a normal filesystem. However, most filesystems are designed to handle efficient large block I/O, as with this traditional storage works best. Unfortunately, this is precisely what NVDIMM is notoriously bad at; NVDIMM really excels at small, even bit-wise, I/O patterns; in fact, some systems even have a performance penalty for large I/O blocks. Also, tests with standard I/O performance tools like 'fio' do not show any noticeable benefit from using DAX.

xadfs inverts this concept; use mmap() as the default I/O path, and map all other calls onto that. The prime goal here is to use NVDIMMs as efficiently as possible to demonstrate which performance benefits could be expected. With these results we will be gaining a better understanding for which use-cases NV-DIMMs should be employed, and which are better left to traditional storage.

In this talk I will be presenting a proof-of-concept implementation of xadfs, and providing a performance comparison with traditional filesystems implementing DAX functionality.

Hannes Reinecke, SUSE Linux

Studied Physics with main focus image processing in Heidelberg from 1990 until 1997, followed by a PhD in Edinburgh's Heriot-Watt University in 2000. Worked as sysadmin during the studies, mainly in the Mathematical Institute in Heidelberg. Now working at SUSE Labs as Teamlead for storage and networking. Principal contact point for storage related issues on SLES.

Linux addict since the earliest days (0.95); various patches to get Linux up and running. Main points of interest are storage, (i)SCSI, FC/FCoE, NVMe-over-Fabrics, and multipathing. And S/390, naturally.

I'm active on the Linux SCSI and NVMe mailing list, reviewing patches and dusting out murky corners in the SCSI stack. Plus occasionally maintaining the FCoE stack.

@conference {246540,
author = {Hannes Reinecke},
title = {xadfs: Inverted {DAX}},
year = {2020},
address = {Santa Clara, CA},
publisher = {USENIX Association},
month = feb

Presentation Video