Collecting a Distributed Transactional Object Heap
UP to PMG Home Page
-
Collecting Cyclic Distributed Garbage Using Heuristics to Control Migration.
In the proceedings of the Principles of Distributed Computing, 1995.
(The best student-paper award.)
Authors: U. Maheshwari and B. Liskov.
Distributed systems with a large number of nodes use internode reference
counting for timely and fault-tolerant garbage collection.
However, this fails to collect cyclic garbage distributed across nodes.
One fix is to migrate all objects on a garbage cycle to a single node,
where they can be collected by the tracing-based local collector.
Existing proposals based on this technique have practical problems due to
unnecessary migration of objects.
We propose a scheme that avoids migration of live objects, batches objects
to avoid a cascade of migration messages, and short-cuts the migration path
to avoid multiple migrations.
We use simple estimates to detect objects that are highly likely to be
cyclic garbage and to select a node to which such objects are migrated.
The scheme collects all distributed cyclic garbage,
has low overhead, and preserves the decentralized and
fault-tolerant nature of distributed reference counting and migration.
-
Fault-Tolerant Distributed Garbage Collection
in a Client-Server, Object-Oriented Database.
Proceedings of the Parallel and Distributed Information Systems,
Austin (TX), September 1994.
Authors: U. Maheshwari and B. Liskov.
We present a scalable garbage collection scheme for systems that store
objects at multiple servers while clients run transactions on locally
cached copies of objects. It is the first scheme that provides fault
tolerance for such a system: Servers recover from failures and retrieve
information needed for safe garbage collection; clients do not recover from
failures, yet the scheme is able to reclaim objects referenced only from
failed clients. The scheme is optimized to reduce overhead on common client
operations, and it provides fault tolerance by doing work in the background
and during client operations that are infrequent.
-
References to Remote Mobile Objects in Thor
ACM Letters on Programming Languages and Systems,
March 1994.
Authors: M. Day, B. Liskov, U. Maheshwari, and A. Myers.
Thor is a distributed object-oriented database where objects are stored
persistently at highly-available servers called object repositories (ORs).
In a large Thor system, performance tuning and system reconfiguration
dictate that objects must be able to migrate among ORs. The paper describes
two schemes for object references that support object migration, one using
location-independent names and the other, location-dependent names. The
paper analyzes the performance of the two schemes and concludes that
location-dependent names are the right choice for systems like Thor, where
we want fast access to objects that have migrated.
Umesh Maheshwari
umesh@lcs.mit.edu