The design and implementation of a log-structured file system
- 1 February 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 10 (1), 26-52
- https://doi.org/10.1145/146941.146943
Abstract
This paper presents a new technique for disk storage management called alog-structured file system. A log-structured file system writes all modifications to disk sequentially in a log-like structure, thereby speeding up both file writing and crash recovery. The log is the only structure on disk; it contains indexing information so that files can be read back from the log efficiently. In order to maintain large free areas on disk for fast writing, we divide the log intosegmentsand use asegment cleanerto compress the live information from heavily fragmented segments. We present a series of simulations that demonstrate the efficiency of a simple cleaning policy based on cost and benefit. We have implemented a prototype log-structured file system called Sprite LFS; it 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 when the overhead for cleaning is included, Sprite LFS can use 70% of the disk bandwidth for writing, whereas Unix file systems typically can use only 5–10%.Keywords
This publication has 10 references indexed in Scilit:
- Evolution of storage facilities in AIX Version 3 for RISC System/6000 processorsIBM Journal of Research and Development, 1990
- The Sprite network operating systemComputer, 1988
- A case for redundant arrays of inexpensive disks (RAID)Published by Association for Computing Machinery (ACM) ,1988
- Reimplementing the Cedar file system using logging and group commitPublished by Association for Computing Machinery (ACM) ,1987
- A Crash Recovery Scheme for a Memory-Resident Database SystemInternational Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1986
- File access performance of diskless workstationsACM Transactions on Computer Systems, 1986
- Reliable object storage to support atomic actionsPublished by Association for Computing Machinery (ACM) ,1985
- A trace-driven analysis of the UNIX 4.2 BSD file systemPublished by Association for Computing Machinery (ACM) ,1985
- A fast file system for UNIXACM Transactions on Computer Systems, 1984
- A real-time garbage collector based on the lifetimes of objectsCommunications of the ACM, 1983