Affiliation:
1. Kochi University of Technology, Kochi, Japan
2. University of Kent, Canterbury, UK
Abstract
Constructing a high-performance garbage collector is hard. Constructing a fully concurrent ‘on-the-fly’ compacting collector is much more so. We describe our experience of implementing the Sapphire algorithm as the first on-the-fly, parallel, replication copying, garbage collector for the Jikes RVM Java virtual machine (JVM). In part, we explain our innovations such as copying with hardware and software transactions, on-the-fly management of Java’s reference types, and simple, yet correct, lock-free management of volatile fields in a replicating collector. We fully evaluate, for the first time, and using realistic benchmarks, Sapphire’s performance and suitability as a low latency collector. An important contribution of this work is a detailed description of our experience of building an on-the-fly copying collector for a complete JVM with some assurance that it is correct. A key aspect of this is model checking of critical components of this complicated and highly concurrent system.
Publisher
Association for Computing Machinery (ACM)
Reference82 articles.
1. Optimizing memory transactions for multicore systems. In Multicore Processors and Systems, Springer;Adl-Tabatabai Ali-Reza;Chapter,2009
2. A real-time Java virtual machine with applications in avionics
3. A framework for reducing the cost of instrumented code
4. Tax-and-spend
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Deep Dive into ZGC: A Modern Garbage Collector in OpenJDK;ACM Transactions on Programming Languages and Systems;2022-09-21
2. Towards a Model Checking Framework for a New Collector Framework;Proceedings of the 19th International Conference on Managed Programming Languages and Runtimes;2022-09-14
3. Replication-based object persistence by reachability;Proceedings of the 2022 ACM SIGPLAN International Symposium on Memory Management;2022-06-14
4. Concurrent and parallel garbage collection for lightweight threads on multicore processors;Proceedings of the 2022 ACM SIGPLAN International Symposium on Memory Management;2022-06-14
5. Fusuma: double-ended threaded compaction;Proceedings of the 2021 ACM SIGPLAN International Symposium on Memory Management;2021-06-22