Optimizing Every Operation in a Write optimized File System
File systems that employ write optimized dictionaries (WODs) can perform random writes, metadata updates, and recursive directory traversals orders of magnitude faster than conventional file systems. However, previous WOD based file systems have not obtained all of these performance gains without sacrificing performance on other operations, such as file deletion, file or directory renaming, or sequential writes. Using three techniques, late binding journaling, zoning, and range deletion, we show that there is no fundamental trade off in write optimization. These dramatic improvements can be retained while matching conventional file systems on all other operations. BetrFS 0.2 delivers order of magnitude better performance than conventional file systems on directory scans and small random writes and matches the performance of conventional file systems on rename, delete, and sequential I/O. For example, BetrFS 0.2 performs directory scans 2.2x faster, and small random writes over two orders of magnitude faster, than the fastest conventional file system. But unlike BetrFS 0.1, it renames and deletes files commensurate with conventional file systems and performs large sequential I/O at nearly disk bandwidth. The performance benefits of these techniques extend to applications as well. BetrFS 0.2 continues to outperform conventional file systems on many applications, such as as rsync, git diff, and tar, but improves git clone performance by 35% over BetrFS 0.1, yielding performance comparable to other file systems.
USENIX Annual Technical Conference