A VM Infrastructure for Understanding the Hardware Performance of Java Applications

Modern Java programs such as middleware and application servers include many complex software components. Improving the performance of these Java applications requires a better understanding of the interactions between the application, virtual machine, operating system, and architecture. Hardware performance monitors, which are available on most modern processors, provide facilities to obtain detailed performance measurements of long-running applications in real time. In this paper we describe the design and implementation of extensions to a virtual machine to access hardware performance monitors. The goal of the extended virtual machine is to enable a low overhead mechanism to collect threadspecifc, fine-grained temporal hardware performance information on a multiprocessor. We extend Jikes RVM, an open source research virtual machine for executing Java programs, to Periodically collect performance monitor information. We correlate the performance data to each of the application and VM threads and demonstrate the utility of the VM extensions by measuring the memory performance of SPECjbb2000 on a Power4 multiprocessor. We measure the load latency of each thread, separating the application threads from the VM threads, report the processor on which they execute, and show how the load latency varies over time for one application thread. We also discuss future extensions
to this infrastructure.

By: Peter F. Sweeney, Brendon Cahoon, Perry Cheng, David P. Grove, Michael J. Hind

Published in: RC22794 in 2003

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

RC22794.pdf

Questions about this service can be mailed to reports@us.ibm.com .