paper evaluations: 06/01

Alejandro Hevia (
Thu, 1 Jun 2000 03:21:54 -0700 (PDT)

Evaluation of paper
"A Fast File System for UNIX"
by M.K. Mckusick et al.

The paper describes modifications to a UNIX-like filesystem to improve
its overall performance. In this system, for example, data is laid out
so larger blocks can be transferred in a single disk transaction. Also,
by partitioning the disk in cylinder groups and allowing filesystem
parameterization (customization based on machine characteristics), the
authors show how to implement rotationally (nearly) optimal data location
and more efficient directory organization. These techniques improve access
time to sequentially accessed data. Further improvements over the 'old UNIX'
system are a more careful space management (by incorporating larger size data
block which can be itself divided on smaller units called fragments),
long filenames, file-locking/user-quota features, robust file renaming and
links across filesystems (symbolic links).

The main contribution of the paper is to propose a better analysis
on filesystem efficiency based on considering all factors involved
on a disk access: rotational delays, CPU performance and type of disk
architecture (mostly cylinder-based). Moreover, the authors show how to
actually take advantage of such factors by providing a filesystem that chooses
data block locations in order to overcome (performance) limitations of those
factors. In particular, different 'low-level' data-layout options are analyzed
in detail although the provided performance evaluation turned to be
rather poor; performance data is just given for the proposed system.
It may have been interesting to evaluate the efficiency of particular design
options such as different data block allocation policies.


Evaluation of paper
"The Design and Implementation of a Log-Structured File System"
by M. Rosenblum and J.K. Ousterhout

This paper proposes a new filesystem design oriented to improve
disk performance on systems with write-dominated disk traffic.
Indeed, seek times, filesystem metadata updating and file block
organization/policies seem to be main obstacles to improve
computing performance (since read access can be effectively improved
by caching files on memory) as long CPU performance increases.
The solution described in the paper is a log-structured filesystem.
The idea of such a system is to buffer a sequence of file system changes
in some file cache in main memory and then writing all the changes to
disk sequentially in a single disk operation. There are two main
problems to solve: efficiently retrieve (read) the data from the log
structure and manage/maintain (large enough) free space areas on disk.
The former problem is solved by using indexing information on the
log structure (similar to UNIX's) and the latter by partitioning the
disk on segments, each one independently cleared (recycled) using
an age-based policy. Also, by writing checkpoint information on the log,
the filesystem further provides improved support for efficient crash

The performance analysis is very complete and detailed, including system
simulations, microbenchmarks and real-life usage statistics. It also considers
several different settings such as variable workloads and segment recycling
policies. Furthermore, it carefully explains almost all experimental results
which significantly increases the confidence on an accurate performance

The main contribution of the paper is to provide a novel perspective
to improve disk write performance by the filesystem. In the paper, not
only the motivation and benefits of the log-structure filesystem are well
justified, but a careful design based on segment-grained updating is
explained and experimentally supported.