DocumentCode :
3305579
Title :
A Practical Approach to Hardware Performance Monitoring Based Dynamic Optimizations in a Production JVM
Author :
Cuthbertson, J. ; Viswanathan, Sangeetha ; Bobrovsky, K. ; Astapchuk, A. ; Kaczmarek, E. ; Srinivasan, Uma
Author_Institution :
Managed Runtime Technol. Center, Intel Corp., Santa Clara, CA
fYear :
2009
fDate :
22-25 March 2009
Firstpage :
190
Lastpage :
199
Abstract :
While the concept of online profile directed dynamic optimizations using hardware performance monitoring unit (PMU) data is not new, it has seen fairly limited or no use in commercial JVMs. The main reason behind this fact is the set of significant challenges involved in (1) obtaining low overhead and usable profiling support from the underlying platform (2) the complexity of filtering, interpreting and using precise PMU events online in a JVM environment (3) demonstrating the total runtime benefit of PMU data based optimizations above and beyond regular online profile based optimizations. In this paper we address all three challenges by presenting a practical framework for PMU data collection and use within a high performance product JVM on a highly scalable server platform. Our experiments with JavaTM workloads using the SunTM HotspotTM JDK 1.6 JVM on the Intelreg Itaniumreg platform indicate that the hardware data collection overhead (less than 0.5%) is not as significant as the challenge of extracting the precise information for optimization purposes. We demonstrate the feasibility of mapping the instruction IP address based hardware event information to the runtime components as well as the JIT server compiler internal data structures for use in optimizations within a dynamic environment. We also evaluated the additional performance potential of optimizations such as object co-location during garbage collection and global instruction scheduling in the JIT compiler with the use of PMU generated load latency information. Experimental results show performance improvements of up to 14% with an average of 2.2% across select Java server benchmarks such as SPECjbb2005, SPECjvm2008 and Dacapo. These benefits were observed over and above those provided by profile guided server JVM optimizations in the absence of hardware PMU data.
Keywords :
Java; data acquisition; data structures; performance evaluation; program compilers; storage management; Hotspot; Intel; Itanium; JIT server compiler; Java; Sun; data collection; dynamic optimizations; garbage collection; global instruction scheduling; hardware event information; hardware performance monitoring; instruction IP address; internal data structures; object co-location; online profile based optimizations; production JVM; total runtime benefit; Data mining; Data structures; Filtering; Hardware; Java; Monitoring; Optimizing compilers; Phasor measurement units; Production; Runtime environment; Hardware Performance Monitoring; Java; Optimization;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Code Generation and Optimization, 2009. CGO 2009. International Symposium on
Conference_Location :
Seattle, WA
Print_ISBN :
978-0-7695-3576-0
Type :
conf
DOI :
10.1109/CGO.2009.13
Filename :
4907663
Link To Document :
بازگشت