【24h】

Automatic Object Colocation Based on Read Barriers

机译:基于读取屏障的自动对象配置

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

摘要

Object colocation is an optimization that reduces memory access costs by grouping together heap objects so that their order in memory matches their access order in the program. We implemented this optimization for Sun Microsystems'' Java HotSpot™ VM. The garbage collector, which moves objects during collection, assigns consecutive addresses to connected objects and handles them as atomic units. We use read barriers inserted by the just-in-time compiler to detect the most frequently accessed fields per class. These "hot fields" are added to so-called hot-field tables, which are then used by the garbage collector for colocation decisions. Read barriers that are no longer needed are removed in order to reduce the overhead. Our analysis is performed automatically at run time and requires no actions on the side of the programmer. We measured the impact of object colocation on the young and the old generation of the garbage collector, as well as the difference between dynamic colocation using read barriers and a static colocation strategy where colocation decisions are done at compile time. Our measurements show that object colocation works best for the young generation using a read-barrier-based approach.
机译:对象共置是一种优化,它通过将堆对象组合在一起以使它们在内存中的顺序与程序中的访问顺序相匹配,从而降低了内存访问成本。我们针对Sun Microsystems的Java HotSpot™VM实施了此优化。垃圾收集器在收集过程中移动对象,将连续的地址分配给连接的对象并将其作为原子单元进行处理。我们使用即时编译器插入的读取屏障来检测每个类中访问频率最高的字段。这些“热字段”被添加到所谓的“热字段”表中,然后由垃圾回收器用于进行共置决策。删除了不再需要的读取屏障,以减少开销。我们的分析在运行时自动执行,不需要程序员方面的任何操作。我们测量了对象托管对垃圾回收器的年轻一代和老一代的影响,以及使用读取屏障的动态托管和静态托管策略(其中托管决策在编译时进行)之间的差异。我们的测量结果表明,使用基于读取屏障的方法,对象共置最适合年轻一代。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号