当前位置:问答库>论文摘要

题目:基于在线反馈信息的动态编译优化技术研究

关键词:在线,反馈信息,编译优化

  摘要

在线反馈信息指导的编译优化技术(Online Feedback Directed Optimization)被广泛应用于多种动态运行时环境之中,例如,Java,LISP,SELF等等。由于动态编译发生在程序的执行过程中,所以编译器必须在优化所能带来的性能提升和编译开销上做出“细致”的均衡,以使系统的整体性能达到最优,而很好地做到这一点往往是很困难的。在Java虚拟机中,传统的基于插装的Profiling技术往往不能得到方法间的调用关系,因此,采用这种机制的动态编译器会丧失一些优化机会,例如方法内联。本文通过对程序插装Profiling技术的改进,实现了基于在线反馈信息的动态内联策略,该策略可以更加准确地判断虚方法的接收者对象类型,从而使应用程序的性能得到提升。本文提出的方法内联中的持续监控策略可以在程序运行时对同一调用点处的虚方法调用情况进行持续监控。如果虚方法的接收者对象类型发生变化,该策略可以准确地检测到这种变化并采取有效的解决方案,从而提高系统的整体性能。对已编译代码的动态卸载算法可以在运行时检测出系统中的冗余代码,同时对这些代码以及与其相关的资源进行释放,从而减轻系统的负载。通过运行SpecJVM98 和Java Grande Forum Benchmark(JGF)等一系列评测标准,动态内联策略可以使虚拟机的性能平均提升4.01%,内联优化中的持续监控算法则可以准确地检测到程序中的状态迁移并采取有效的应对策略,进而使系统的性能平均提升6.49%,同时动态卸载算法也可以在一定程度上减轻系统的运行时负载。