Dynamic selection of application-specific garbage collectors

Dynamic selection of application-specific garbage collectors
复制标题

动态选择特定于应用程序的垃圾收集器

DOI:
--
复制
发表时间:
2004
期刊:
International Symposium on Mathematical Morphology and Its Application to Signal and Image Processing
影响因子:
--
通讯作者:
D. F. Bacon
D. F. Bacon
中科院分区:
--
文献类型:
--
作者:
Sunil Soman;C. Krintz;D. F. Bacon

文献摘要

被引文献

相似文献

许多先前的工作表明,垃圾收集(GC)系统所支持的性能高度依赖于应用程序的行为以及可用资源。也就是说,没有一个GC能够为所有程序和所有堆大小提供最佳性能。为了解决这一限制,我们提出了一种新的Java虚拟机(JVM)扩展的设计、实现和经验评估,该扩展促进了在许多非常不同和流行的垃圾收集器之间的动态切换。我们还展示了如何使用注解引导的GC选择来利用这个功能,并使用大量的基准测试来评估系统。此外,我们实现并评估了一个简单的启发式来研究自动切换的有效性。我们的结果表明,平均而言,我们的注释引导系统引入的开销不到4%,并且比性能最差的GC(跨堆大小)提高了24%,比总是使用流行的generation /Mark-Sweep混合方法提高了7%。
Much prior work has shown that the performance enabled by garbage collection (GC) systems is highly dependent upon the behavior of the application as well as on the available resources. That is, no single GC enables the best performance for all programs and all heap sizes. To address this limitation, we present the design, implementation, and empirical evaluation of a novel Java Virtual Machine (JVM) extension that facilitates dynamic switching between a number of very different and popular garbage collectors. We also show how to exploit this functionality using annotation-guided GC selection and evaluate the system using a large number of benchmarks. In addition, we implement and evaluate a simple heuristic to investigate the efficacy of switching automatically. Our results show that, on average, our annotation-guided system introduces less than 4% overhead and improves performance by 24% over the worst-performing GC (across heap sizes) and by 7% over always using the popular Generational/Mark-Sweep hybrid.