File System Logging Versus Clustering: A Performance Comparison
Margo Seltzer, Keith A. Smith
Harvard University
Hari Balakrishnan, Jacqueline Chang, Sara McMains, Venkata Padmanabhan
University of California, Berkeley
The Log-structured File System (LFS), introduced in
1991 [8], has received much attention for its potential
order-of-magnitude improvement in file system
performance. Early research results [9] 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% [10]. The same work
showed that the addition of clustered reads and writes
in the Berkeley Fast File System [6] (FFS) made it
competitive with LFS in large-file handling and
software development environments as approximated
by the Andrew benchmark [4].
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 read 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.

Download the full text of this paper in PDF, ASCII (67,850 bytes) and POSTSCRIPT (302,884 bytes) form.

To Become a USENIX Member, please see our Membership Information.