The LFS Storage Manager.

Mendel Rosenblum, John K. Ousterhout · 1990

Advances in computer system technology in the areas of CPUs, disk subsystems, and volatile RAM memory are combining to create performance problems existing file sys-tems are ill-equipped to solve. This paper identifies the problems of using the existing UNIX file systems on 1990’s technology and presents an alternative file system design that can use disks an order-of-magnitude more efficiently for typical UNIX workloads. The design, named LFS for log-structured file system, treats the disk as a segmented append-only log. This allows LFS to write many small changes to disk in a single large I/O while still maintaining the fast file reads of existing file systems. In addition, the log-structured approach allows near instantaneous file system crash recovery without cou-pling CPU and disk performance with synchronous disk writes. This paper describes and justifies the major data structures and algorithms of the LFS design. We compare an im-plementation of LFS in the Sprite distributed operating system to SunOS’s file system running on the same hardware. For tests that create, destroy, or modify files at a high rate, LFS can achieve an order-of-magnitude speedup over SunOS. In spite of its obvious write-optimization, LFS’s read performance matches or exceeds the SunOS file system under most common UNIX workloads.

Read the paper · More papers on PaperTik