View Full Document

31



View the full content.
View Full Document
View Full Document

5 views

Unformatted text preview:

MPJava High Performance Message Passing in Java using Java nio William Pugh and Jaime Spacco University of Maryland College Park MD 20740 USA pugh jspacco cs umd edu Abstract We explore advances in Java Virtual Machine JVM technology along with new high performance I O libraries in Java 1 4 and find that Java is increasingly an attractive platform for scientific clusterbased message passing codes We report that these new technologies allow a pure Java implementation of a cluster communication library that performs competitively with standard C based MPI implementations 1 Introduction Previous efforts at Java based message passing frameworks have focused on making the functionality of the Message Passing Interface MPI 18 available in Java either through native code wrappers to existing MPI libraries mpiJava 3 JavaMPI 12 or pure Java implementations MPIJ 8 Previous work showed that both pure Java and Java native MPI hybrid approaches offered substantially worse performance than MPI applications written in C or Fortran with MPI bindings We have built Message Passing Java or MPJava a pure Java message passing framework We make extensive use of the java nio package introduced in Java 1 4 Currently our framework provides a subset of the functionality available in MPI MPJava does not use the Java Native Interface JNI The JNI while convenient and occasionally necessary violates type safety incurs a performance penalty due to additional data copies between the Java and C heaps and prevents the JVM s Just In Time JIT compiler from fully optimizing methods that make native calls MPJava offers promising results for the future of high performance message passing in pure Java On a cluster of Linux workstations MPJava provides performance that is competitive with LAM MPI 9 for the Java Grande Forum s Ping Pong and All toAll microbenchmarks Our framework also provides performance that is comparable to the Fortran LAM MPI implementation of a Conjugate Gradient benchmark taken from



Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view 31 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view 31 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?