基于硬件cache锁机制的Java虚拟机即时编译器优化  被引量:3

JVM JIT Compiler Optimization Based on Cache Locking Mechanism

在线阅读下载全文

作  者:敖琪[1,2,3,4] 蔡嵩松[1,2,3,4] 王剑[1,2,3,4] 

机构地区:[1]中国科学院计算机系统结构重点实验室,北京100190 [2]中国科学院计算技术研究所,北京100190 [3]中国科学院研究生院,北京100049 [4]龙芯中科技术有限公司,北京100190

出  处:《计算机研究与发展》2012年第S1期185-190,共6页Journal of Computer Research and Development

基  金:国家"八六三"高技术研究发展计划基金项目(2008AA010901);国家自然科学基金项目(60736012;60921002;61070025);国家"九七三"重点基础研究发展计划基金项目(2005CB321600);"核高基"国家科技重大专项基金项目(2009ZX01028-002-003;2009ZX01029-001-003)

摘  要:Java虚拟机即时编译器以方法为单位进行编译,编译器将字节码方法编译成可执行代码,并经过数据cache存入内存中,当再次执行到该代码段时,处理器需要从包含该代码段的内存区域取指令执行,如果该内存区域在数据cache中已经建立映射,就可以直接从数据cache中读取数据,读数据的性能就会有大幅度的提高.但是编译生成的大量可执行代码在cache中频繁替换,当生成代码被替换出cache后,代码再次执行时处理器必须访问速度较慢的主存储器,成为编译器的性能瓶颈.设计并实现了硬件cache锁机制,提出了一种软硬件协同设计的即时编译方法.通过该方法,生成代码执行时的cache失效次数降低了6.9%,SPECjvm2008中程序最高获得了17.9%的性能提升,平均性能提升4.2%.Java虚拟机即时编译器以方法为单位进行编译,编译器将字节码方法编译成可执行代码,并经过数据cache存入内存中,当再次执行到该代码段时,处理器需要从包含该代码段的内存区域取指令执行,如果该内存区域在数据cache中已经建立映射,就可以直接从数据cache中读取数据,读数据的性能就会有大幅度的提高.但是编译生成的大量可执行代码在cache中频繁替换,当生成代码被替换出cache后,代码再次执行时处理器必须访问速度较慢的主存储器,成为编译器的性能瓶颈.设计并实现了硬件cache锁机制,提出了一种软硬件协同设计的即时编译方法.通过该方法,生成代码执行时的cache失效次数降低了6.9%,SPECjvm2008中程序最高获得了17.9%的性能提升,平均性能提升4.2%.

关 键 词:JAVA虚拟机 即时编译器 cache锁机制 

分 类 号:TP3[自动化与计算机技术—计算机科学与技术]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象