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%.
- 1.John K. Ousterhout, Herve Da Costa, David Harrison, John A. Kunze, Mike Kupfer, and James G. Thompson, "A Trace-Driven Analysis of the Unix 4.2 BSD File System," Proceedings of the lOth Symposium on Operating Systems Principles, pp. 15-24 ACM, (1985). Google ScholarDigital Library
- 2.Michael L. Kazar, Bruce W. Leverett, Owen T. Anderson, Vasilis Apostolides, Beth A. Bottos, Sailesh Chutani, Craig F. Everhart, W. Anthony Mason, Shu-Tsui Tu, and Edward R. Zayas, "DEcorum File System Architectural Overview," Proceedings of the USENIX 1990 Summer Conference, pp. 151-164 (Jun 1990).Google Scholar
- 3.Robert B. Hagmann, "Reimplementing the Cedar File System Using Logging and Group Commit," Proceedings of the l lth Symposium on Operating Systems Principles, pp. 155-162 (Nov 1987). Google ScholarDigital Library
- 4.John K. Ousterhout, Andrew R. Cherenson, Frederick Douglis, Michael N. Nelson, and Brent B. Welch, "The Sprite Network Operating System," IEEE Computer 21(2) pp. 23-36 (1988). Google ScholarDigital Library
- 5.David A. Patterson, Garth Gibson, and Randy H. Katz, "A Case for Redundant Arrays of Inexpensive Disks (RAID)," ACM SIGMOD 88, pp. 109-116 (Jun 1988). Google ScholarDigital Library
- 6.Mary G. Baker, John H. Hartman, Michael D. Kupfer, Ken W. Shirriff, and John K. Ousterhout, "Measurements of a Distributed File System," Proceedings of the 13th Symposium on Operating Systems Principles, ACM, (Oct 1991). Google ScholarDigital Library
- 7.M. Satyanarayanan, "A Study of File Sizes and Functional Lifetimes," Proceedings of the 8th Symposium on Operating Systems Principles, pp. 96-108 ACM, (1981). Google ScholarDigital Library
- 8.Edward D. Lazowska, John Zahorjan, David R Cheriton, and Willy Zwaenepoel, "File Access Performance of Diskless Workstations," Transactions on Computer Systems 4(3) pp. 238-268 (Aug 1986). Google ScholarDigital Library
- 9.Marshall K. McKusick, "A Fast File System for Unix," Transactions on Computer Systems 2(3)pp. 181-197 ACM, (1984). Google ScholarDigital Library
- 10.R. Sandberg, "Design and Implementation of the Sun Network Filesystem," Proceedings of the USENIX 1985 Summer Conference, pp. 119-130 (Jun 1985).Google Scholar
- 11.John K. Ousterhout, "Why Aren't Operating Systems Getting Faster As Fast as Hardware?," Proceedings of the USENIX 1990 Summer Conference, pp. 247-256 (Jun 1990).Google Scholar
- 12.Margo I. Seltzer, Peter M. Chen, and John K. Ousterhout, "Disk Scheduling Revisited," Proceedings of the Winter 1990 USENIX Technical Conference, (January 1990).Google Scholar
- 13.Jim Gray, "Notes on Data Base Operating Systems,'' in Operating Systems, An Advanced Course, Springer-Verlag (1979). Google ScholarDigital Library
- 14.A. Chang, M. F. Mergen, R. K. Rader, J. A. Roberts, and S. L. Porter, "Evolution of storage facilities in AIX Version 3 for RISC System/6000 processors," IBM Journal of Research and Development 34(1) pp. 105-109 (Jan 1990). Google ScholarDigital Library
- 15.Marshall Kirk McKusick, Willian N. Joy, Samuel J. Leffler, and Robert S. Fabry, "Fsck - The UNIX File System Check Program," Unix System Manager's Manual - 4.3 BSD Virtual VAX-11 Version, USENIX, (Apr 1986).Google Scholar
- 16.Larry McVoy and Steve Kleiman, "Extent-like Performance from a UNIX File System," Proceedings of the USENIX 1991 Winter Conference, (Jan 1991).Google Scholar
- 17.D. Reed and Liba Svobodova, "SWALLOW: A Distributed Data Storage System for a Local Network," Local Networks for Computer Communications, pp. 355-373 North-Holland, (1981).Google Scholar
- 18.Ross S. Finlayson and David R. Cheriton, "Log Files: An Extended File Service Exploiting Write- Once Storage," Proceedings of the 11 th Symposium on Operating Systems Principles, pp. 129-148 ACM, (Nov 1987). Google ScholarDigital Library
- 19.H.G. Baker, "List Processing in Real Time on a Serial Computer," A.I. Working Paper 139, MIT-AI Lab, Boston, MA (April 1977).Google Scholar
- 20.Henry Lieberman and Carl Hewitt, "A Real-Time Garbage Collector Based on the Lifetimes of Objects," Communications of the ACM 26(6)pp. 419-429 (1983). Google ScholarDigital Library
- 21.Brian M. Old, Barbara H. Liskov, and Robert W. Scheifler, "Reliable Object Storage to Support Atomic Actions," Proceedings of the lOth Symposium on Operating Systems Principles, pp. 147-159 ACM, (1985). Google ScholarDigital Library
- 22.David J. DeWitt, Randy H. Katz, Frank Olken, L. D. Shapiro, Mike R. Stonebraker, and David Wood, "Implementation Techniques for Main Memory Database Systems," Proceedings of SIGMOD 1984, pp. 1-8 (Jun 1984). Google ScholarDigital Library
- 23.Kenneth Salem and Hector Garcia-Molina, "Crash Recovery Mechanisms for Main Storage Database Systems," CS-TR-034-86, Princeton University, Princeton, NJ (1986).Google Scholar
- 24.Robert B. Hagmann, "A Crash Recovery Scheme for a Memory-Resident Database System," IEEE Transactions on Computers C-35(9)(Sep 1986). Google ScholarDigital Library
Index Terms
- The design and implementation of a log-structured file system
Recommendations
The design and implementation of a log-structured file system
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 ...
Comments