From: Justin Voskuhl (jvoskuhl_at_hotmail.com)
Date: Mon Feb 23 2004 - 18:27:09 PST
The authors of The Design and Implementation of a Log-Structured File System
describe how the disparity between processor speed and disk speed are
causing them to question the design of most current file systems. Because
the amount of RAM is increasing as well, most reads from the file system can
be served out of an in-memory cache. However writes to the disk must
actually write to the disk for consistency reasons. They propose a type of
disk structure where the disk is divided into large segments, into which
large logs are written which are indexed to allow them to be read from.
Since the logs are written sequentially, large performance gains can be had
since the disk doesn't have to seek to many sectors to write a large block
of data. The authors break out usage patterns into "hot" and "cold". The
hot usage pattern is characterized by rapidly changing data, and access to
many small files. The cold usage pattern is characterized by data that
stays fixed for longer periods of time, and data that typically resides in
larger files. Because the authors organize the data in the system into
these large segments, they need a cleaning system to walk the file system
and consolidate partially used segments. They discuss strategies for
optimizing this cleaning algorithm. They find that cleaning segments that
are involved in the hot usage pattern isn't effective because the data is
changing very rapidly. The authors implement their system and compare it to
a traditional UNIX file system in a version of SunOS. They find their
system outperforms the SunOS implementation for the scenarios they're
targeting and generally even for the cases they weren't targeting they don't
get performance that's much worse than the traditional UNIX filesystem.
_________________________________________________________________
Find and compare great deals on Broadband access at the MSN High-Speed
Marketplace. http://click.atdmt.com/AVE/go/onm00200360ave/direct/01/
This archive was generated by hypermail 2.1.6 : Mon Feb 23 2004 - 18:27:15 PST