Abstract
This paper describes a garbage collection algorithm for distributed persistent objects in a loosely coupled network of workstations. Objects are accessed via a weakly consistent shared distributed virtual memory with recoverable properties. We address the specific problem of garbage collecting a large amount of distributed persistent objects, cached on several nodes for efficient sharing.
For clustering purposes, objects are allocated within segments, and segments are logically grouped into bunches. The garbage collection subsystem combines three sub-algorithms: the bunch garbage collector that cleans one bunch (possibly multiply-cached) independently of any other, the scion cleaner that propagates accessibility information across bunches, and the group garbage collector aimed at reclaiming inter-bunch cycles of dead objects.
These three sub-algorithms are highly independent. Thus, the garbage collection subsystem has a high degree of scalability and parallelism. On top of this, it reclaims cycles of garbage, it does not require any particular communication support such as causality or atomicity, and is well suited to large scale networks.
This work has been done within the framework of the ESPRIT Basic Research Action Broadcast 6360, and was partially supported by Digital Equipment Corporation.
Supported by a JNICT Fellowship of Program Ciência (Portugal). Also affiliated with Université Pierre et Marie Curie (Paris VI).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andrew W. Appel, John R. Ellis, and Kai Li. Real-time concurrent collection on stock multiprocessors. In SIGPLAN’88 — Conference on Programming Language Design and Implementation, pages 11–20, Atlanta (USA), June 1988.
Brian N. Bershad and Matthew J. Zekauskas. The Midway distributed shared memory system. In Proceedings of the COMPCON’93 Conference, pages 528–537, February 1993.
D. I. Bevan. Distributed garbage collection using reference counting. In PARLE’87—Parallel Architectures and Languages Europe, number 259 in Lecture Notes in Computer Science, pages 117–187, Eindhoven (the Netherlands), June 1987. Springer-Verlag.
Hans-J. Boehm, Alan J. Demers, and Scott Shenker. Mostly parallel garbage collection. In Proc. of the SIGPLAN’91 Conf. on Programming Language Design and Implementation, pages 157–164, Toronto (Canada), June 1991. ACM.
E. Dijkstra, L. Lamport, A. J. Martin, C. S. Schölten, and E. F. M. Steffens. On-the-fly garbage collection: an exercise in cooperation. Comm. of the ACM, 21(11):966–975, November 1978.
Paulo Ferreira and Marc Shapiro. Distribution and persistence in multiple and heterogeneous address spaces. In Proc. of the International Workshop on Object Orientation in Operating Systems, Ashville, North Carolina, (USA), December 1993. IEEE Comp. Society Press.
Paulo Ferreira and Marc Shapiro. Garbage collection and DSM consistency. In Proc. of the First Symposium on Operating Systems Design and Implementation (OSDI), Monterey, California (USA), November 1994. ACM.
Antony L. Hosking, J. Eliot B. Moss, and Darko Stefanoviè. A comparative performance evaluation of write barrier implementations. In Conf. on Object-Oriented Programming Systems, Languages, and Applications, volume 27 of SIGPLAN Notices, pages 92–109, Vancouver (Canada), October 1992. ACM Press.
Niels C. Juul. Comprehensive, Concurrent, and Robust Garbage Collection in the Distributed, Object-Based System Emerald. PhD thesis, Dept. of Computer Science, Univ. of Copenhagen, Denmark, February 1993.
Bett Koch, Tracy Schunke, Alan Dearie, Francis Vaughan, Chris Marlin, Ruth Fazakerley, and Chris Barter. Cache coherency and storage management in a persistent object system. In Proceedings of the Fourth International Workshop on Persistent Object Systems, pages 99–109, Martha’s Vineyard, MA (USA), September 1990.
R. Kordale, M. Ahamad, and J. Shilling. Distributed/concurrent garbage collection in distributed shared memory systems. In Proc. of the International Workshop on Object Orientation and Operating Systems, Ashville, North Carolina (USA), December 1993. IEEE Comp. Society Press.
David Kotz and Preston Crow. The expected lifetime of single-address-space operating systems. In Proceedings of SIGMETRICS’94, Nashville, Tennessee, (USA), May 1994. ACM Press.
Bernard Lang, Christian Queinnec, and José Piquer. Garbage collecting the world. In Proc. of the 19th Annual ACM SIGPLAN-SIGACT Symp. on Principles of Programming Lang., Albuquerque, New Mexico (USA), January 1992.
T. Le Sergent and B. Berthomieu. Incremental multi-threaded garbage collection on virtually shared memory architectures. In Proc. Int. Workshop on Memory Management, number 637 in Lecture Notes in Computer Science, pages 179–199, Saint-Malo (France), September 1992. Springer-Verlag.
Kai Li and Paul Hudak. Memory coherence in shared virtual memory systems. ACM Transactions on Computer Systems, 7(4):321–359, November 1989.
Scott Nettles and James O’Toole. Real-time replication garbage collection. In Proceedings of the Conference on Programming Language Design and Implementation, pages 217–226, Albuquerque, N. Mexico, June 1993. ACM-SIGPLAN.
David Plainfossé. Distributed Garbage Collection and Reference Management in the Soul Object Support System. PhD thesis, Université Paris-6, Pierre-et-Marie-Curie, Paris (France), June 1994. Available from INRIA as TU-281, ISBN-2-7261-0849-0.
M. Satyanarayanan, Henry H. Mashburn, Puneet Kumar, David C. Steere, and James J. Kistler. Lightweight recoverable virtual memory. In Proceedings of the 14th ACM Symposium on Operating Systems Principles, pages 146–160, Asheville, NC (USA), December 1993.
Marc Shapiro, Peter Dickman, and David Plainfossé. SSP chains: Robust, distributed references supporting acyclic garbage collection. Rapport de Recherche 1799, Institut National de 1a Recherche en Informatique et Automatique, Roc-quencourt (France), nov 1992. Also available as Broadcast Technical Report #1.
David Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices, 19(5):157–167, 1984.
B. Zorn. Comparing mark-and-sweep and stop-and-copy garbage collection. In Proc. 1990 ACM Conf. on Lisp and Functional Programming, pages 87–98, Nice, France, June 1990.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1995 British Computer Society
About this paper
Cite this paper
Ferreira, P., Shapiro, M. (1995). Garbage Collection of Persistent Objects in Distributed Shared Memory. In: Atkinson, M., Maier, D., Benzaken, V. (eds) Persistent Object Systems. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-2122-0_16
Download citation
DOI: https://doi.org/10.1007/978-1-4471-2122-0_16
Publisher Name: Springer, London
Print ISBN: 978-3-540-19912-0
Online ISBN: 978-1-4471-2122-0
eBook Packages: Springer Book Archive