The Design and Implementation of a Log-Structured File System
M. Rosenblum, and J.K. Ousterhout. ACM Transactions on
Computer Systems. Vol. 10, No. 1 (Feb 1992), pp. 26-52.
The whole file system is in an append-only log. It's divided
into sizable (~1MB) segments (and the log threaded through them)
to make cleaning easier without losing performance.
Details:
- Find file locations with inodes; inode map expected to be
cached in RAM. Yields comparable read performance.
- They use checkpointing to speed cleaning and recovery
-
- Multiple cleaning strategies: successful one is to
preferentially clean "hot segments" (frequently
deleted/overwritten)
Wins:
- Small writes (eliminate metadata overhead)
- Other ops competitive with FFS
- Recovery after crashes is fast
- More of the disk bandwith is used => burden on CPU
-
Problems:
- Not good on a full disk (> 80% full)
- Relies on write-behind caching -- this would help all FSes
- Not good with a lot of fsyncs (TP)
Umesh Shankar
Last modified: Fri Jul 13 11:52:46 PDT 2001