March 28, 2022
Yizheng Jiao, The University of North Carolina; Simon Bertron, Katana Graph; Sagar Patel, The University of North Carolina; Luke Zeller, The University of North Carolina; Rory Bennett, Stony Brook University; Nirjhar Mukherjee, Carnegie Mellon University; Michael A. Bender, Stony Brook University; Michael Condict, Hurdle Mills; Alex Conway, VMware Research; Martín Farach-Colton, Rutgers University; Xiongzi Ge, NetApp, Inc.; William Jannen, Williams College; Rob Johnson, VMware Research; Donald E. Porter, The University of North Carolina; Jun Yuan, VMware
EuroSys '22: Proceedings of the Seventeenth European Conference on Computer Systems
Despite the existence of file systems tailored for flash and over a decade of research into flash file systems, this paper shows that no single Linux file system performs consistently well on a commodity SSD across different workloads. We define a compleat file system as one where no workloads realize less than 30% of the best file system's performance, and most, if not all, workloads realize at least 85% of the best file system's performance, across a diverse set of microbenchmarks and applications. No file system is compleat on commodity SSDs. This paper demonstrates that one can construct a single compleat file system for commodity SSDs by introducing a set of optimizations over BetrFS. BetrFS is a compleat file system on HDDs, matching the fastest Linux file systems in its worst cases, and, in its best cases, improving performance by up to two orders of magnitude.
Our optimized BetrFS (i.e., v0.6) is not only compleat, it is either the fastest or within 15% of the fastest general-purpose Linux file system on a range of microbenchmarks. At best, these optimizations improve random write throughput by 6× compared to the fastest SSD file system. At worst, our file system is competitive with the other baseline file systems. These improvements translate to application-level gains; for instance, compared to other commodity file systems, the Dovecot mailserver and an rsync of the Linux source on BetrFS show speedups of 1.13 × and 1.8 ×, respectively.
The paper can be found at: https://dl.acm.org/doi/10.1145/3492321.3519571.