J. N. Matthews, D. Roselli, A. M. Costello, R. Y. Wang, T. E. Anderson. Improving the Performance of Log-Structured File Systems with Adaptive Methods. Proc. Sixteenth Symposium on Operating Systems Principles. pp. 238-251. October 1997. Also appeared as University of California Technical Report CSD-98-985.
File system designers today face a dilemma, a log-structured file system (LFS) can offer superior performance for many common workloads such as those with frequent small writes, read traffic that is predominantly absorbed by the cache, and sufficient idle time to clean the log. However, an LFS has poor performance for other workloads, such as random updates to a full disk with little idle time to clean. In this paper, we show how adaptive algorithms can be used to enable LFS to provide high performance across a wider range of workloads. First, we show how to improve LFS write performance in three ways: by choosing the segment size to match disk and workload characteristics, by modifying the LFS cleaning policy to adapt to changes in disk utilization, and by using cached data to lower cleaning costs. Second, we show how to improve LFS read performance by reorganizing data to match read patterns. Using trace-driven simulations on a combination of synthetic and measured workloads, we demonstrate that these extensions to LFS can significantly improve its performance.