garbage collection in a distributed environment

Peter Su psu at
Mon Jun 22 20:26:23 UTC 1998

A while back, the Modula-3 effort built a system called Network objects that
had a pretty decent scheme for distributed GC. check out the DEC SRC web
pages for the papers while SRC still exists. :)

Anyway, the basic idea was that the each local GC would keep track of which
objects on a machine had been exported to another machine. You would keep a
dummy handle on each of these objects to keep them from being GC'd locally,
and you'd keep a reference count on each exported object handle to keep
track of the # of remote references. If the reference count goes to zero,
you throw the handle away and allow the object to be GC'd locally.

This algorithm is tuned for the case where not too many objects are remotely
exported, and for the case where there are no export cycles. I think this is
pretty reasonable.

For persistent GC, there is a thesis from CMU by Scott Nettles that
discusses persistent GC and transaction processing in the context of ML that
is pretty good. The Exodus project at wisconsin also published at least one
paper about this. And the Object database group at UMass has probably looked
into it some as well.


-----Original Message-----
From: Patrick Logan <patrickl at>
To: squeak at <squeak at>
Date: Friday, June 19, 1998 3:16 PM
Subject: Re: garbage collection in a distributed environment

>I think there is an interesting paper or two from U. Mass. about
>distributed GC.
>Paul Wilson's site at U. Texas may have something about persitent GC
>if not distributed.
>If you have Gemstone documentation, there is information about the
>functioning, but not the implementation, of its various distributed
>and persistent collectors. Maybe an old set is available somehow?
>Patrick Logan                 mailto:patrickl at
>Voice 503-533-3365            Fax   503-629-8556
>Gemstone Systems, Inc

More information about the Squeak-dev mailing list