The Design and Implementation of a Log-Structured File System

The Design and Implementation of a Log-Structured File System

1991 | Mendel Rosenblum and John K. Ousterhout
This paper introduces a new disk storage management technique called a *log-structured file system* (LSFS), which writes all modifications to disk in a sequential log-like structure, enhancing both file writing and crash recovery performance. The log is the sole structure on disk, containing indexing information for efficient file reading. To maintain large free areas for fast writing, LSFS divides the log into *segments* and uses a *segment cleaner* to compress live data from fragmented segments. The paper presents simulations demonstrating the efficiency of a cost-benefit cleaning policy, which segregates old, slowly changing data from young, rapidly changing data. The prototype LSFS, named Sprite LFS, outperforms current Unix file systems by an order of magnitude for small-file writes while matching or exceeding Unix performance for reads and large writes. Even with cleaning overhead, Sprite LFS can use 70% of the disk bandwidth for writing, compared to 5-10% for Unix file systems. The paper also discusses the design of LSFS, crash recovery, and compares Sprite LFS to other file systems.This paper introduces a new disk storage management technique called a *log-structured file system* (LSFS), which writes all modifications to disk in a sequential log-like structure, enhancing both file writing and crash recovery performance. The log is the sole structure on disk, containing indexing information for efficient file reading. To maintain large free areas for fast writing, LSFS divides the log into *segments* and uses a *segment cleaner* to compress live data from fragmented segments. The paper presents simulations demonstrating the efficiency of a cost-benefit cleaning policy, which segregates old, slowly changing data from young, rapidly changing data. The prototype LSFS, named Sprite LFS, outperforms current Unix file systems by an order of magnitude for small-file writes while matching or exceeding Unix performance for reads and large writes. Even with cleaning overhead, Sprite LFS can use 70% of the disk bandwidth for writing, compared to 5-10% for Unix file systems. The paper also discusses the design of LSFS, crash recovery, and compares Sprite LFS to other file systems.
Reach us at info@study.space