Pavana Yalamanchili (pavanay@hotmail.com)
Wed, 31 May 2000 23:43:28 PDT

The Design And Implementation Of A Log-Structured File System

This paper presents a log-structured file system for disk storage. This
system writes all modifications to disk sequentially in a log-like structure
thus speeding file writing and crash recovery. Sprite LFS was implemented
which can use 70% of the disk bandwidth for writing as compared to UNIX file
systems, which typically use only 5-10%. Log-structured file systems are
based on the assumptions that files are cached in main memory and that
increasing memory sizes will make the caches more and more effective at
satisfying read requests. The notion of logging was not new at the time but
the other systems used the log only for temporary storage, the permanent
storage being the disk. Log-structured file system stores data permanently
in the log and there is no other structure on disk. To operate efficiently,
this system must ensure that there are always large extents of free space
available for writing new data. This paper presents a solution for this
problem based on segments where a segment cleaner process continually
regenerates empty segments by compressing the live data from heavily
fragmented segments. Apart from discussing the design alternatives for a
log-structured file system and deriving the structure of Sprite LFS
stressing on the cleaning mechanism and the crash recovery system, this
paper also evaluates Sprite LFS using benchmark programs and long term
measurements of cleaning overhead and finally compares Sprite LFS to other
file systems. Though this system was developed to support workloads with
many small files, the authors claim that the approach also works very well
for large file accesses. In particular, they claim that there is essentially
no cleaning overhead at all for large files that are created and destroyed
in their entirety.

Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com