Base for Metacomputing Systems that Can Execute Parallel Java Bytecode Efficiently
 
Eric Gamess

Universidad Central de Venezuela, Escuela de Computaci_on,
Caracas, Venezuela, 1040
egamess@kuaimare.ciens.ucv.ve
 
Abstract
 
There is a growing interest in using Java as a language for high performance computing, since it is platform independent, object oriented and safe. The technology of the JVM has improved significantly with the release of JIT compilers. However, the performance of a Java application is still inferior to the performance shown by similar applications written in more traditional languages. An alternative to obtain better performance consists in compiling the byte code into native code in such a way a JVM is not necessary. In this paper, we compare the said alternative to the use of a JVM for execution of parallel Java applications. We also describe mpiCNI, a Java interface to MPI, a famous message passing library. Our experiments shown that mpiCNI can improve significantly the performance of a parallel Java application and can be used as the base of metacomputing systems that can execute parallel Java bytecode efficiently.
 
Keywords: High performance computing, Java, MPI, Metacomputers, Java Native Interface, Code reuse.