[发明专利]即时编译系统自适应调优方法无效
申请号: | 201310079129.1 | 申请日: | 2013-03-12 |
公开(公告)号: | CN103136029A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 张海军;唐大国;郑磊;李茜;叶俊 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 龚燮英 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 即时 编译 系统 自适应 方法 | ||
技术领域
本发明涉及计算机技术领域,更具体地说,本发明涉及一种即时编译系统自适应调优方法。
背景技术
在Java编程语言和环境中,即时编译(即时编译compiler,just-in-time compiler)系统是一个把Java的字节码(包括需要被解释的指令的程序)转换成可以直接发送给处理器的指令的程序。当写好一个Java程序后,源语言的语句将由Java编译器编译成字节码,而不是编译成与某个特定的处理器硬件平台对应的指令代码(比如,Intel的Pentium微处理器或IBM的System/390处理器)。字节码是可以发送给任何平台并且能在那个平台上运行的独立于平台的代码。
即时编译优化系统一般都有动态运行时环境支持,如Java程序运行在Java虚拟机环境。和传统的静态编译的程序相比,即时编译优化都是发生在程序运行时,能够得到程序的复杂运行轨迹和全局运行时信息,这些信息给即时编译系统的编译优化带来了更多机会。
动态特性的程序具有静态编译没有的运行时信息,利用编译和优化都发生在程序运行时的特性,采用较为复杂的指导程序进行何种优化的全局自适应运行时优化技术,收集动态编译信息与性能监测信息,获得更好的执行效率,更高的性能。
但是,现有的即时编译系统普遍存在着如下缺陷:一方面,即时编译依赖的信息都是在程序运行时监测收集,但当程序执行完成后这些信息将直接被丢弃,下一次程序再执行的时候即时编译要再重新监测收集运行时优化需要的信息,以前收集的运行时信息不能够得到有效地利用,浪费了已有信息改进提高程序性能的机会。由于即时编译本地代码需要占用程序运行时间,要编译出优化程度更高的代码,所花费的时间可能更长;而且想要编译出优化程度更高的代码,解释器需要帮助编译器监控收集运行时信息,这对解释执行的速度也有影响。
另一方面,即时编译系统都会提供相当多的优化特性和参数调节手段。这些选项在不同平台上对性能的影响效果也不同,许多用户面对如此多的可选参数往往都会无所适从,普通用户使用的优化选项通常在3个以内,高级用户使用的优化选项通常在5个以内,极少能用到8个以上,很少用户愿意尝试不同的优化选项,更细粒度的优化控制几乎不可能。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种结合运行时动态收集信息和静态离线信息的自适应调优方法,以便进一步提高即时编译系统运行的性能的即时编译系统自适应调优方法。
根据本发明,提供了一种即时编译系统自适应调优方法,其包括:提供一个跨应用程序多次使用的资源库,其中资源库中的信息,针对每个运行实例是分开的,由此每个运行实例在资源库中的信息互不影响;离线、静态地分析资源库中收集到的未处理运行时信息以形成预计算的在线运行策略;通过运行时优化策略读取从资源库中读取计算出来的预计算的在线运行策略,并根据预计算的在线运行策略确定即时编译系统的优化方法;根据确定的优化方法,结合原有自适应优化系统在线地运行应用程序。
优选地,所述即时编译系统自适应调优方法还包括:判断当前运行实例是否需要在线收集即时编译过程的相关信息,并且,即时编译系统通过运行时信息输出向资源库中写入未处理运行时信息。
优选地,所述即时编译系统自适应调优方法还包括:判断当前运行实例是否需要在线收集即时编译过程的相关信息,并且,即时编译系统从资源库中读取跨应用程序运行的运行时信息。
优选地,所述即时编译系统自适应调优方法还包括:定期地对资源库中的信息进行清理。
优选地,预计算在线运行时策略包括:采取哪些优化选项,什么时候编译某个热方法,明确地内联或者禁止内联特定方法。
优选地,所述即时编译系统自适应调优方法用于Java虚拟机的热点方法。
优选地,即时编译过程的相关信息包括:方法执行的次数、何时加入到编译队列、方法编译需要的开销、优化执行获得的收益、virtual方法调用的具体目标。
本发明公开的动静结合的即时编译系统自适应调优方法中,充分利用离线收集的信息,自动分析程序运行的性能瓶颈,降低了一些热点方法运行时动态信息收集的开销,提前对这些方法进行高性能的优化,解决了现有即时编译系统运行时过程中收集的性能信息数据的浪费问题,达到了进一步改进优化应用程序效率的效果。
附图说明
结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
图1示意性地示出了根据本发明优选实施例的即时编译系统自适应调优方法的配置示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310079129.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种烟道闸板
- 下一篇:一种应用程序的可靠卸载方法、装置及移动装置