Java虚拟机的自适应动态优化

被引量 : 0次 | 上传用户:csnd123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Java语言以其在软件工程上的优势而被广泛地应用在各个领域的软件开发中。Java程序运行在Java虚拟机这一动态环境下,和传统的静态编译的二进制代码相比,它存在很多优势:代码的可移植性、安全性、自动化的内存管理和线程管理技术、动态类加载等等。这些方便而又强大的功能大大提高程序员的工作效率,因此被广泛使用。但是,这些动态的特性使得一些传统的静态编译技术不再适用,因此科学家们一直在探索新的编译技术,使得在虚拟机上能够获得更好的性能。由于缺乏运行时信息,静态编译采用较为复杂的全局分析而并不能得到理想的结果。Java虚拟机的介入使得编译及优化发生在程序运行时,因此工业界一直致力于发展自适应优化技术,希望能够利用程序运行时的动态信息来指导对程序进行何种优化。围绕Java程序中现有局部性的问题及其对应用程序性能的影响,本文系统深入地研究了Java虚拟机中的自适应优化技术,其主要的创新点及贡献如下:第一,设计并实现了一种低开销的自适应动态优化框架。该框架通过插桩来收集细粒度的信息,在程序运行的过程中,我们会根据反馈的信息自适应地调整插桩以降低开销,同时为了进一步减少插桩带来的影响,我们从Java程序的特性出发,尽量减少插桩的数目。和以前的静态分析工作相比,我们的工作是在运行时进行的,摆脱了因数据集变化而带来的不灵活性,和已有的动态分析工作相比,我们首次在Java虚拟机中实现自适应动态优化框架,弥补了Java虚拟机中现有的动态编译技术的不足,同时为了降低框架的运行时开销,我们针对Java语言的特性对框架进行一系列优化,包括框架设计、访问对象的插桩设计等,这些技术有效地降低了开销,进一步提高了Java程序的性能。最终的实验结果表明自适应优化框架的开销最多为2.5%,平均为1.7%。该框架为后面提出的局部性优化创造了良好的条件。第二,提出一种快速的滑动标记缩并算法。它在标记阶段记录位图和存活块池,在缩并阶段计算块内偏移表,将对堆的遍历转化为对块内偏移表的访问,大大地降低遍历堆所带来的开销;同时活块池的引入使得该算法很容易被应用在并行垃圾收集算法中。实验证明该算法使得标准工业测试程序SpecJBB2005、SpecJVM98和Dacapo的性能有不同程度的提高,最高达到8.9%;同时程序的局部性也优于线性标记缩并算法,与深度遍历序相比,DTLB(Data Translation Lookaside Buffer)失效率改善最多为11%,2级Cache失效率改善最多为13.6%。第三,基于自适应动态优化框架提出预取优化算法来改善程序的局部性。该算法基于自适应动态优化框架,它在即时编译器对程序编译的同时完成插桩的工作,插桩用来收集访存对象的信息。如果检测到当前运行过程中存在相关对象的访问,预取控制器将会插入相应的预取指令。自适应预取优化算法的关键在于预取准确性和运行时开销之间的权衡。为了保证预取的准确性,我们对程序进行插桩;为了降低运行时的开销,我们控制预取指令的插入并且实现无效的插桩删除优化。实验结果表明该算法使得标准工业测试程序SpecJBB2005、SpecJVM98和Dacapo的性能有不同程度的提高,最高达到18.1%,平均为7.15%。同时,运行时开销低于4%,内存开销可以忽略不计。第四,描述了一种基于对象亲缘关系的垃圾收集算法。该算法通过硬件性能分析器来定位频繁引起Cache失效的对象,根据对象之间的亲缘关系,建立对象亲缘图,并与垃圾收集算法相结合,将亲缘度高的对象们排列在堆中相邻的位置,这意味着访问完其中一个对象,接下来访问另外一个对象的概率很高,将它们放在一起可以改善对象之间的局部性,实验结果表明基于对象亲缘关系的垃圾收集算法对SpecJBB2005、SpecJVM98和Dacapo的性能有明显的提高,最多为4.9%,平均为3.4%,同时采用硬件性能分析器收集信息使得profiling的开销很低,平均为0.47%,最后我们将该算法和自适应预取优化相结合,结果表明大部分程序的性能不会降低,对于个别程序,甚至有所提高。
其他文献
目的探讨阿托伐他汀联合肠溶阿司匹林预防短暂性脑缺血发作再发的临床效果。方法 2006年1月~2009年12月短暂性脑缺血发作患者220例随机分为观察组及对照组各110例,对照组住院
通过对三种风道系统的压力进行分析,认为应根据风机全压等于风管系统阻力损失来选择风机。
激肽释放酶是目前一种重要的临床用药,广泛应用于治疗心脑血管、男性不育、微循环障碍等疾病,受到医药工业的高度重视。用于临床的激肽释放酶药品主要是从猪胰脏中提取的,也
委陵菜属植物种类众多,分布广泛,具有较高的药用价值和经济价值。本文对近年来国内外有关委陵菜属植物的化学成分、药理作用等方面的研究状况进行综述,以期为该属植物的深入
当今社会的发展要求基础教育关注学生的全面发展,改变学生的学习状态,但现实中,高中生因各种原因导致课外作业负担过重,这与当前教育改革强调以人为本、以学生的发展为本的基
【主持人语】本栏目收录文章三篇。韩军《论〈汉书·艺文志·诗赋略〉中的文体意识》一文,主要从相关文献资料以及传统文体发展的固有逻辑出发,来爬梳、分析《诗赋略》中文体
架构于互联网网络的商务活动即电子商务随着计算机、网络和通信技术日新月异的发展和融合迅猛发展,对全球经济一体化产生巨大的推动作用。电子商务会给商家带来巨大的发展机
本文探讨了碑派书法笔法特征,分析了代表性碑派书家笔法技法,对每一种碑派笔法技法都从历史的角度与传统帖派笔法进行了比较。晚清及民国的碑学家对北碑的临摹创作是一种观念
期刊
党在农村的基本经营制度是家庭联产承包责任制。本文从承包、承包责任制和家庭联产承包责任制三个方面去理解它的含义;并且回顾了它的发展历程(提出和推广阶段,改革农村经营