File system designs on low-latency storage devices

Date

2020-12-04

Authors

Hu, Yige

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

The evolution of modern applications and storage technologies has created new challenges for file systems. Applications store persistent state across multiple files and storage abstractions which must maintain crash consistency. New storagedevices such as NAND flash memory has lower IO latency and higher bandwidth compared to spinning disks, especially for random memory accesses. Non-volatile memory (NVM) further decreases read and write latency for persistent storage, with access times on the order of DRAM. Decreased device latencies makes it more important to eliminate CPU overhead and system call overhead than to reduce accessesto the storage device.

We first introduce TXFS, a transactional file system that builds general-purpose transactions upon an existing file system’s atomic-update mechanism such as journaling. Though prior work has explored a number of transactional file systems, TXFS has a unique set of properties: a simple API, portability across different hardware, high performance, low complexity (by building on the file-system journal), and full ACID transactions. We port SQLite, OpenLDAP, and Git to use TXFS, and experimentally show that TXFS provides strong crash consistency while providing equal or better performance.

We then introduceNVMKVFS, a user-space file-system prototype focusing on metadata operations. We examine ext4-dax and NOVA scalability, finding numerous bottlenecks in the VFS. NVM’s low memory access latency makes it more important to eliminate CPU overhead than to reduce accesses to the NVM device, so we eliminate the VFS caches while maintaining performance on standard workloads and increasing scalability. We propose a file system based on two global indexes on NVM, one for metadata and the other for data. Because of NVM’s asymmetric bandwidth on read and write accesses, We focus on optimizing read-heavy workloads and metadata-heavy workloads in which write sizes are small.

Description

LCSH Subject Headings

Citation