Pavana Yalamanchili (pavanay@hotmail.com)
Wed, 26 Apr 2000 23:26:20 PDT

Fine-Grained Mobility In The Emerald System

This paper discusses the benefits of fine-grained mobility, the Emerald
language and run-time mechanisms that support mobility, and technique for
implementing mobility that do not degrade the performance of local
operations. Emerald is an object-based language and system designed for the
construction of distributed programs. The need for semantic support for
mobility, distribution and abstract types led the authors to design a new
language and language support is a crucial part of mobility in Emerald.
The goals for Emerald included:
· Support for fine-grained object mobility
· Efficient local execution
· A single object model, suitable for programming both small, local
data-only objects and active, mobile distributed objects.
At the time this paper was published, Emerald was operational on a small
network of VAX computers and was ported to SUN Microsystems, Inc. The
authors believe that their design, through the use of language support and a
tightly coupled compiler and kernel, has been successful in providing
generalized mobility without much degradation of local performance. Emerald
was not intended to run in large, long haul networks. The authors assumed a
local area network with about 100 nodes and that these nodes are
homogeneous, they run the same instruction set and that they are trusted.
Emerald’s compiler generates templates for object data areas describing the
layout of the area. These templates are used for mobility, garbage
collection and debugging. The garbage collection scheme in Emerald is quite
impressive. The faulting garbage collection scheme that the authors
developed replaces one large delay at the start of garbage collection by a
number of smaller delays spread throughout a process’ execution. I guess
Emeralds’ performance was quite impressive and trade-offs ignorable because
several applications were implemented like a hierarchical directory system,
a replicated name server, a load sharing application, a mail system etc.

Experience With Grapevine: The Growth Of A Distributed System

Grapevine is a distributed, replicated system that provides message
delivery, naming, authentication, resource location, and access control
services in an internet of computers. This paper presents a report on what
the authors have learnt from using Grapevine, describing potential
improvements to Grapevine that were not carried out, hoping that their
experience may offer some help to designers of new systems. The growth and
heavy use of the system enabled the authors to see how well the design lived
up to expectations in actual operation.
One of the objectives of Grapevine design was the ability to increase system
capacity over a large range by adding more servers of fixed power instead of
using more powerful servers. Another design goal of Grapevine was to become
the source of authentication and access control information for the
Internet. The addition of the file server authentication and access control
load to Grapevine triggered a need for additional servers, but greatly
simplified file sharing in the Internet. A design objective of Grapevine is
high reliability and a primary technique to achieve this is replication of
function among several servers. The goal is that failure of single Grapevine
server not make any service unavailable to any client. Foundations of a
reliable system are bug free software, reliable hardware, reliable
communications and equally important, appropriate management of resources.
The basic resources being processor cycles, memory space, communications
bandwidth and disk space. Communication bandwidth is a resource that
Grapevine cannot manage directly.
The authors conclude that any viable, commercial message system must provide
well thought out facilities for users who have only terminals, or personal
computers that simulate terminals, for accessing the message system. In
particular more storage space, protocols for efficiently accessing the
accumulated messages in random order, and higher connection limits are
One of the trade-offs of the Grapevine servers is that they have small disks
in relation to the total size of the messages that can accumulate in an
inbox. To overcome this problem a feature called archiving was added to
Grapevine servers. System reliability could be improved if the age parameter
controlling archiving was adjusted automatically in relation to the amount
of free disk space remaining and instantly archiving any inboxes that grew
larger than some threshold.

Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com