Conway, Alex, Bakshi, Ainesh, Bhattacharya, Arghya, Bennett, Rory, Jiao, Yizheng, Knorr, Eric, Zhan, Yang, Bender, Michael A., Jannen, William, Johnson, Rob, Kuszmaul, Bradley C., Porter, Donald E., Yuan, Jun, Farach-Colton, Martin, Conway, Alex, Bakshi, Ainesh, Bhattacharya, Arghya, Bennett, Rory, Jiao, Yizheng, Knorr, Eric, Zhan, Yang, Bender, Michael A., Jannen, William, Johnson, Rob, Kuszmaul, Bradley C., Porter, Donald E., Yuan, Jun, and Farach-Colton, Martin
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 that eventually lead to slower performance, or aging. Conventional wisdom suggests that file system aging is a solved problem in the common case; heuristics to avoid aging, such as colocating related files and data blocks, are effective until a storage device fills up, at which point space pressure exacerbates fragmentation-based aging. However, this article describes both realistic and synthetic workloads that can cause these heuristics to fail, inducing large performance declines due to aging, even when the storage device is nearly empty. We argue that these slowdowns are caused by poor layout. We demonstrate a correlation between the read performance of a directory scan and the locality within a file system's access patterns, using a dynamic layout score. We complement these results with microbenchmarks that show that space pressure can cause a substantial amount of inter-file and intra-file fragmentation. However, our results suggest that the effect of free-space fragmentation on read performance is best described as accelerating the file system aging process. The effect on write performance is non-existent in some cases, and, in most cases, an order of magnitude smaller than the read degradation from fragmentation caused by normal usage. In short, many file systems are exquisitely prone to read aging after a variety of write patterns. We show, however, that aging is not inevitable. BetrFS, a file system based on write-optimized dictionaries, exhibits almost no aging in our experiments. We present a framework for understanding and predicting aging, and identify the key features of BetrFS that avoid aging., Comment: 36 pages, 12 figures. Article is an extension of Conway et al. FAST 17. (see https://www.usenix.org/conference/fast17/technical-sessions/presentation/conway) and Conway et al. HotStorage 19. (see https://www.usenix.org/conference/hotstorage19/presentation/conway)