Implementing an on-the-fly garbage collector for Java

Implementing an on-the-fly garbage collector for Java
复制标题

DOI:
10.1145/362422.362484
复制
发表时间:
2000-10
期刊:
--
影响因子:
--
通讯作者:
T. Domani;E. K. Kolodner;E. Lewis;Eliot E. Salant;K. Barabash;Itai Lahan;Yossi Levanoni;E. Petrank;Igor Yanover
T. Domani;E. K. Kolodner;E. Lewis;Eliot E. Salant;K. Barabash;Itai Lahan;Yossi Levanoni;E. Petrank;Igor Yanover
中科院分区:
其他
文献类型:
--
作者:
T. Domani;E. K. Kolodner;E. Lewis;Eliot E. Salant;K. Barabash;Itai Lahan;Yossi Levanoni;E. Petrank;Igor Yanover

文献摘要

被引文献

相似文献

Java使用垃圾收集(GC)来自动回收运行中的应用程序不再需要的计算机内存。Java虚拟机(JVM)的GC实现通常是为单处理器机器设计的,对于在多处理器上运行多个线程的服务器程序来说,它不一定能很好地执行。我们设计并实现了一个动态GC,基于Doligez,Leroy和Gonthier [13,12](DLG)的算法,在此环境中用于Java。动态收集器(on-the-fly collector)是一种不停止程序线程的收集器,允许在收集期间利用所有处理器,并提供统一的响应时间。我们为Java扩展和调整了DLG(例如,增加对弱引用的支持)和对没有顺序一致性的现代多处理器的支持,以及增加的性能改进(例如,以跟踪剩余的要跟踪的对象)。我们比较了我们的实现与stop-the-worldmark-sweep GC的性能。我们的测量结果表明,我们的收集器的性能优势增加线程的数量增加,它提供了一致的低响应时间。
Java uses garbage collection (GC) for the automatic reclamation of computer memory no longer required by a running application. GC implementations for Java Virtual Machines (JVM) are typically designed for single processor machines, and do not necessarily perform well for a server program with many threads running on a multiprocessor. We designed and implemented an on-the-fly GC, based on the algorithm of Doligez, Leroy and Gonthier [13, 12] (DLG), for Java in this environment. An on-the-fly collector, a collector that does not stop the program threads, allows all processors to be utilized during collection and provides uniform response times. We extended and adapted DLG for Java (e.g., adding support for weak references) and for modern multiprocessors without sequential consistency, and added performance improvements (e.g., to keep track of the objects remaining to be traced). We compared the performance of our implementation with stop-the-world mark-sweep GC. Our measurements show that the performance advantage for our collector increases as the number of threads increase and that it provides uniformly low response times.