版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:中国科学技术大学计算机科学与技术系安徽合肥230027 中国科学院计算技术研究所计算机系统结构重点实验室北京100190
出 版 物:《电子学报》 (Acta Electronica Sinica)
年 卷 期:2008年第36卷第10期
页 面:1955-1960页
核心收录:
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:国家自然科学基金杰出青年基金(No.60325205) 国家973重点基础研究发展规划(No.2005CB321600) 国家自然科学基金(No.60673146 60736012) 国家863高技术研究发展计划(No.2006AA010201) 北京市自然科学基金(No.4072024)
摘 要:Java语言完全面向对象,因此对象局部性是衡量Java虚拟机性能的重要指标.在Java虚拟机中,由垃圾收集算法负责检测并且回收不再使用的对象,它直接影响着Java程序的性能.保持对象分配序能够提供最佳的局部性.滑动标记缩并算法正是基于这一原则,但是传统上的设计使得算法的效率很低.本文提出一种快速的滑动标记缩并算法,它通过位图、活块池和块内偏移表来简化算法,大大的降低了开销.实验结果表明,快速的滑动标记缩并算法使得标准工业测试程序SPECJVM98的性能在Pentium4上有不同程度的提高,最高达到8.9%;同时程序的局部性也优于线性标记缩并算法,与深度遍历序相比,DTLB(Data Translation Lookaside Buffer)与2级Cache失效率改善最多分别为11%和13.6%.