(no subject)

Brian TAM (btam@cs.ucsd.edu)
Thu, 27 Apr 2000 03:15:17 -0700 (PDT)

Brian Tam
spring 2000
paper evaluations

"Experience with Grapevine: The Growth of a Distributed System"

This paper is a report on issues that have arisen in the
operation of Grapevine, a distributed, replicated system that
provides services, most notably mail delivery, for an internet
of computers. Grapevine seems to have been meant as an
experiment in distributed operating systems, and the authors
gained some lessons in how such systems should be built by
building a prototype then operating it for some time. For
instance, they learned that Grapevine didn't scale as much as
they had planned because of the size of certain general
interest distribution lists.

The paper suggests changes that should be made to address
problems that came up during operation of Grapevine. However,
the authors themselves were reluctant to implement these
changes themselves for understandable reasons. Perhaps they
hoped that in describing these modifications, someone else
would pick up from where they left off in the research
surrounding this system.

"Fine-Grained Mobility in the Emerald System"

Object migration is a goal in the Emerald System. Process
migration was realized in several other object-based,
distributed systems, but Emerald was one of the first to
appreciate the benefits of fine-grained mobility as well. These
include simplified data movement, improved invocation
performance, and easier garbage collection.

The authors built a prototype that managed to get
performance comparable to a system without object mobility.
Emerald implements object migration by providing language
support for a single-object programming model. The semantics
for handling data local to a node and remote objects are the
same, with the compiler providing for different mechanisms where
appropriate. With this language, a remote invocation can move
an argument object along with a request to a destination node,
cutting down on the cost of network message traffic and taking
advantage of fast local invocation time. This promises well for
a more advanced and efficient implementation of the ideas
presented here, aided by experiences with the prototype.

Designing a system to support mobility is not without
problems. Supporting process migration in addition to object
migration requires updating pointers and keeping processor
registers consistent, for example. Emerald is very much a "work
in progress," which the paper makes clear. In lieu of this, the
extent to which this research has advanced in so short a time is
still quite impressive.