The design and implementation of a log-structured file system
- 1 September 1991
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGOPS Operating Systems Review
- Vol. 25 (5) , 1-15
- https://doi.org/10.1145/121133.121137
Abstract
This paper presents a new technique for disk storage management called a log-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 into segments and use a segment cleaner to 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 15 references indexed in Scilit:
- Measurements of a distributed file systemPublished by Association for Computing Machinery (ACM) ,1991
- 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
- File access performance of diskless workstationsACM Transactions on Computer Systems, 1986
- 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 study of file sizes and functional lifetimesPublished by Association for Computing Machinery (ACM) ,1981
- Notes on data base operating systemsPublished by Springer Nature ,1978