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.
Preview
Unable to display preview. Download preview PDF.
References
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.
Ben-Ari, M. Algorithms for on-the-fly garbage collection. ACM Trans. on Prog. Lang. and Sys. 6, 3 (July 1984), 333–344.
Bobrow, D. A note on hash linking. Comm. ACM 18, 7 (July 1975), 413–415.
Clark, D. W., and Green, C. C. An empirical study of list structure in Lisp. Comm. ACM 20, 2 (Feb. 1977), 78–87.
Cohen, J. Garbage collection of linked data sturctures. Comput. Surv. 13, 3 (Sep. 1981), 341–367.
Deutsch, L. P., and Bobrow, D. G. An efficient incremental automatic garbage collector. Comm. ACM 19, 9 (Sept. 1976), 522–526.
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.
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.
Hickey, T., and Cohen, J. Performance analysis of on-the-fly garbage collection, Comm. ACM 27, 11 (Nov. 1984), 1143–1154.
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.
Hughes, J. A Distributed Garbage Collection Algorithm, Lecture Notes in Comp. Sci., vol. 201, Springer-Verlag, Sept. 1985.
Kung, H., and Song, S. An efficient parallel garbage collection system and its correctness proof. Tech. Note., Dept. of Comp. Sci., CMU, Sept. 1977.
Lamport, L. Garbage collection with multiple processes: An exercise in parallelism. Proc. 1976 Int. Conf. on Parallel Processing, 1976, 50–54.
Lieberman, H., and Hewitt, C. A real-time garbage collector based on the lifetime of objects. Comm. ACM 26, 6 (June 1983), 419–429.
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.
Standish, T. A. Data Structure Techniques, Addison-Wesley, 1980.
Wise, D. S. Design for a Multiprocessing Heap with On-board Reference Counting. Lecture Notes in Comp. Sci., vol. 201, Springer-Verlag, Sept. 1985.
Author information
Authors and Affiliations
Editor information
Rights 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