节点文献
一种快速的滑动标记缩并垃圾收集算法
A Fast Slide Mark Compact Algorithm
【摘要】 Java语言完全面向对象,因此对象局部性是衡量Java虚拟机性能的重要指标.在Java虚拟机中,由垃圾收集算法负责检测并且回收不再使用的对象,它直接影响着Java程序的性能.保持对象分配序能够提供最佳的局部性.滑动标记缩并算法正是基于这一原则,但是传统上的设计使得算法的效率很低.本文提出一种快速的滑动标记缩并算法,它通过位图、活块池和块内偏移表来简化算法,大大的降低了开销.实验结果表明,快速的滑动标记缩并算法使得标准工业测试程序SPECJVM98的性能在Pentium4上有不同程度的提高,最高达到8.9%;同时程序的局部性也优于线性标记缩并算法,与深度遍历序相比,DTLB(Data Translation Lookaside Buffer)与2级Cache失效率改善最多分别为11%和13.6%.
【Abstract】 Allocation order is the best for locality,which slide mark compact algorithm is based on.But traditional design made the algorithm’s overhead too large.We proposed a fast slide mark compact algorithm,which reduces the overhead by mark bit table,live block pool and offset table.The results show that it achieves up to 8.9% speedup in industry-standard benchmark SPEC JVM98 on the Pentium 4,11% improvement in dtlb miss numbers and 13.6% reduce with L2 cache miss numbers.
【Key words】 garbage collection; mark compact; mark bit table; live block pool; offset table;
- 【文献出处】 电子学报 ,Acta Electronica Sinica , 编辑部邮箱 ,2008年10期
- 【分类号】TP301.6
- 【被引频次】5
- 【下载频次】64