Jamison Collins (indecent_and_obscene@yahoo.com)
Thu, 27 Apr 2000 02:43:18 -0700 (PDT)


Distributed Operating Systems with migration provide
many advantages over other OS designs. However,
previous designs which have permitted migration only
allowed it on the process level. Emerald is an
important research project both because it enables
migration on a much finer level, and because a key
emphasis was placed on maintaining high performance in
the case of local computation.

The Emerald OS allowed individual objects, rather than
requiring entire address spaces, to be moved. In
order to achieve this, all programs running on the
ald OS must be written in the Emerald programming
language, which is an object oriented language.
Programs can be written without the knowledge that
their objects could be moved around the system, but if
the programmer wishes to be involved in program
execution at this level, the programming language
provides primitives which allows to the programmer to
request that objects be moved, request that
a group of objects all be moved as a unit etc.

The key to achieving high performance in local
execution is to permit local memory
references(pointers) to be used. This, however
greatly complicates moving objects between machines
because these local references must be detected and
modified to point at the correct memory(on the new
machine) or to be marked as pointing at a remote

As with nearly all OS papers(with which I have
experience), in order to demonstrate the concept of
the paper, an OS implementing the features discussed
is implemented. In this case, Emerald has been nearly
completed, and an example given in the paper shows
both that this approach is feasible but that it also
can achieve good performance gains as well.

The key issue prompted in my mind by this paper is
somewhat tangential to this work, but highly relevant
to my life. While it is possible to achieve a mobile
system, and even a fine grained mobile system when
working with an OS which is friendly to such, how
difficult would it be to create a framework which
enabled perhaps only a select group of applications to
be mobile in an OS which had not been designed with
mobility in mind?


This paper discusses the performance and scalability
of the Grapevine mail delivery system. While it had
initially been designed to support only a moderate
sized network, it had been foreseen that the system
would need to scale over time, and this paper explores
the areas that permitted sufficient scaling, and where
design mistakes had been made which impeded the proper
growth of the system. This is an important issue
because of the role that large networks(with the most
obvious example being the Internet) play in the world
of today.

The key feature of the Grapevine which allows it to
scale by only adding more servers, not by increasing
the power of existing servers, is partitioning. For
example, users are stored in differing registries.
This provides a simple partioning system for dividing
the set of all users into differing groups, of which
each group can be stored independently of any other.
Hierarchy is also an important issue (generally) in
permitting systems to scale gracefully. The authors
acknowledge their failure to incorpate this technique
in the handling of distribution lists, whose poor
handling is threatening to limit the size of the
system to far below the 10,000 user goal.
Additionally, to achieve a high level of reliability
and fault tolerance, data is replicated as well as
having measures in place to allow for graceful
degradation of performance by shifting load to
alterante copies of data.

The success of this system is judged based on how
effectively it has scaled since its inception, and if
it has any critical shortcomings which would prevent
it from being modified to achieve its 10,000 user
goal. As shown in the paper, while the system was
designed with a few mistakes, it could easily be
extended to support 10,000 or more users. As well,
the system
has been nearly always available, and able to quickly
recover from the few errors that occured. This
indicates that the design goal was met.

This seems to be the first of the papers from which
point the modern day internet is clearly visible.
Many features of this system have been borrowed to
create the internet. It's just a little funny to see
so much work being put into providing reliable service
for a system primarily concerned with delivering email
when today this is viewed as a solved problem.

This may be hard for you to understand
But there is no conspiracy
Nobody is in Charge
It's a headless blunder operating under the illusion
of a master plan
Can you grasp that? Big Brother is not watching you

Do You Yahoo!?
Talk to your friends online and get email alerts with Yahoo! Messenger.