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.
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.
Augusteijn, L.: “Garbage Collection in a Distributed Environment,” LNCS 259, in PARLE'87 Proceedings Vol. I, Eindhoven, Springer Verlag, June 1987.
Bevan, D. I.: “Distributed Garbage Collection Using Reference Counting,” LNCS 259, PARLE'87 Proceedings Vol. II, Eindhoven, Springer Verlag, June 1987.
Campos, A. and Hanson, D. R.: “Garbage Collection in Distributed EZ,” XIII International Conference SCCC, La Serena, Chile, October 1993.
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.
Dijkstra, E. W. and Scholten, C. S.: “Termination Detection for Diffusing Computations,” Information Processing Letters, Vol. 11, N. 1, August 1980.
Derbyshire, M. H.: “Mark Scan Garbage Collection On A Distributed Architecture,” Lisp and Symbolic Computation, Vol. 3, N. 2, pp. 135–170, April 1990.
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.
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.
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.
Ichisugi, Y. and Yonezawa, A.: “Distributed Garbage Collection using group reference counting,” Tech. Report 90-014, Dept Information Science, Univ., Of Tokyo, 1990.
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.
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.
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.
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.
Rudalics, M.: “Implementation of Distributed Reference Counts,” Tech. Report, RISC, J. Kepler Univ, Linz, Austria, 1990.
Shapiro, M., Plainfossé, D. and Gruber, O.: “A Garbage Detection Protocol for a Realistic Distributed Object-Support System,” INRIA Res. Report 1320, November 1990.
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.
Shapiro, M., Dickman, P. and Plainfossé, D.: “SSP Chains: Robust, Distributed References Supporting Acyclic Garbage Collection,” INRIA Res. Report 1799, November 1992.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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