Abstract
A basic prerequisite for parallel programming is a good communication API. The recent interest in using Java for scientific and engineering application has led to several international efforts to produce a message passing interface to support parallel computation. In this paper we describe and then discuss the syntax, functionality and performance of one such interface, mpiJava, an object-oriented Java interface to MPI. We first discuss the design of the mpiJava API and the issues associated with its development. We then more on to briefly outline the steps necessary to ‘port’ mpiJava onto a range of operating systems, including Windows NT, Linux and Solaris. In the second part of the paper we present and then discuss some performance measurements made of communications bandwidth and latency to compare mpiJava on these systems. Finally, we summarise our experiences and then briefly mention work that we plan to undertake.
Preview
Unable to display preview. Download preview PDF.
References
Parallel Compiler Runtime Consortium, HPCC and Java—a report by the Parallel Compiler Runtime Consortium, http://www.npac.syr.edu/users/gcf/hpjava3.html, May 1996.
G.C. Fox, editor, Java for Computational Science and Engineering—Simulation and Modelling II, volume 9(11) of Concurrency: Practice and Experience, November 1997.
G.C. Fox, editor, ACM 1998 Workshop on Java for High-Performance Network Computing, Palo Alto, February 1998, Concurrency: Practice and Experience, 1998.
V. Getov, S. Flynn-Hummel, and S. Mintchev. High-Performance parallel programming in Java: Exploiting native libraries, IN ACM 1998 Workshop on Java for High-Performance Network Computing. Palo Alto, February 1998, Concurrency: Practice and Experience, 1998. To appear.
Java Grande Forum—http://www.javagrande.org/
Message Passing Interface Forum. MPI: A Message-Passing Interface Standard, University of Tennessee, Knoxville, TN, June 1995. http://www.mcs.anl.gov/mpi
G.C. Fox, editor, Java for Computational Science and Engineering—Simulation and Modelling, volume 9(6) of Concurrency: Practice and Experience, June 1997.
R. Gordon, Essential JNI: Java Native Interface, Prentice Hall, 1998.
D.B. Carpenter, Y. Chang, G.C. Fox, D. Leskiw, and X. Li, Experiments with HP-Java Concurrency: Practice and Experience, 9(6):633, 1997.
D.B. Carpenter, Y. Chang, G.C. Fox, and X. Li, Java as a language for scientific parallel programming, In 10th International Workshop on Languages and Compilers for Parallel Computing, volume 1366 of LNCS, pages 340–354, 1997.
S. Mintchev and V. Getov, Towards portable message passing in Java: Binding MPI, Recent Advances in MPI and PVM, Editors, M. Bubak, J. Dongarra and J. Wasniewski, volume 1332 of LNCS pages 135–142, Springer Verlag, 1997.
DOGMA—http://zodiac.cs.byu.edu/DOGMA/
K. Dincer and K. Ozbas, jmpi and a Performance Instrumentation Analysis and Visualization Tool for jmpi, 1st UK Workshop on Java for High Performance Network Computing, Southampton, UK, September 1998.
A.J. Ferrari, JPVM: Network parallel computing in Java, In ACM 1998 Workshop on Java for High-Performance Network Computing. Palo Alto, February 1998, Concurrency: Practice and Experience, 1998. To appear.
P. Martin, L.M. Silva and J.G. Silva, A Java Interface to MPI, Proceeding of the 5th European PVM/MPI User’s Group Meeting, Liverpool UK, September 1998 WMPI—http://dsg.dei.uc.pt/w32mpi/
G. Crawford III, Y. Dandass, and A. Skjellum, The JMPI commercial message passing environment and specification: Requirements, design, motivations, strategies, and target users, http://www.mpi-softtech.com/publications
N. Yalamanchilli and W. Cohen, Communication performance of Java based parallel virtual machines, In ACM 1998 Workshop on Java for High-Performance Network Computing. Palo Alto, February 1998, Concurrency: Practice and Experience, 1998. To appear.
B. Carpenter, V. Getov, G. Judd, T. Skjellum and G. Fox, MPI for Java—Position Document and Draft API Specification, November 1998—http://www.npac.syr.edu/projects/pcrc/mpiJava
M.A. Baker and G.C. Fox, MPI on NT: A Preliminary Evaluation of the Available Environments, 12th IPPS & 9th SPDP, LNCS, Jose Rolim (Ed.), Parallel and Distributed Computing, Springer Verlag, Heidelberg, Germany. ISBN 3-540 64359-1, April 1998.
WMPI—http://dsg.dei.uc.pt/w32mpi/
R. Butler and E. Lusk, Monitors, messages, and clusters: The p4 parallel programming system, Parallel Computing, 20:547–564, April 1994.
IBM Test Suite—ftp://info.mcs.anl.gov/pub/mpi/mpi-test/ibmtsuite.tar
PingPong Benchamarks—http://www.dcs.port.ac.uk/~mab/TOPIC/
LinPack http://performance.netlib.org/performance/html/linpack.data.co10.html
Java LinPack—http://www.netlib.org/benchmark/linpackjava/
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1999 Springer-Verlag
About this paper
Cite this paper
Baker, M., Carpenter, B., Fox, G., Hoon Ko, S., Lim, S. (1999). mpiJava: An object-oriented java interface to MPI. In: Rolim, J., et al. Parallel and Distributed Processing. IPPS 1999. Lecture Notes in Computer Science, vol 1586. Springer, Berlin, Heidelberg . https://doi.org/10.1007/BFb0097964
Download citation
DOI: https://doi.org/10.1007/BFb0097964
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65831-3
Online ISBN: 978-3-540-48932-0
eBook Packages: Springer Book Archive