Jump to content

Distributed garbage collection

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Greenrd (talk | contribs) at 10:28, 26 April 2015 (reference to "processors" was obsolete years ago, e.g. when SMP arrived on the scene). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Distributed garbage collection (DGC) in computing is a particular case of garbage collection where references to an object can be held by a remote client.

DGC uses some combination of the classical garbage collection (GC) techniques, tracing and reference counting. It has to cooperate with local garbage collectors in each process in order to keep global counts, or to globally trace accessibility of data. In general, remote processors do not have to know about internal counting or tracing in a given process, and the relevant information is stored in interfaces associated with each process.

DCG is complex and can be costly and may be slow in freeing memory. One cheap way of avoiding DGC algorithms is typically to rely on a time lease set on the object; it is the remote client's stub object task to periodically renew the lease on the remote object. If the lease is expired, the GC engine can safely assume that the remote client is no longer interested in the object, hence proceed locally to garbage collection.

References

  • Abdullahi, Saleh E.; Ringwood, Graem A. (1998). "Garbage collecting the Internet: a survey of distributed garbage collection". ACM Computing Surveys. 30 (3): 330–373. doi:10.1145/292469.292471.