Title :
Understanding and comparing the performance of optimized JVMs
Author :
Nicolaescu, Dan ; Veidenbaum, Alex
Author_Institution :
Dept. of Comput. Sci., California Univ., Irvine, CA, USA
Abstract :
Java virtual machines have different performance characteristics depending on their interpretation and just in time compilation strategies. These characteristics are even more complex when running on a modern out-of-order superscalar processor. This paper analyzes the behavior of the SPECjvm98 benchmarks on IBM´s JikesRVM Java virtual machine executing on the IBM Power4 processor. Execution time parameters such as the number of instructions and cycles, the behavior of instruction and data caches, and the branching characteristics obtained from hardware performance counters are used to explain performance differences between interpreted, JIT compiled and dynamically optimized JVMs. Our goal is to understand benchmark and processor behavior with different JIT optimization options and strategies and to use this knowledge in design of future JVMs. The results show that the reduction in the number of executed instructions due to compiler optimizations is the main reason for improved performance. An increase in instruction level parallelism in compiled code provides further improvement. The increased ILP is in large part due to elimination of dependences in the optimized code.
Keywords :
Java; parallel programming; program compilers; software performance evaluation; virtual machines; IBM JikesRVM Java virtual machine; IBM Power4 processor; JIT optimization; SPECjvm98 benchmark; instruction level parallelism; just in time compilation; optimized JVM; out-of-order superscalar processor; Computer science; Counting circuits; Design optimization; Hardware; Java; Optimizing compilers; Parallel processing; Program processors; Runtime; Virtual machining;
Conference_Titel :
Innovative Architecture for Future Generation High-Performance Processors and Systems, 2005
Print_ISBN :
0-7695-2483-4
DOI :
10.1109/IWIA.2005.44