next up previous
Next: mpiJava Up: Integration and Application of Previous: The TAU Performance

Performance Instrumentation for Parallel Java

 

Scientific applications written in Java are often implemented using a combination of languages such as Java, C++, C and Fortran. While this defies the pure-Java paradigm, it is often necessary since needed numerical, system, and communication libraries may not be available in Java, or compiled native versions can offer significant performance improvements [3]. Analyzing such hybrid multi-language programs requires an instrumentation strategy that leverages instrumentation alternatives and APIs at several levels of compilation, linking, and execution. To illustrate this point, we consider instrumentation mechanisms employed for profiling and tracing Java programs that communicate with each other using the Message Passing Interface (MPI) [4].