From: Prasanna Kumar Jayapal (prasak_at_winse.microsoft.com)
Date: Wed Feb 04 2004 - 17:38:40 PST
This paper ("Fine-Grained Mobility in Emerald System") describes an
object-oriented language and system, designed for the distributed
applications. It talks about the benefits of object mobility, the
Emerald language and run-time mechanisms and technique for implementing
mobility that do not degrade the performance of local operations. In the
end, it presents performance measurements drawing implications about the
system design.
The main goals of Emerald include support for fine-grained object
mobility, efficient local execution and to have a single-object model.
In Emerald, an Object consists of a unique name, associated data and
references to other objects, a set of operations and an optional
process. If an object contains a process, it is called an active object.
Emerald supports abstract type and it has no class \ instance hierarchy.
The authors stress on providing efficient and flexible support for
mobile objects and, at the same time, obtain very efficient local
access. As any system that implements distributed data, solutions are
proposed to deal with problems like translation of references
(disambiguation of non-local references and conversion of mobile
references, in particular, including detecting references stored in
activation records and processor registers) and concurrent global
garbage collection.
Emerald uses direct memory addresses, which is a performance
optimization particularly for local invocations. The design also places
the price of mobility on those who use it, so in some sense there's an
equitable distribution of cost among users. The time taken by
call-by-move and call-by-visit are much lower than a
call-by-remote-reference and are performance optimizations with
significant dividends. Emerald relies on garage collection to recover
memory occupied by objects that are no longer reachable. In distributed
environments this is a tricky issue as the object references can cross
node boundaries.
Emerald is evaluated by comparing it with a system that does not
implement mobile objects, that is, where all references are explicitly
resolved by message queries to the object's owner. The numbers were nice
and the results show that this scheme reduces network traffic and
application elapsed time. However, it would be interesting to know how
much of the analysis stands when the computing speed (relative to
network speed) becomes the decisive factor.
Overall, this paper introduces the idea of migrating individual objects
(complete address space), which I felt was an interesting concept and I
enjoyed reading this paper.
This archive was generated by hypermail 2.1.6 : Wed Feb 04 2004 - 17:38:36 PST