CSE 221: Paper Evaluations

Renata C TEIXEIRA (teixeira@cs.ucsd.edu)
Wed, 3 May 2000 20:54:51 -0700 (PDT)

Title: "The Distributed V Kernel and its Performance for Diskless Workstations"

This paper presents and analyses the performance of the distributed
V kernel, a message-oriented operating system. The main idea of the
paper is to use diskless workstations connected by a network to file
servers that provide secondary storage. The communication with the
file servers is accomplished by a general-purpose inter-process
communication facility.

Communication between processes is provided in the form of fixed-length
messages, each with an associated reply message, plus a data transfer
operation for moving larger amounts of data between processes. This
communication was implemented in an efficient way. Different from Accent,
there is no network server, remote operations are implemented by the
kernel without using the stack of protocols, thereby avoiding overheads.
Reliability is guaranteed by reply messages per request. In addition,
a host specification is encoded in the unique process id, which allows
for a more efficient location of processes.

The paper assess the performance of the kernel focusing on the cost of
remote operations versus corresponding local operations and the cost
of file access using V kernel versus other means of network file access.
It concludes that the performance of remote operations is close to the
performance of the processor and disk access, and hence the implementation
of IPC in the system does not introduce a big overhead.

This paper is very well written. After a clear description of the main
aspects of the system, the paper presents a detailed performance analysis
of each aspect, thereby showing the feasibility of the approach adopted.
One interesting idea is to build a less expensive environment, by using
diskless workstations, and obtain a good performance, by using more
powerful machines as servers. The idea of small, fixed-length message
is also important for a better performance. Even though the paper comments
on the performance under heavy-load, I think that more detailed experiment
would be necessary.

Title: "The Sprite Network Operating System"

Sprite is a Unix-compatible network operating system, which was motivated
by networks, large memories, and multiprocessor machines. It is a
multithreaded operating system, which means that several processes may
execute in the kernel at the same time. In addition it uses a special-purpose
RPC to communicate efficiently between kernels in different machines.

Sprite file system appears to users as a single hierarchy shared by all
workstations, allowing sharing of all disk storage and I/O devices in
the network by all processes. Name transparency is achieved by maintaining
prefix tables in each client machine. This tables manage dynamically
the information of domains. The system caches file data on both server
and client machines, improving performance.

The virtual memory system uses ordinary files for backing storage and
allows sharing of physical memory between processes on the same machine.
Sprite modifies the semantics of the fork system call, allowing the
processes to create a new process sharing the parents data segment
(thereby introducing the concepts of threads). Sprite supports the
migration of processes, guaranteeing that processes behave the same
whether migrated or not. This migration can be used to balance the
load among machines of the network.

I think that this paper presents a set of interesting ideas to handle
distribution and sharing. The concept of threads helps sharing data
among cooperating processes. The migration of processes allows the
system to adjust the load in a dynamic environment. Caches on the
file system reduce the number of messages on the network, the load
on the servers and increase performance in the clients. The system does
not provide replication though. Hence a fail on a server will affect
all users trying to access the faulty server files.

Renata Teixeira