Recent Advances in Distributed Garbage Collection

  • Marc Shapiro
  • Fabrice Le Fessant
  • Paulo Ferreira
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1752)


We have described a detector of distributed cycles of garbage. Our cycle detector presents some interesting properties for large-scale systems: asynchrony between participating spaces, optional participation, tolerance to communication faults and space crashes, low resource requirements, and ease of implementation (no modifications to local objects, only a few to the local garbage collector). Moreover, this algorithm has already been implemented in a distributed system, and the implementation details can be found in le Fessant [15].

We are now working on a new version of this cycle detector using both propagation of marks and back-tracing. This new algorithm will have the same properties as the one described here, plus the ability to detect cycles spanning any spaces in the whole system. This new algorithm is currently being implemented for our mobile agents platform [14].


Garbage Collection Local Root Garbage Collector Distribute Shared Memory Union Message 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Saleh E. Abdullahi and Graem A. Ringwood. Garbage collecting the internet: a survey of distributed garbage collection. ACM Computing Surveys, 30(3):330–373, September 1998. CrossRefGoogle Scholar
  2. [2]
    Laurent Amsaleg, Olivier Gruber, and Michael Franklin. Efficient incremental garbage collection for workstation-server database systems. In Proc. 21st Very Large Data Bases (VLDB) Int. Conf., Zürich (Switzerland), September 1995.Google Scholar
  3. [3]
    Henri E. Bal, Raoul Bhoedjang, Rutgwe Hofman, Ceriel Jacobs, Koen Langendoen, Tim Rühl, and M. Frans Kaashoek. Performance evaluation of the Orca shared-object system. ACM Transactions on Computer Systems, 16(1):1–40, feb 1998.CrossRefGoogle Scholar
  4. [4]
    P.B. Bishop. Computer systems with a very large address space and garbage collection. Technical Report MIT/LCS/TR-178, Mass. Insitute of Technology, Cambridge MA (USA), 1977.Google Scholar
  5. [5]
    K. Mani Chandy and Leslie Lamport. Distributed snapshots: determining global states of distributed systems. ACM Transactions on Computer Systems, 3(1):63–75, February 1985.CrossRefGoogle Scholar
  6. [6]
    Paulo Ferreira. Larchant: ramasse-miettes dans une mémoire partagée répartie avec persistance par atteignabilité. Thèse de doctorat, Université Paris 6, Pierre et Marie Curie, Paris (France), May 1996. Google Scholar
  7. [7]
    Paulo Ferreira and Marc Shapiro. Garbage collection and DSM consistency. In Proc. of the First Symposium on Operating Systems Design and Implementation (OSDI), pages 229–241, Monterey CA (USA), November 1994. ACM.
  8. [8]
    Paulo Ferreira and Marc Shapiro. Modelling a distributed cached store for garbage collection. In 12th Euro. Conf. on Object-Oriented Prog. (ECOOP), Brussels (Belgium), July 1998.
  9. [9]
    Paulo Ferreira, Marc Shapiro, Xavier Blondel, Olivier Fambon, Joâo Garcia, Sytse Kloosterman, Nicolas Richer, Marcus Roberts, Fadi Sandakly, George Coulouris, Jean Dollimore, Paulo Guedes, Daniel Hagimont, and Sacha Krakowiak. PerDiS: design, implementation, and use of a PERsistent DIstributed Store. Technical Report QMW TR 752, CSTB ILC/98-1392, INRIA RR 3525, INESC RT/5/98, QMW, CSTB, INRIA and INESC, October 1998.
  10. [10]
    John Hughes. A distributed garbage collection algorithm. In Jean-Pierre Jouannaud, editor, Functional Languages and Computer Architectures, number 201 in Lecture Notes in Computer Science, pages 256–272, Nancy (France), September 1985. Springer-Verlag.Google Scholar
  11. [11]
    Richard Jones and Rafael Lins. Garbage Collection, Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester (GB), 1996. ISBN 0-471-94148-4.zbMATHGoogle Scholar
  12. [12]
    Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558–565, July 1978.zbMATHCrossRefGoogle Scholar
  13. [13]
    Fabrice Le Fessant. The camlsspc system., 1997.
  14. [14]
    Fabrice Le Fessant. The jocaml system. Technical report, INRIA, 1998.
  15. [15]
    Fabrice Le Fessant, Ian Piumarta, and Marc Shapiro. An implementation for complete asynchronous distributed garbage collection. In Proceedings of SIGPLAN'98 Conference on Programming Languages Design and Implementation, ACM SIGPLAN Notices, Montreal, June 1998. ACM Press.Google Scholar
  16. [16]
    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.Google Scholar
  17. [17]
    Xavier Leroy. The objective-caml system software. Technical report, INRIA, 1996.
  18. [18]
    Kai Li and Paul Hudak. Memory coherence in shared virtual memory systems. ACM Transactions on Computer Systems, 7(4):321–359, November 1989.CrossRefGoogle Scholar
  19. [19]
    Barbara Liskov, Mark Day, and Liuba Shrira. Distributed object management in Thor. In Proc. Int. Workshop on Distributed Object Management, pages 1–15, Edmonton (Canada), August 1992.Google Scholar
  20. [20]
    U. Maheshwari and B. Liskov. Collecting distributed garbage cycles by back tracing. In Principles of Distributed Computing, Santa Barbara CA (USA), aug 1997. ACM.Google Scholar
  21. [21]
    David Plainfossé and Marc Shapiro. A survey of distributed garbage collection techniques. In Proc. Int. Workshop on Memory Management, Kinross Scotland (UK), September 1995.
  22. [22]
    S. P. Rana. A distributed solution to the distributed termination problem. Information Processing Letters, 17:43–46, July 1983.zbMATHCrossRefMathSciNetGoogle Scholar
  23. [23]
    Roger Sessions. COM and DCOM: Microsoft’s Vision for Distributed Objects. Wiley, December 1998. ISBN 0-471-19381-X.Google Scholar
  24. [24]
    Marc Shapiro, Peter Dickman, and David Plainfossé. SSP chains: Robust, distributed references supporting acyclic garbage collection. Rapport de Recherche 1799, Institut National de la Recherche en Informatique et Automatique, Rocquencourt (France), November 1992.
  25. [25]
    Marc Shapiro and Paulo Ferreira. Larchant-RDOSS: a distributed shared persistent memory and its garbage collector. In J.-M. Hélary and M. Raynal, editors, Workshop on Distributed Algorithms (WDAG), number 972 in Springer-Verlag LNCS, pages 198–214, Le Mont Saint-Michel (France), September 1995. CrossRefGoogle Scholar
  26. [26]
    R. van Renesse, A. S. Tanenbaum, and A. Wilschut. The design of a highperformance file server. In Proceedings of the 9th Int. Conf. on Distributed Computing Systems, pages 22–27, Newport Beach CA (USA), June 1989. IEEE.Google Scholar
  27. [27]
    Paul R. Wilson. Uniprocessor garbage collection techniques. In Proc. Int. Workshop on Memory Management, number 637 in Lecture Notes in Computer Science, Saint-Malo (France), September 1992. Springer-Verlag. Google Scholar
  28. [28]
    Ann Wollrath, Roger Riggs, and Jim Waldo. A distributed object model for the java system. In Conf. on Object-Oriented Technologies, Toronto Ontario (Canada), 1996. Usenix.Google Scholar
  29. [29]
    V. Yong, J. Naughton, and J. Yu. Storage reclamation and reorganization in client-server persistent object stores. In Proc. Data Engineering Int. Conf., pages 120–133, Houston TX (USA), February 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Marc Shapiro
    • 1
    • 3
  • Fabrice Le Fessant
    • 1
  • Paulo Ferreira
    • 2
  1. 1.INRIA Projet SORRocquencourtFrance
  2. 2.INESCLisboaPortugal
  3. 3.Microsoft Research Ltd.CambridgeUK

Personalised recommendations