Affiliation:
1. Technion -- Israel Institute of Technology, Haifa, Israel
2. IBM T. J. Watson Research Center, Yorktown Heights, NY
3. IBM Haifa Research Lab, Haifa, Israel
Abstract
A reference-counting garbage collector cannot reclaim unreachable cyclic structures of objects. Therefore, reference-counting collectors either use a backup tracing collector infrequently, or employ a cycle collector to reclaim cyclic structures. We propose a new
concurrent
cycle collector, one that runs concurrently with the program threads, imposing negligible pauses (of around 1ms) on a multiprocessor.
Our new collector combines a state-of-the-art cycle collector [Bacon and Rajan 2001] with sliding-views collectors [Levanoni and Petrank 2001, 2006; Azatchi et al. 2003]. The use of sliding views for cycle collection yields two advantages. First, it drastically reduces the
number
of cycle candidates, which in turn drastically reduces the
work
required to record and trace these candidates. Consequentially, a large improvement in cycle collection efficiency is achieved. Second, it eliminates the theoretical termination problem that appeared in the earlier concurrent cycle collector. There, a rare race may delay the reclamation of an unreachable cyclic structure forever. The sliding-views cycle collector guarantees reclamation of all unreachable cyclic structures.
The proposed collector was implemented on the Jikes RVM and we provide measurements including a comparison between the use of backup tracing and the use of cycle collection with reference counting. To the best of our knowledge, such a comparison has not been reported before.
Publisher
Association for Computing Machinery (ACM)
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. On a possible embedding of Lisp into the C language;Keldysh Institute Preprints;2022
2. A Study on Garbage Collection Algorithms for Big Data Environments;ACM Computing Surveys;2019-01-31
3. Biased reference counting;Proceedings of the 27th International Conference on Parallel Architectures and Compilation Techniques;2018-11
4. Concurrent, parallel garbage collection in linear time;ACM SIGPLAN Notices;2015-05-11
5. Cyclic reference counting by typed reference fields;Computer Languages, Systems & Structures;2012-04