Affiliation:
1. IBM T.J. Watson Research Center
2. Department of Computer Science, University of Colorado, Boulder, CO
Abstract
The deployment of Java as a concurrent programming language has created a critical need for high-performance, concurrent, and incremental multiprocessor garbage collection. We present the
Recycler
, a fully concurrent pure reference counting garbage collector that we have implemented in the Jalapeño Java virtual machine running on shared memory multiprocessors.
While a variety of multiprocessor collectors have been proposed and some have been implemented, experimental data is limited and there is little quantitative basis for comparison between different algorithms. We present measurements of the Recycler and compare it against a non-concurrent but parallel load-balancing mark-and-sweep collector (that we also implemented in Jalapeño), and evaluate the classical tradeoff between response time and throughput.
When processor or memory resources are limited, the Recycler runs at about 90% of the speed of the mark-and-sweep collector. However, with an extra processor to run collection and with a moderate amount of memory headroom, the Recycler is able to operate without ever blocking the mutators and achieves a maximum measured mutator delay of only 2.6 milliseconds for our benchmarks. End-to-end execution time is usually within 5%.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
28 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Concurrent Immediate Reference Counting;Proceedings of the ACM on Programming Languages;2024-06-20
2. A Comprehensive Study on Different Optimizations of Pure Reference Counting Garbage Collectors;2023 International Conference on Computational Intelligence, Networks and Security (ICCINS);2023-12-22
3. Low-latency, high-throughput garbage collection;Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2022-06-09
4. Concurrent deferred reference counting with constant-time overhead;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
5. Sound garbage collection for C using pointer provenance;Proceedings of the ACM on Programming Languages;2020-11-13