mpiJava: An object-oriented java interface to MPI

  • Mark Baker
  • Bryan Carpenter
  • Geoffrey Fox
  • Sung Hoon Ko
  • Sang Lim
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1586)

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.

References

  1. 1.
    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.Google Scholar
  2. 2.
    G.C. Fox, editor, Java for Computational Science and Engineering—Simulation and Modelling II, volume 9(11) of Concurrency: Practice and Experience, November 1997.Google Scholar
  3. 3.
    G.C. Fox, editor, ACM 1998 Workshop on Java for High-Performance Network Computing, Palo Alto, February 1998, Concurrency: Practice and Experience, 1998.Google Scholar
  4. 4.
    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.Google Scholar
  5. 5.
    Java Grande Forum—http://www.javagrande.org/Google Scholar
  6. 6.
    Message Passing Interface Forum. MPI: A Message-Passing Interface Standard, University of Tennessee, Knoxville, TN, June 1995. http://www.mcs.anl.gov/mpiGoogle Scholar
  7. 7.
    G.C. Fox, editor, Java for Computational Science and Engineering—Simulation and Modelling, volume 9(6) of Concurrency: Practice and Experience, June 1997.Google Scholar
  8. 8.
    R. Gordon, Essential JNI: Java Native Interface, Prentice Hall, 1998.Google Scholar
  9. 9.
    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.CrossRefGoogle Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    DOGMA—http://zodiac.cs.byu.edu/DOGMA/Google Scholar
  13. 13.
    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.Google Scholar
  14. 14.
    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.Google Scholar
  15. 15.
    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/Google Scholar
  16. 16.
    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/publicationsGoogle Scholar
  17. 17.
    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.Google Scholar
  18. 18.
    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/mpiJavaGoogle Scholar
  19. 19.
    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.Google Scholar
  20. 20.
    WMPI—http://dsg.dei.uc.pt/w32mpi/Google Scholar
  21. 21.
    R. Butler and E. Lusk, Monitors, messages, and clusters: The p4 parallel programming system, Parallel Computing, 20:547–564, April 1994.Google Scholar
  22. 22.
    IBM Test Suite—ftp://info.mcs.anl.gov/pub/mpi/mpi-test/ibmtsuite.tarGoogle Scholar
  23. 23.
    PingPong Benchamarks—http://www.dcs.port.ac.uk/~mab/TOPIC/Google Scholar
  24. 24.
    LinPack http://performance.netlib.org/performance/html/linpack.data.co10.htmlGoogle Scholar
  25. 25.
    Java LinPack—http://www.netlib.org/benchmark/linpackjava/Google Scholar

Copyright information

© Springer-Verlag 1999

Authors and Affiliations

  • Mark Baker
    • 1
  • Bryan Carpenter
    • 2
  • Geoffrey Fox
    • 2
  • Sung Hoon Ko
    • 2
  • Sang Lim
    • 2
  1. 1.School of Computer ScienceUniversity of PortsmouthSouthseaUK
  2. 2.NPAC at Syracuse UniversitySyracuseUSA

Personalised recommendations