Skip to main content

Parallel garbage collection for graph machines

  • Resource Control Issues
  • Conference paper
  • First Online:
Graph Reduction (GR 1986)

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

Included in the following conference series:

Abstract

Traditional reference counting falls short of being general; it cannot collect cyclic structures. On the other hand, mark-sweep algorithms are expensive, because only the resident data items are scanned, irrespective of the amount of real activity. Parallel mark-sweep algorithms are also unacceptable because they require very fine-grained synchronization with the mutator, therefore slowing down the computational process.

We have presented a novel garbage collection technique that uses reference counters and also collects cyclic structures, with little need for synchronization with the mutator.

Although in this paper we have considered interleaved, parallel and multi-collector environments, there are other computational scenarios which need be investigated.

An apparent disadvantage is the additional storage requirement for the C-field for each node. The C-field is equal to the E-field and several empirical studies show that in most cases the E-field is 1.

The space for the additional fields should be weighed against the simplicity, the efficiency, and the absence of synchronization overhead. We believe that, if the garbage nodes are collected fast and without interruption of the computational process, the total effective space utilization factor will be higher.

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.

References

  1. Ali, K. A. M. Object-oriented Storage Management and Garbage Collection in Distributed Processing systems. Royal Institute of Technology, Stockholm, Ph.D. Thesis, Dec. 1984.

    Google Scholar 

  2. Ben-Ari, M. Algorithms for on-the-fly garbage collection. ACM Trans. on Prog. Lang. and Sys. 6, 3 (July 1984), 333–344.

    Article  Google Scholar 

  3. Bobrow, D. A note on hash linking. Comm. ACM 18, 7 (July 1975), 413–415.

    Article  Google Scholar 

  4. Clark, D. W., and Green, C. C. An empirical study of list structure in Lisp. Comm. ACM 20, 2 (Feb. 1977), 78–87.

    Article  Google Scholar 

  5. Cohen, J. Garbage collection of linked data sturctures. Comput. Surv. 13, 3 (Sep. 1981), 341–367.

    Article  Google Scholar 

  6. Deutsch, L. P., and Bobrow, D. G. An efficient incremental automatic garbage collector. Comm. ACM 19, 9 (Sept. 1976), 522–526.

    Article  Google Scholar 

  7. Dijkstra, E. W., Lamport, L., Martin, A.J., Scholten, C. S., and Steffens, E. M. F. On-the-fly Garbage Collection: An exercise in cooperation. Comm. ACM 21, 11 (Nov. 1978), 966–975.

    Article  Google Scholar 

  8. Friedman, D. P., and Wise, D. S. Reference Counting can manage the circular environments of mutual recursion. Info. Proc. Letters 8, 1 (Jan. 1979), 41–45.

    Article  Google Scholar 

  9. Hickey, T., and Cohen, J. Performance analysis of on-the-fly garbage collection, Comm. ACM 27, 11 (Nov. 1984), 1143–1154.

    Article  Google Scholar 

  10. Hudak, P., and Keller, R. M. Garbage collection and task deletion in distributed applicative processing systems. Proc. ACM symposium on LISP and Functional Programming, Aug. 1982, 168–178.

    Google Scholar 

  11. Hughes, J. A Distributed Garbage Collection Algorithm, Lecture Notes in Comp. Sci., vol. 201, Springer-Verlag, Sept. 1985.

    Google Scholar 

  12. Kung, H., and Song, S. An efficient parallel garbage collection system and its correctness proof. Tech. Note., Dept. of Comp. Sci., CMU, Sept. 1977.

    Google Scholar 

  13. Lamport, L. Garbage collection with multiple processes: An exercise in parallelism. Proc. 1976 Int. Conf. on Parallel Processing, 1976, 50–54.

    Google Scholar 

  14. Lieberman, H., and Hewitt, C. A real-time garbage collector based on the lifetime of objects. Comm. ACM 26, 6 (June 1983), 419–429.

    Article  Google Scholar 

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

    Article  Google Scholar 

  16. Standish, T. A. Data Structure Techniques, Addison-Wesley, 1980.

    Google Scholar 

  17. Wise, D. S. Design for a Multiprocessing Heap with On-board Reference Counting. Lecture Notes in Comp. Sci., vol. 201, Springer-Verlag, Sept. 1985.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Joseph H. Fasel Robert M. Keller

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Deb, A. (1987). Parallel garbage collection for graph machines. In: Fasel, J.H., Keller, R.M. (eds) Graph Reduction. GR 1986. Lecture Notes in Computer Science, vol 279. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18420-1_59

Download citation

  • DOI: https://doi.org/10.1007/3-540-18420-1_59

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18420-1

  • Online ISBN: 978-3-540-47963-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics