A generational on-the-fly garbage collector for Java

Author:

Domani Tamar1,Kolodner Elliot K.1,Petrank Erez2

Affiliation:

1. IBM Haifa Research Lab.

2. Computer Science Dept., Technion - Israel Institute of Technology

Abstract

An on-the-fly garbage collector does not stop the program threads to perform the collection. Instead, the collector executes in a separate thread (or process) in parallel to the program. On-the-fly collectors are useful for multi-threaded applications running on multiprocessor servers, where it is important to fully utilize all processors and provide even response time, especially for systems for which stopping the threads is a costly operation. In this work, we report on the incorporation of generations into an on-the-fly garbage collector. The incorporation is non-trivial since an on-the-fly collector avoids explicit synchronization with the program threads. To the best of our knowledge, such an incorporation has not been tried before. We have implemented the collector for a prototype Java Virtual Machine on AIX, and measured its performance on a 4-way multiprocessor. As for other generational collectors, an on-the-fly generational collector has the potential for reducing the overall running time and working set of an application by concentrating collection efforts on the young objects. However, in contrast to other generational collectors, on-the-fly collectors do not move the objects; thus, there is no segregation between the old and the young objects. Furthermore, on-the-fly collectors do not stop the threads, so there is no extra benefit for the short pauses obtained by generational collection. Nevertheless, comparing our on-the-fly collector with and without generations, it turns out that the generational collector performs better for most applications. The best reduction in overall running time for the benchmarks we measured was 25%. However, there were some benchmarks for which it had no effect and one for which the overall running time increased by 4%.

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference25 articles.

1. List processing in real time on a serial computer

2. The treadmill

3. Algorithms for on-the-fly garbage collection

4. Jeff Chan and Nik Shaylor. Multithreaded Ray Tracer. Sun Microsystems private communications. Jeff Chan and Nik Shaylor. Multithreaded Ray Tracer. Sun Microsystems private communications.

Cited by 19 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Alligator collector: a latency-optimized garbage collector for functional programming languages;Proceedings of the 2020 ACM SIGPLAN International Symposium on Memory Management;2020-06

2. Transactional Sapphire;ACM Transactions on Programming Languages and Systems;2018-12-31

3. Code and Data Transformations to Address Garbage Collector Performance in Big Data Processing;2018 IEEE 25th International Conference on High Performance Computing (HiPC);2018-12

4. Block-free concurrent GC: stack scanning and copying;ACM SIGPLAN Notices;2018-07-19

5. Making Huge Pages Actually Useful;Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems;2018-03-19

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3