UW-Madison Logo

The ADvanced Systems Laboratory (ADSL)

NVM Storage Technology

Designing New File System Architectures: File Systems as Processes

With fast storage devices, OS software has been shown to be a bottleneck. However, previous systems that have tried to move file system functionality outside of the kernel (e.g., Moneta Arrakis, Aerie, and Strata) usually still must trap into the kernel for control plane operations (e.g., to ensure security with metadata integrity and to share data). We are exploring a new storage architecture we label file systems as processes (FSP) that builds a true direct-access file system as a user-lvel process. The file system process directly manages the dives, enforces permissions, and ensures metadata integrity with minimal kernel involvement. FSPs are enabled by user-level NVMe device drivers and are a reinvention of microkernels for high-performance I/O. We currently have a prototype FSP implemented.

A few of the on-going research questions include:

  • How should the FSP be divided across multiple threads / cores?
  • How should the FSP interact with applications? How should communication be performed and memory shared for efficient copying?
  • How should the FSP interact with the device? How should communication performed and memory shared for efficient copying?

To find out more:
File Systems as Processes
Jing Liu, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Sudarsun Kannan
HotStorage '19, Renton, WA, July 2019. Available as: PDF