JaMP: An Implementation of OpenMP for a Java DSM
M. Klemm, M. Bezold, R. Veldema and M. Phipippsen
University of Erlangen-Nuremberg, Erlangen, Germany
In this paper we present JaMP, an adaptation of the OpenMP
standard for the Java programming language.
JaMP is fitted to Jackal, a Software Distributed Memory implementation
Unlike other implementations of OpenMP for Java we did not implement
a preprocessor but rather a special compiler pass to enable
potential compiler based optimizations and analysises.
While the set of supported directives is directly adopted from the
OpenMP standard, we also satisfy all requirements that are enforced
by the Java Language Specification and the Java Memory Model. However,
our implementation does not contain the full set of support functions
defined in the OpenMP standard.
We evaluated the performance of the JaMP compiler in a series of
benchmarks consisting of various small micro--benchmarks and the Java
Grande Benchmarks. Both benchmark series show that the performance
achieved by the JaMP parallel version is on par with their
explicitly threaded equivalents.