Skip to main content

Collection schemes for distributed garbage

  • Surveys
  • Conference paper
  • First Online:
Memory Management (IWMM 1992)

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

Included in the following conference series:

Abstract

With the continued growth in interest in distributed systems, garbage collection is actively receiving attention by designers of distributed languages [Bal, 1990]. Distribution adds another dimension of complexity to an already complex problem. A comprehensive review and bibliography of distributed garbage collection literature up to 1992 is presented. As distributed collectors are largely based on nondistributed collectors these are first briefly reviewed. Emphasis is given to collectors which appeared since the last major review [Cohen, 1981]. Collectors are broadly classified as those that identify garbage directly and those that identify it indirectly. Distributed collectors are reviewed on the basis of the taxonomy drawn up for nondistributed collectors.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  • Almes G, Borning A and Messinger E (1983) Implementing a Smalltalk-80 system on the Intel 432: a feasibility study, in Smalltalk-80: Bits of History, Words of Advice, Addison-Wesley 175–187

    Google Scholar 

  • Appleby K, Carlsson M, Haridi S, and Sahlin D (1983) Garbage collection for Prolog based on WAM, Comm. ACM 31, 719–741

    Article  Google Scholar 

  • Augusteijn L (1987) Garbage collection in a distributed environment, in PARLE'87 — Parallel Architectures and Languages Europe, LNCS 259, Springer-Verlag, 75–93.

    Google Scholar 

  • Baden SB (1983) Low-overhead storage reclamation in the Smalltalk-80 virtual machine, in Smalltalk-80: Bits of History, Words of Advice, Addison-Wesley, 331–342

    Google Scholar 

  • Baker HG (1978) List Processing in real-time on a serial computer, Comm ACM 21, 280–294

    Article  Google Scholar 

  • Baker HG (1992) The treadmill: real-time garbage collection without motion sickness, SIGPLAN NOTICES 27(3), March 1992, 66–70

    Article  Google Scholar 

  • Bal H (1990) Programming Distributed Systems, Prentice Hall

    Google Scholar 

  • Ballard S and Shirron S (1983) The design and implementation of VAX/Smalltalk-80, in Smalltalk-80: Bits of History, Words of Advice, Addison-Wesley, 127–150

    Google Scholar 

  • Bartlett JF (1990) A generational, compacting garbage collector for C++, ECOOP/OOPSLA'90 Workshop on Garbage Collection.

    Google Scholar 

  • Bates RL, Dyer D and Koomen JAGM (1982) Implementation of Interlisp on the VAX, ACM Symposium on Lisp and Functional Programming, Pittsburgh, Pennsylvania, 15–18 August 1982, 81–87.

    Google Scholar 

  • Ben-Ari M (1984) Algorithms for on-the-fly garbage collection, ACM Transactions on Programming Languages and Systems 6, 333–44.

    Article  Google Scholar 

  • Bennett JK (1987) The design and implementation of distributed Smalltalk, OOPSLA '87, SIGPLAN Notices 22(12), 318–330.

    Google Scholar 

  • Bengtsson M and Magnusson B (1990) Real-time compacting garbage collection, ECOOP/OOPSLA '90 Workshop on Garbage Collection.

    Google Scholar 

  • Benjamin G (1989) Generational reference counting: A reduced communication distributed storage reclamation scheme in Programming Languages Design and Implementation, SIGPLAN Notices 24, ACM Press, 313–321.

    Google Scholar 

  • Bevan DI (1987) Distributed garbage collection using reference counting, in PARLE '87 — Parallel Architectures and Languages Europe, LNCS 259, Springer-Verlag 176–187.

    Google Scholar 

  • Boehm HJ and Weiser M (1988) Garbage collection in an uncooperative environment, Software Practice and Experience 18(9), 807–820.

    Google Scholar 

  • Bobrow, DG (1980) Managing reentrant structures using reference counts, TOPLAS 2(3) 269–273.

    Article  Google Scholar 

  • Brooks RA, Gabriel RP and Steele GL (1982) S-1 Common lisp implementation, ACM Symposium on Lisp and Functional Programming, Pittsburgh, Pennsylvania, 15–18 August 1982. 108–113.

    Google Scholar 

  • Brownbridge DR (1985) Cyclic reference counting for combinator machines, in Functional Programming Languages and Computer Architecture, LNCS 201, Springer-Verlag, 273–288.

    Google Scholar 

  • Carlsson S, Mattsson C and Bengtsson M (1990) A fast expected-time compacting garbage collection algorithm., ECOOP/OOPSLA '90 Workshop on Garbage Collection.

    Google Scholar 

  • Chambers C Ungar D and Lee E (1989) An efficient implementation of SELF, A dynamically-typed object-oriented language based on prototypes. OOPSLA '89, SIGPLAN Notices 24(10), ACM, 49–70.

    Google Scholar 

  • Cohen J and Trilling L (1967) Remarks on Garbage Collection using a two level storage (sic) BIT 7(1), 22–30

    Article  Google Scholar 

  • Cohen J (1981) Garbage collection of linked data structures, ACM Computing Surveys 13(3) 341–367.

    Article  Google Scholar 

  • Collins GE (1960) A Method for overlapping and erasure of lists, Comm. of the ACM 3(12) 655–657.

    Article  Google Scholar 

  • Courts R (1988) Improving locality of reference in a garbage-collecting memory management system, Comm. of the ACM 31(9) 1128–1138.

    Article  Google Scholar 

  • Dawson JL (1982) Improved effectiveness from a real-time lisp garbage collector, 1982 ACM Symposium on Lisp and Functional Programming, Pittsburgh, Pennsylvania August 15–18. 159–167.

    Google Scholar 

  • Dellar CNR (1980) Removing backing store administration from the CAP operating system, Operating System Review 14(4) 41–49.

    Article  Google Scholar 

  • Detlefs DL (1990a) Concurrent garbage collection for C++, CMU-CS-90-119 School of Computer Science, Carnegie Mellon Univ., Pittsburgh, PA 15213.

    Google Scholar 

  • Detlefs DL (1990b) Concurrent, atomic garbage collection., ECOOP/OOPSLA'90 Workshop on Garbage Collection.

    Google Scholar 

  • Detlefs DL (1991) Concurrent, Atomic Garbage Collection, PhD Thesis,Dept of Computer Science, Carnegie Mellon Univ, Pittsburgh, PA 15213 CMU-CS-90-177, November 1991.

    Google Scholar 

  • Demers A, Weiser M, Hayes B, Boehm H, Bobrow D and Shenker S (1990) Combining generational and conservative garbage collection: framework and implementations, in ACM Symposium on Principles of Programming Languages, 261–269.

    Google Scholar 

  • DeTreville J (1990) Experience with garbage collection for Modula-2+ in the Topaz Environment, ECOOP/OOPSLA'90 Workshop on Garbage Collection.

    Google Scholar 

  • Deutsch LP and Bobrow DG (1976) An efficient, incremental, automatic garbage collector. Comm ACM 19(9) 522–526.

    Article  Google Scholar 

  • Deutsch LP (1983) The Dorado Smalltalk-80 Implementation: Hardware architecture's impact on software architecture, in Smalltalk-80: Bits of History, Words of Advice, Addison-Wesley, 113–125.

    Google Scholar 

  • Dijkstra EW, Lamport L, Martin A J and Steffens EFM (1978) On-the-fly garbage collection: An exercise in cooperation, Comm ACM 21(11) 966–975.

    Article  Google Scholar 

  • Edelson D and Pohl I (1990) The case for garbage collector in C++, ECOOP/OOPSLA '90 Workshop on Garbage Collection.

    Google Scholar 

  • El-Habbash A, Horn C and Harris M (1990) Garbage collection in an object oriented, distributed, persistent environment, ECOOP/OOPSLA'90 Workshop on Garbage Collection.

    Google Scholar 

  • Falcone JR and Stinger JR (1983) The Smalltalk-80 Implementation at Hewlett-Packard, in Smalltalk-80: Bits of History, Words of Advice, Addison-Wesley, 79–112

    Google Scholar 

  • Fenichel RR and Yochelson JC (1969) A LISP garbage-collector for virtualmemory computer systems, Comm ACM 12, 611–612

    Article  Google Scholar 

  • Ferreira P (1990) Storage reclamation., ECOOP/OOPSLA'90 Workshop on Garbage Collection.

    Google Scholar 

  • Field AJ and Harrison PG (1988) Functional Programming, Addison-Wesley.

    Google Scholar 

  • Fisher DA (1974) Bounded workspace garbage collection in an address-order preserving list processing environment, Info. Processing Letters 3(1), 29–32.

    Article  Google Scholar 

  • Foderaro, JK, Fateman, RJ (1981) Characterization of VAX maxsyma in Proceedings of the 1981 ACM Symposium on Symbolic and Algebraic Computation, 14–19.

    Google Scholar 

  • Friedman DP and Wise DS (1976) Garbage collecting a heap which include a scatter table, Info. Processing Letters 5(6), 161–164.

    Article  Google Scholar 

  • Friedman DP and Wise DS (1977) The one-bit reference count, BIT (17), 351–359.

    Article  Google Scholar 

  • Friedman DP and Wise DS (1979) Reference counting can manage the circular environments of mutual recursion, Info. Processing Letters 8(1), 41–45.

    Article  Google Scholar 

  • Gabriel RP and Mansinter L M (1982) Performance of lisp systems, 1982 ACM Symposium on Lisp and Functional Programming, Pittsburgh, Pennsylvania, 15–18 August 1982, 123–142.

    Google Scholar 

  • Garnett NH and Needham RM (1980) An Asynchronous garbage collector for the Cambridge file server, Operating System Review 14(4), 36–40.

    Article  Google Scholar 

  • Gelernter H, Hansen JR and Gerberrich CL (1960) A FORTRAN-compiled list processing language, JACM 7(2), 87–101.

    Article  Google Scholar 

  • Goldberg A and Robson D (1983) Smalltalk-80: The Language and its Implementation, Addison-Wesley, 674–681

    Google Scholar 

  • Hansen WJ (1969) Compact list representation: definition, garbage collection, and system implementation, Comm ACM 12(9), 499

    Article  Google Scholar 

  • Hayes, B (1990) Open systems require conservative garbage collectors, ECOOP/OOPSLA'90 Workshop on Garbage Collection.

    Google Scholar 

  • Hayes B (1991) Using key object opportunism to collect old objects, OOPSLA'91, SIGPLAN Notices 26(11), ACM, 33–46

    Google Scholar 

  • Hoare CAR (1974) Optimization of store size for garbage collection, Info. Processing Letters 2(6), 165–166.

    Article  Google Scholar 

  • Hudak, P(1982) Object and Task Reclamation in Distributed Applicative Processing Systems, PhD Thesis, University of Utah.

    Google Scholar 

  • Hudak, P and Keller R M (1982) Garbage collection and task deletion in distributed applicative processing systems, ACM Symposium on Lisp and Functional Programming, Pittsburgh, Pennsylvania, August 1982, 168–178.

    Google Scholar 

  • Hudak P (1986) A semantic model of reference counting and its abstraction (detailed summary), Proceedings of 1986 ACM Conference on Lisp and Functional Programming, Massachusetts Institute of Technology, 351–363.

    Google Scholar 

  • Hudson, R and Diwan A(1990) Adaptive garbage collection for Modula-3 and Smalltalk., ECOOP/OOPSLA '90 Workshop on Garbage Collection.

    Google Scholar 

  • Hughes, J (1984) Reference counting with circular structures in virtual memory, spplicative dystems, TR Programming Research Group, Oxford Univ.

    Google Scholar 

  • Hughes, J (1985) A distributed garbage collection algorithm, in Functional Programming Languages and Computer Architecture, LNCS 201, Springer-Verlag, 256–272.

    Google Scholar 

  • Johnson D (1991) The case for a real barrier, Proceedings of the Fourth International Support for Programming Languages and Operating Systems (ASPLOS IV), 96–107.

    Google Scholar 

  • Jones SLP (1987) The Implementation of Functional Programming Languages, Prentice-Hall.

    Google Scholar 

  • Jonkers HBM (1979) A gast garbage compaction algorithm. Info. Processing Letters 9(1) 26–30.

    Article  Google Scholar 

  • Juul NC (1990) Report on the ECOOP/OOPSLA'90 Workshop on Garbage Collection in Object-Oriented Systems.

    Google Scholar 

  • Kafara D, Washabaugh D and Nelson J (1990) Garbage collection of actors, ECOOP/OOPSLA '90 Proceedings of Workshop on Garbage Collection, 126–34

    Google Scholar 

  • Kain RY (1969) Block structures, indirect addressing and garbage collection. Comm ACM 12(7)395–398.

    Article  Google Scholar 

  • Knuth DE (1973) The Art of Computer Programming; Vol 1: Fundamental Algorithms, Addision-Wesley, Reading, Mass.

    Google Scholar 

  • Kolodner E, Liskov B and Weihl W (1989) Atomic garbage collection: managing a stable heap, Proceedings of 1989 ACM SIGMOD International Conference on the Management of Data, 15–25.

    Google Scholar 

  • Kolodner E (1991) Atomic incremental garbage collection and recovery for Large stable heap, implementing persistent object bases: principles and practice, Fourth International Workshop on Persistent Object Systems, Morgan-Kaufmann Publishers, San Mafeo, California.

    Google Scholar 

  • Krasner G (ed) (1983) Smalltalk-80: Bits of History, Words of Advice, Addison-Wesley.

    Google Scholar 

  • Lang, B, Queinnec C, and Piquer J (1992) Garbage collecting the world, Proceedings of the 19th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'92), 1992.

    Google Scholar 

  • Lermen C W and Maurer D (1986) A Protocol for Distributed Reference Counting, Proceedings of 1986 ACM Conference on Lisp and Functional Programming, Massachusetts Institute of Technology, 343–350.

    Google Scholar 

  • Li K (1988a) Real-time concurrent collection in user mode, ECOOP/OOPSLA'90 Workshop on Garbage Collection.

    Google Scholar 

  • Li K Appel AW, and Ellis JR (1988b) Real-time concurrent collection on stock multiprocessors, ACM SIGPLAN '88 Conference on Programming Language Design and Implementation, 11–20.

    Google Scholar 

  • Lieberman H and Hewitt C (1983) A real-time garbage collector based on the lifetimes or objects. Comm ACM 26(6), 419–429.

    Article  Google Scholar 

  • Lindstrom G (1974) Copying list structures using bounded workspace, Comm ACM 17(4), 198–202.

    Article  Google Scholar 

  • Liskov B and Ladin R (1986) Highly-available distributed services and faulttolerant distributed garbage collection, in Proceedings of the 5th symposium on the Principles of Distributed Computing, ACM, 29–39

    Google Scholar 

  • Martin JJ (1982) An efficient garbage compaction algorithm, Comm ACM 25(8), 571–581.

    Article  Google Scholar 

  • McCarthy J (1960) Recursive functions of symbolic expressions and their computation by machine: Part I, Comm ACM 3(4), 184–195.

    Article  Google Scholar 

  • McCullough PL (1983) Implementing the Smalltalk-80 system: The Tektronix experience, in Smalltalk-80: Bits of History, Words of Advice, Addison-Wesley, 59–78

    Google Scholar 

  • Meyers R and Casseres D(1983) An MC68000-Based Smalltalk-80 System, in Smalltalk-80: Bits of History, Words of Advice, Addison-Wesley, 175–187.

    Google Scholar 

  • Miranda E (1987) BrouHaHa — a portable Smalltalk interpreter, OOPSLA'87, SIGPLAN Notices 22(12), ACM, 354–365

    Google Scholar 

  • Mohammed-Ali K A (1984) Object-Oriented Storage Management and Garbage Collection in Distributed Processing Systems, Academic Dissertation, Royal Institute of Technology, Dept of Computer Systems, Stockholm, Sweden.

    Google Scholar 

  • Moon D.(1984) Garbage collection in a large lisp system, 1984 ACM Symposium on Lisp and Functional Programming, 235–246.

    Google Scholar 

  • Morris FL (1978) A time-and Space-efficient garbage compaction algorithm. Comm ACM 21(8), 662–665.

    Article  Google Scholar 

  • Morris FL (1979) On a comparison of garbage collection techniques, Comm ACM 22(10), 571.

    Article  Google Scholar 

  • Moss JEB (1990) Garbage collecting persistent object stores, ECOOP/OOPSLA'90 Workshop on Garbage Collection.

    Google Scholar 

  • Newell A and Tonge FM (1960) An introduction to IPL-V, Comm ACM 3, 205–211.

    Article  Google Scholar 

  • Newman IA, Stallard RP and Woodward MC (1982) Performance of parallel garbage collection algorithms, Computer Studies 166, Sept 1982.

    Google Scholar 

  • Nilsen K and Schmidt WJ (1990) Hardware support for garbage collection of linked objects and arrays in real time, ECOOP/OOPSLA'90 Workshop on Garbage Collection. October 1990.

    Google Scholar 

  • Nilsen K (1988) Garbage collection of strings and linked data structures in real time, Software Practice and Experience 18(7), July 1988, 613–640.

    Google Scholar 

  • North SC and Reppy JH (1987) Concurrent garbage collection on stock hardware in Functional Programming Languages and Computer Architecture, LNCS 274 Springer-Verlag, 1987, 113–133.

    Google Scholar 

  • ParcPlace (1991) ObjectworksSmalltalk Release 4 User's Guide, Memory Management 229–237

    Google Scholar 

  • Queinnec C, Beau doing B, and Queille J (1989) Mark DURING sweep rather than mark THEN sweep, in PARLE '89 — Parallel Architectures and Languages Europe. LNCS 365, Springer-Verlag.

    Google Scholar 

  • Rudalics M, (1986) Distributed copying garbage collection, Proceedings of 1986 ACM Conference on Lisp and Functional Programming, Massachusetts Institute of Technology, 364–372.

    Google Scholar 

  • Schelvis M and Bledoeg E (1988) The implementation of a distributed Smalltalk, ECOOP Proceedings, August 1988 LNCS 322.

    Google Scholar 

  • Schelvis M (1989) Incremental distribution of timestamp packets: a new approach to distributed garbage collection, OOPSLA'89, SIGPLAN Notices 24(10), ACM, 37–48.

    Google Scholar 

  • Schorr H and Waite WM (1967) An efficient machine-independent procedure for garbage collection in various list structures, Comm ACM 10(8), 501–506.

    Article  Google Scholar 

  • Sharma R and Soffa M L (1991) Parallel generational garbage collection, OOPSLA 91, SIGPLAN Notices 26(11), ACM, 16–32

    Google Scholar 

  • Shapiro M, Plainfosse D and Gruber O (1990) A garbage detection protocol for a realistic distributed object-support system., ECOOP/OOPSLA'90 Workshop on Garbage Collection. October 1990.

    Google Scholar 

  • Standish TA (1980) Data Structures Techniques, Addison-Wesley, Reading, Mass., 1980.

    Google Scholar 

  • Steele GL (1975) Multiprocessing compactifying garbage collection. Comm ACM 18(9), 495–508.

    Article  Google Scholar 

  • Thomas RE, (1981) A dataflow computer with improved asymptotic performance, MIT Laboratory for computer science report MIT/LCS/TR-265

    Google Scholar 

  • Terashima M and Goto E (1978) Genetic order and compactifying garbage collector, Info. Processing Letters 7(1), 27–32.

    Article  Google Scholar 

  • Ungar DM and Patterson DA (1983) Berkeley Smalltalk: who knows where the time goes?, in Smalltalk-80: Bits of History, Words of advice, Addison-Wesley 189–206.

    Google Scholar 

  • Ungar D (1984) Generation scavenging: a non-disruptive high performance storage reclamation algorithm, in Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, April 1984, 157–167.

    Google Scholar 

  • Ungar D and Jackson F (1988) Tenuring policies for generation-based storage reclamation, OOPSLA'88, SIGPLAN Notices 23(11), ACM, 1–17.

    Google Scholar 

  • Ungar D and Jackson F (1992) An adaptive tenuring policy for generation scavengers, TOPLAS 14(1), 1–27.

    Article  Google Scholar 

  • Vestal S C (1987) Garbage Collection: An Exercise in Distributed, Fault-Tolerant Programming. PhD Thesis, Dept. of Computer Science, University of Washington, Seattle WA (USA), January 1987.

    Google Scholar 

  • Wadler PL (1976) Analysis of an algorithm for real-time garbage collection, Comm ACM 19(9), 491–500.

    Article  Google Scholar 

  • Watson I (1986) An analysis of garbage collection for distributed Systems, TR Dept Comp. Sc., U. Manchester.

    Google Scholar 

  • Watson P and Watson I (1987) An efficient garbage collection scheme for parallel computer architecture, in PARLE '87 — Parallel Architectures and Languages Europe, LNCS 259, 432–443.

    Google Scholar 

  • Wegbreit B (1972) A generalised compacting garbage collector, Computer Journal 15(3) 204–208.

    Article  Google Scholar 

  • Weizenbaum J (1962) Knotted list structures, Comm ACM 5(3), 161–165.

    Article  Google Scholar 

  • Weizenbaum J (1963) Symmetric list processor, Comm ACM 6(9), 524–544.

    Article  Google Scholar 

  • White JL (1980) Address/memory management for a gigantic Lisp environment, or GC considered harmful, Conference Record of the 1980 Lisp Conference, 119–127.

    Google Scholar 

  • Wilson PR and Moher TG (1989) Design of the opportunistic garbage collector, OOPSLA'89, SIGPLAN Notices 24(10), ACM, 23–35.

    Google Scholar 

  • Wilson PR (1990) Some issues and strategies in heap management and memory Hierarchies, ECOOP/OOPSLA'90 Workshop on Garbage Collection

    Google Scholar 

  • Wilson PR, Lam MS and Moher TG (1990) Caching considerations for generational garbage collection: a case for large and set-associative caches., TR UIC-EECS-90-5, December 1990.

    Google Scholar 

  • Wilson P R (1992) Comp.compiler Usenet discussion, February 1992

    Google Scholar 

  • Wilson PR, Lam MS and Moher TG (1991) Effective “static-graph” reorganization to improve locality in garbage-collected systems, Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation. Toronto, Ontario, Canada, 177–191.

    Google Scholar 

  • Wolczko M and Williams I (1990) Garbage collection in high-performance system, ECOOP/OOPSLA'90 Workshop on Garbage Collection. October 1990.

    Google Scholar 

  • Woodward MC (1981) Multiprocessor garbage collection — a new solution, Computer Studies 115

    Google Scholar 

  • Zave DA (1975) A fast compacting garbage collector, Info Processing Letters 3, 167–169.

    Article  Google Scholar 

  • Zorn B (1989) Comparative performance evaluation of garbage collection Algorithms, PhD Thesis, EECS Dept, UC Berkeley.

    Google Scholar 

  • Zorn, B (1990) Designing systems for evaluation: A case study of garbage collection., ECOOP/OOPSLA'90 Workshop on Garbage Collection.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Yves Bekkers Jacques Cohen

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Abdullahi, S.E., Miranda, E.E., Ringwood, G.A. (1992). Collection schemes for distributed garbage. In: Bekkers, Y., Cohen, J. (eds) Memory Management. IWMM 1992. Lecture Notes in Computer Science, vol 637. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017183

Download citation

  • DOI: https://doi.org/10.1007/BFb0017183

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55940-5

  • Online ISBN: 978-3-540-47315-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics