File Systems Fated for Senescence? Nonsense, Says Science!

Authors: 

Alex Conway and Ainesh Bakshi, Rutgers University; Yizheng Jiao and Yang Zhan, The University of North Carolina at Chapel Hill; Michael A. Bender, William Jannen, and Rob Johnson, Stony Brook University; Bradley C. Kuszmaul, Oracle Corporation and Massachusetts Institute of Technology; Donald E. Porter, The University of North Carolina at Chapel Hill; Jun Yuan, Farmingdale State College of SUNY; Martin Farach-Colton, Rutgers University

Abstract: 

File systems must allocate space for files without knowing what will be added or removed in the future. Over the life of a file system, this may cause suboptimal file placement decisions which eventually lead to slower performance, or aging. Traditional file systems employ heuristics, such as collocating related files and data blocks, to avoid aging, and many file system implementors treat aging as a solved problem.

However, this paper describes realistic as well as synthetic workloads that can cause these heuristics to fail, inducing large performance declines due to aging. For example, on ext4 and ZFS, a few hundred git pull operations can reduce read performance by a factor of 2; performing a thousand pulls can reduce performance by up to a factor of 30. We further present microbenchmarks demonstrating that common placement strategies are extremely sensitive to file-creation order; varying the creation order of a few thousand small files in a real-world directory structure can slow down reads by 15–175x, depending on the file system.

We argue that these slowdowns are caused by poor layout. We demonstrate a correlation between read performance of a directory scan and the locality within a file system’s access patterns, using a dynamic layout score.

In short, many file systems are exquisitely prone to read aging for a variety of write workloads. We show, however, that aging is not inevitable. BetrFS, a file system based on write-optimized dictionaries, exhibits almost no aging in our experiments. BetrFS typically outperforms the other file systems in our benchmarks; aged BetrFS even outperforms the unaged versions of these file systems, excepting Btrfs. We present a framework for understanding and predicting aging, and identify the key features of BetrFS that avoid aging.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

Presentation Audio

BibTeX
@inproceedings {201924,
author = {Alex Conway and Ainesh Bakshi and Yizheng Jiao and William Jannen and Yang Zhan and Jun Yuan and Michael A. Bender and Rob Johnson and Bradley C. Kuszmaul and Donald E. Porter and Martin Farach-Colton},
title = {File Systems Fated for Senescence? Nonsense, Says Science!},
booktitle = {15th {USENIX} Conference on File and Storage Technologies ({FAST} 17)},
year = {2017},
isbn = {978-1-931971-36-2},
address = {Santa Clara, CA},
pages = {45--58},
url = {https://www.usenix.org/conference/fast17/technical-sessions/presentation/conway},
publisher = {{USENIX} Association},
}