paper evaluations: 05/04

Alejandro Hevia (ahevia@cs.ucsd.edu)
Thu, 4 May 2000 03:30:44 -0700 (PDT)


Evaluation of paper
"The Distributed V Kernel and its Performance for Diskless Workstations"
by D.R. Cheriton and W. Zwaenepoel

The paper describes a message-oriented kernel oriented to support
uniform local and remote interprocess communication. The main goal
of the system is to provide with an efficient solution for
remote file access, in particular, for a network of diskless workstations
connected to file servers. The authors propose and justify a basic set
of message-based communication primitives (send, receive/reply and
data transfer routines) and discuss some design decisions
about the underlying communication facilities (like implementing
network reliability instead of relying on more elaborated but expensive
protocols). The overall design of the system is motivated by communication
efficiency.

The paper main point is giving experimental data supporting the claim
that the remote access primitives of the proposed system do not impose
a (communication and CPU processing) cost significant superior than
specialized data transfer protocols. This empirical evidence is backed up
with a careful experimental methodology.

Although the fact that local access is more efficient is not
debated, the paper experimentally justifies the system as an efficient
and inexpensive alternative for file access within a local network.

One interesting point implicitly raised in this work is the real importance of
designing and presenting schemes that can face - not necessarily successfully -
obviously tight technological constraints (like network latency) and
nevertheless be justified by realistic considerations about non-technological
factors (as price or design simplicity). Clearly, this is always an
improvement in our understanding of such constraints and how we may
eventually overcome them.

------------------------------------------

Evaluation of paper
"The Sprite Network Operating System"
by J.K.Ousterhout et al.

This paper describes a kernel design that provides a transparent
network file system, mechanism for shared (writable) memory between
processes on the same workstation and mechanism for migrating processes
between machines. The system includes a quite extensive set of new features
such as a remote procedure call (RPC) facility (extensively used on the
file system and process migration implementation), a virtual memory system
(that relies on regular files for backing storage), flexible and easy
administration and configuration of the network file system by using
prefix-tables (a partition of the file system tree into subtrees,
each one in potentially different machines) and total transparency
for migrating processes (through forwarding of host-dependent messages
to a process' "home machine").

The Sprite kernel is one of the first OS that support multi-threading on
the kernel. The purpose of this idea is to allow a more efficient kernel
execution on multiprocessor machines. It is worth noticing that multi-threading
on the kernel turned out to be a key idea for thread programming and hence
has survived until today (eg. Solaris). Another novel feature of the Sprite
system appears in its filesystem design. It supports extensive local caching
of files (actually blocks) with a sophisticated coherence protocol in such
a way that a fast and network-transparent access to files is provided.

Although the experimental methodology is missing, the paper presents a
fairly good discussion of the Sprite system, where not only each one of the
system components are described (with an adequate level of detail) but also
a good amount of experimental performance data is provided.
This data is essential to evaluate the potential performance of novel
features of the system (as the extensive file caching).