Supported by the Beijing Natural Science Foundation of China under Grant No.4023012 (北京市自然科学基金); the Intel China Research Center (Intel中国研究中心)
Dynamic Inlining Based on Continuous Monitoring
Author:
Affiliation:
Fund Project:
摘要
|
图/表
|
访问统计
|
参考文献
|
相似文献
|
引证文献
|
资源附件
|
文章评论
摘要:
动态编译技术是非常有效的一项优化技术,但是,当前的信息采集与持续监控技术面临运行开销过大、信息精度不够以及代码过渡膨胀等问题.以Intel ORP(open runtime platform)作为基础平台,设计了基于在线反馈与持续监控的动态编译系统;根据当前信息采集技术存在的一些问题改进了代码插装机制;实现了对虚方法接收者对象的类型持续监控;编译系统根据在线采集和持续监控所获得的信息指导内联优化;针对持续监控过程中产生大量无用代码的问题,提出了已编译代码动态卸载方法.SpecJVM98和Java Grande Forum Benchmark等测试基准的运行结果表明,被测程序的平均性能得到了提高.同时,代码动态卸载算法也有效地减轻了系统的运行时负载.
Abstract:
Dynamic compilation is an effective optimization,but the overhead is too heavy,the accuracy of information is not enough,and the redundant code is growing rapidly in the current information collection and continuous monitoring. In this paper,the dynamic compiler is designed based on online feedback and continuous monitoring in Intel ORP (open runtime platform). To solve these problems in information collection,the program instrumentation technique is improved. The continuous monitoring for the type of virtual method’s receiver object is implemented. Based on the information from online feedback and continuous monitor,the dynamic inlining optimization is invoked by the compiler. The dynamic unloading algorithm that releases the redundant code in the dynamic optimization is introduced. The results of SpecJVM98 and Java Grande Forum Benchmark show that the performance of JVM is improved on average and the system load is reduced by the dynamic unloading algorithm.