首页> 外文期刊>ACM SIGPLAN Notices: A Monthly Publication of the Special Interest Group on Programming Languages >Controlling Fragmentation and Space Consumption in the Metronome, a Real-time Garbage Collector for Java
【24h】

Controlling Fragmentation and Space Consumption in the Metronome, a Real-time Garbage Collector for Java

机译:控制节拍器中的碎片和空间消耗,节拍器是Java的实时垃圾收集器

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

摘要

Now that the use of garbage collection in languages like Java is becoming widely accepted due to the safety and software engineering benefits it provides, there is significant interest in applying garbage collection to hard real-time systems. Past approaches have generally suffered from one of two major flaws: either they were not provably real-time, or they imposed large space overheads to meet the real-time bounds. Our previous work [3] presented the Metronome, a mostly non-copying real-time collector. The Metronome achieves worst-case pause times of 6 milliseconds while maintaining consistent mutator CPU utilization rates of 50% with only 1.5-2.1 times the maximum heap space required by the application, which is comparable with space requirements for stop-the-world collectors. However, that algorithm assumed a constant collection rate, ignored program-dependent characteristics, and lacked a precise specification for when to trigger collection or how much defragmentation to perform. This paper refines the model by taking into account program properties such as pointer density, average object size, and locality of object size. This allows us to bound both the time for collection and consequently the space overhead required much more tightly. We show experimentally that most parameters usually are not subject to large variation, indicating that a small number of parameters will be sufficient to predict the time and space requirements accurately. Our previous work also did not present the details of our approach to avoiding and undoing fragmentation. In this paper we present a more detailed analysis of fragmentation than in previous work, and show how our collector is able to bound fragmentation to acceptable limits.
机译:现在,由于Java提供的安全性和软件工程优势,在Java之类的语言中使用垃圾回收已被广泛接受,将垃圾回收应用于硬实时系统引起了极大的兴趣。过去的方法通常遭受两个主要缺陷之一的困扰:要么它们不能证明是实时的,要么它们施加了很大的空间开销来满足实时范围。我们以前的工作[3]提出了节拍器,它是一个大部分非复制的实时收集器。在最坏情况下,Metronome的暂停时间为6毫秒,同时保持一致的mutator CPU利用率为50%,而应用程序所需的最大堆空间仅为1.5-2.1倍,这与世界停止收集器的空间需求相当。但是,该算法假定收集速率恒定,忽略了程序相关的特性,并且缺少何时触发收集或执行多少碎片整理的精确规范。本文通过考虑程序属性(例如指针密度,平均对象大小和对象大小的局部性)来优化模型。这使我们不仅可以限制收集时间,还可以限制所需的空间开销。我们通过实验表明,大多数参数通常不会发生大的变化,这表明少量参数将足以准确预测时间和空间需求。我们之前的工作也没有介绍避免和消除碎片的方法的细节。在本文中,我们提供了比以前的工作更加详细的碎片分析,并展示了我们的收集器如何将碎片绑定到可接受的范围。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号