首页> 外文期刊>Concurrency and Computation >Accurate garbage collection in uncooperative environments revisited
【24h】

Accurate garbage collection in uncooperative environments revisited

机译:重新访问非合作环境中的精确垃圾收集

获取原文
获取原文并翻译 | 示例

摘要

Implementing a concurrent programming language such as Java by means of a translator to an existing language is attractive as it provides portability over all platforms supported by the host language and reduces development time-as many low-level tasks can be delegated to the host compiler. The C and C++ programming languages are popular choices for many language implementations due to the availability of efficient compilers on a wide range of platforms. For garbage-collected languages, however, they are not a perfect match as no support is provided for accurately discovering pointers to heap-allocated data on thread stacks. We evaluate several previously published techniques and propose a new mechanism, lazy pointer stacks, for performing accurate garbage collection in such uncooperative environments. We implemented the new technique in the Ovm Java virtual machine with our own Java-to-C/C++ compiler using GCC as a back-end compiler. Our extensive experimental results confirm that lazy pointer stacks outperform existing approaches: we provide a speedup of 4.5% over Henderson's accurate collector with a 17% increase in code size. Accurate collection is essential in the context of real-time systems, we thus validate our approach with the implementation of a real-time concurrent garbage collection algorithm.
机译:由于可以通过宿主语言支持的所有平台上的可移植性并减少开发时间,因此可以通过将其转换为现有语言来实现诸如Java之类的并发编程语言,因为它可以将许多低级任务委托给宿主编译器。由于在各种平台上都可以使用高效的编译器,因此C和C ++编程语言是许多语言实现的流行选择。但是,对于垃圾回收的语言,它们并不是完美的匹配,因为没有提供支持来准确发现指向线程堆栈上堆分配数据的指针。我们评估了几种以前发布的技术,并提出了一种新的机制,即惰性指针堆栈,用于在这种不合作的环境中执行准确的垃圾收集。我们使用GCC作为后端编译器,使用自己的Java到C / C ++编译器在Ovm Java虚拟机中实现了这项新技术。我们广泛的实验结果证实,惰性指针堆栈的性能优于现有方法:与Henderson的精确收集器相比,我们提供了4.5%的加速,并且代码大小增加了17%。准确的收集对于实时系统至关重要,因此,我们通过实现实时并发垃圾收集算法来验证我们的方法。

著录项

  • 来源
    《Concurrency and Computation》 |2009年第12期|1572-1606|共35页
  • 作者单位

    Department of Computer Science, Purdue University, 305 N. University Street, West Lafayette, IN 47907, U.S.A.;

    Department of Computer Science, Purdue University, 305 N. University Street, West Lafayette, IN 47907, U.S.A.;

    Department of Computer Science, Purdue University, 305 N. University Street, West Lafayette, IN 47907, U.S.A.;

    Department of Computer Science, Purdue University, 305 N. University Street, West Lafayette, IN 47907, U.S.A.;

    Department of Computer Science, Purdue University, 305 N. University Street, West Lafayette, IN 47907, U.S.A.;

  • 收录信息
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    programming languages; runtime systems; compilers; garbage collection; Java;

    机译:编程语言;运行时系统;编译器;垃圾收集;爪哇;

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号