Logging versus Clustering: A Performance Comparison
Margo Seltzer, Keith Smith, Hari Balakrishnan, Jacqueline Chang, Sara McMains, and Venkata Padmanabhan
The Log-structured File System (LFS), introduced in 1991, has
received much attention for its potential order-of-magnitude
improvement in file system performance. Early research results
showed that small file performance could scale with processor speed
and that cleaning costs could be kept low, allowing LFS to write
at an effective bandwidth of 62 to 83% of the maximum. Later work
showed that the presence of synchronous disk operations could degrade
performance by as much as 62% and that cleaning overhead could
become prohibitive in transaction processing workloads, reducing
performance by as much as 40%. The same work showed that the
addition of clustered reads and writes in the Berkeley Fast File
System (FFS) made it competitive with LFS in large-file handling
and software development environments as approximated by the Andrew
These seemingly inconsistent results have caused confusion in the file system research community. This paper presents a detailed performance comparison of the 4.4BSD Log-structured File system and the 4.4BSD Fast File System. Ignoring cleaner overhead, our results show that the order-of-magnitude improvement in performance claimed for LFS applies only to meta-data intensive activities, specifically the creation of files one-kilobyte or less and deletion of files 64 kilobytes or less.
For small files, both systems provide comparable read performance, but LFS offers superior performance on writes. For large files (one megabyte and larger), the performance of the two file systems is comparable. When FFS is tuned for writing, its large-file write performance is approximately 15% better than LFS, but its write performance is 25% worse. When FFS is optimized for reading, its large-file read and write performance is comparable to LFS.
Both LFS and FFS can suffer performance degradation, due to cleaning and disk fragmentation respectively. We find that active FFS file systems function at approximately 85-95% of their maximum performance after two to three years. We examine LFS cleaner performance in a transaction-processing environment and find that cleaner overhead reduces LFS performance by more than 33% when the disk is 50% full.