Skip to main content

Indirect mark and sweep: A distributed GC

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 986))

Abstract

Distributed Garbage Collection has been studied over the last several years leading to many different implementations, mainly based on local garbage collection algorithms extended to handle concurrency and message ordering. However, the algorithms are usually presented tightly coupled with underlying object managing systems. In the presence of object mobility and in-transit references to objects, many garbage collector (GC) algorithms fail to operate correctly.

In new distributed systems, object mobility is usually allowed, and is sometimes used by the underlying object manager system to benefit from object access locality. As a general principle, a GC should never interfere with object manager policies (such as forcing migration or fixing an object to a given processor). On the other hand, in-transit references during distant pointer creation must be handled by the GC.

This paper presents a new distributed GC, Indirect Mark and Sweep, which supports migration and in-transit references. Integrating a Reference Count with a Mark and Sweep algorithm, it collects immediately the zero reference objects and eventually all the cyclic garbage.

This work has been partially funded by FONDECYT project 1950599

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Ali, K. A. M.: “Object-Oriented Storage Management and Garbage Collection in Distributed Processing Systems,” PhD Thesis, Royal Institute of Technology, Dept. of Computer Systems, Stockholm, Sweden, 1984.

    Google Scholar 

  • Augusteijn, L.: “Garbage Collection in a Distributed Environment,” LNCS 259, in PARLE'87 Proceedings Vol. I, Eindhoven, Springer Verlag, June 1987.

    Google Scholar 

  • Bevan, D. I.: “Distributed Garbage Collection Using Reference Counting,” LNCS 259, PARLE'87 Proceedings Vol. II, Eindhoven, Springer Verlag, June 1987.

    Google Scholar 

  • Campos, A. and Hanson, D. R.: “Garbage Collection in Distributed EZ,” XIII International Conference SCCC, La Serena, Chile, October 1993.

    Google Scholar 

  • Dijkstra, E. W., Lamport, L., Martin, A. J., Scholten, C. S. and Steffens, E. F. M.: “On-the-fly Garbage Collection: an exercise in cooperation,” Communications of the ACM, Vol. 21, N. 11, November 1978.

    Google Scholar 

  • Dijkstra, E. W. and Scholten, C. S.: “Termination Detection for Diffusing Computations,” Information Processing Letters, Vol. 11, N. 1, August 1980.

    Google Scholar 

  • Derbyshire, M. H.: “Mark Scan Garbage Collection On A Distributed Architecture,” Lisp and Symbolic Computation, Vol. 3, N. 2, pp. 135–170, April 1990.

    Google Scholar 

  • Fowler, R. J.: “The Complexity of Using Forwarding Addresses for Decentralized Object Finding,” in Proc. 5th Annual ACM Symp. on Principles of Distributed Computing, pp. 108–120, Alberta, Canada, August 1986.

    Google Scholar 

  • Gupta, A. and Fuchs, W. K.: “Garbage Collection in a Distributed Object-Oriented System,” IEEE Trans. on Knowledge and Data Engineering, Vol. 5, N. 2, April 1993.

    Google Scholar 

  • Hudak, P. and Keller, R. M.: “Garbage Collection and Task Deletion in a Distributed Applicative Processing System,” 1982 ACM Symposium on Lisp and Functional Programming, 1982.

    Google Scholar 

  • Ichisugi, Y. and Yonezawa, A.: “Distributed Garbage Collection using group reference counting,” Tech. Report 90-014, Dept Information Science, Univ., Of Tokyo, 1990.

    Google Scholar 

  • Lang, B., Queinnec, C. and Piquer, J.: “Garbage Collecting the World,” 19th ACM Conference on Principles of Programming Languages 1992, Albuquerque, New Mexico, January 1992, pp. 39–50.

    Google Scholar 

  • Lermen, C. W. and Maurer, D.: “A Protocol for Distributed Reference Counting,” Proc. 1986 ACM Conference on Lisp and Functional Programming, Cambridge, Massachussets, August 1986.

    Google Scholar 

  • Piquer, J.: “Indirect Reference Counting: A Distributed GC,” LNCS 505, PARLE '91 Proceedings Vol I, pp. 150–165, Springer Verlag, Eindhoven, The Netherlands, June 1991.

    Google Scholar 

  • Plainfossé, D. and Shapiro, M.: “Experience with a Fault-Tolerant Garbage Collector in a Distributed Lisp System,” LNCS 637, Proc. 1992 International Workshop on Memory Management (IWMM'92), Springer Verlag, pp. 116–133, St-Malo, France, September 1992.

    Google Scholar 

  • Rudalics, M.: “Implementation of Distributed Reference Counts,” Tech. Report, RISC, J. Kepler Univ, Linz, Austria, 1990.

    Google Scholar 

  • Shapiro, M., Plainfossé, D. and Gruber, O.: “A Garbage Detection Protocol for a Realistic Distributed Object-Support System,” INRIA Res. Report 1320, November 1990.

    Google Scholar 

  • Shapiro, M., Dickman, P. and Plainfossé, D.: “Robust, Distributed References and Acyclic Garbage Collection,” A CM Symposium on Principles of Distributed Computing, Vancouver, Canada, August 1992.

    Google Scholar 

  • Shapiro, M., Dickman, P. and Plainfossé, D.: “SSP Chains: Robust, Distributed References Supporting Acyclic Garbage Collection,” INRIA Res. Report 1799, November 1992.

    Google Scholar 

  • Tel, G. and Mattern, F.: “The Derivation of Distributed Termination Detection Algorithms from Garbage Collection Schemes,” ACM Trans. on Programming Languages and Systems, Vol. 15, N. 1, January 1993, pp. 1–35.

    Google Scholar 

  • Watson, P. and Watson, I.: “An Efficient Garbage Collection Scheme for Parallel Computer Architectures,” LNCS 259, PARLE Proceedings Vol. II, Eindhoven, Springer Verlag, June 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Henry G. Baler

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag

About this paper

Cite this paper

Piquer, J.M. (1995). Indirect mark and sweep: A distributed GC. In: Baler, H.G. (eds) Memory Management. IWMM 1995. Lecture Notes in Computer Science, vol 986. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60368-9_28

Download citation

  • DOI: https://doi.org/10.1007/3-540-60368-9_28

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60368-9

  • Online ISBN: 978-3-540-45511-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics