TY - JOUR
T1 - BetrFS
T2 - Write-optimization in a kernel file system
AU - Jannen, William
AU - Yuan, Jun
AU - Zhan, Yang
AU - Akshintala, Amogh
AU - Esmet, John
AU - Jiao, Yizheng
AU - Mittal, Ankur
AU - Pandey, Prashant
AU - Reddy, Phaneendra
AU - Walsh, Leif
AU - Bender, Michael A.
AU - Farach-Colton, Martin
AU - Johnson, Rob
AU - Kuszmaul, Bradley C.
AU - Porter, Donald E.
N1 - Publisher Copyright:
© 2015 ACM.
PY - 2015/11/1
Y1 - 2015/11/1
N2 - The Bε-tree File System, or BetrFS (pronounced "better eff ess"), is the first in-kernel file system to use a write-optimized data structure (WODS). WODS are promising building blocks for storage systems because they support both microwrites and large scans efficiently. Previous WODS-based file systems have shown promise but have been hampered in several ways, which BetrFS mitigates or eliminates altogether. For example, previous WODS-based file systems were implemented in user space using FUSE, which superimposes many reads on a write-intensive workload, reducing the effectiveness of the WODS. This article also contributes several techniques for exploiting write-optimization within existing kernel infrastructure. BetrFS dramatically improves performance of certain types of large scans, such as recursive directory traversals, as well as performance of arbitrary microdata operations, such as file creates, metadata updates, and small writes to files. BetrFS can make small, random updates within a large file 2 orders of magnitude faster than other local file systems. BetrFS is an ongoing prototype effort and requires additional data-structure tuning to match current general-purpose file systems on some operations, including deletes, directory renames, and large sequential writes. Nonetheless, many applications realize significant performance improvements on BetrFS. For instance, an in-place rsync of the Linux kernel source sees roughly 1.6-22× speedup over commodity file systems.
AB - The Bε-tree File System, or BetrFS (pronounced "better eff ess"), is the first in-kernel file system to use a write-optimized data structure (WODS). WODS are promising building blocks for storage systems because they support both microwrites and large scans efficiently. Previous WODS-based file systems have shown promise but have been hampered in several ways, which BetrFS mitigates or eliminates altogether. For example, previous WODS-based file systems were implemented in user space using FUSE, which superimposes many reads on a write-intensive workload, reducing the effectiveness of the WODS. This article also contributes several techniques for exploiting write-optimization within existing kernel infrastructure. BetrFS dramatically improves performance of certain types of large scans, such as recursive directory traversals, as well as performance of arbitrary microdata operations, such as file creates, metadata updates, and small writes to files. BetrFS can make small, random updates within a large file 2 orders of magnitude faster than other local file systems. BetrFS is an ongoing prototype effort and requires additional data-structure tuning to match current general-purpose file systems on some operations, including deletes, directory renames, and large sequential writes. Nonetheless, many applications realize significant performance improvements on BetrFS. For instance, an in-place rsync of the Linux kernel source sees roughly 1.6-22× speedup over commodity file systems.
KW - B-trees
KW - File system
KW - Write optimization
UR - http://www.scopus.com/inward/record.url?scp=84954309911&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84954309911&partnerID=8YFLogxK
U2 - 10.1145/2798729
DO - 10.1145/2798729
M3 - Article
AN - SCOPUS:84954309911
SN - 1553-3077
VL - 11
JO - ACM Transactions on Storage
JF - ACM Transactions on Storage
IS - 4
M1 - 18
ER -