The Journal of Supercomputing

, Volume 60, Issue 1, pp 117–140 | Cite as

F-MPJ: scalable Java message-passing communications on parallel systems

  • Guillermo L. Taboada
  • Juan Touriño
  • Ramón Doallo
Article

Abstract

This paper presents F-MPJ (Fast MPJ), a scalable and efficient Message-Passing in Java (MPJ) communication middleware for parallel computing. The increasing interest in Java as the programming language of the multi-core era demands scalable performance on hybrid architectures (with both shared and distributed memory spaces). However, current Java communication middleware lacks efficient communication support. F-MPJ boosts this situation by: (1) providing efficient non-blocking communication, which allows communication overlapping and thus scalable performance; (2) taking advantage of shared memory systems and high-performance networks through the use of our high-performance Java sockets implementation (named JFS, Java Fast Sockets); (3) avoiding the use of communication buffers; and (4) optimizing MPJ collective primitives. Thus, F-MPJ significantly improves the scalability of current MPJ implementations. A performance evaluation on an InfiniBand multi-core cluster has shown that F-MPJ communication primitives outperform representative MPJ libraries up to 60 times. Furthermore, the use of F-MPJ in communication-intensive MPJ codes has increased their performance up to seven times.

Keywords

Message-Passing in Java (MPJ) Scalable parallel systems Communication middleware Scalable collective communication High-Performance Computing Performance evaluation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Baker M, Carpenter B, Fox G, Ko S, Lim S (1999) mpiJava: an object-oriented java: interface to MPI. In: 1st Intl workshop on Java for parallel and distributed computing (IWJPDC’99), San Juan, Puerto Rico, 1999, pp 748–762. http://www.hpjava.org/mpiJava.html (Last visited: December 2008)
  2. 2.
    Baker M, Carpenter B, Shafi A (2005) A pluggable architecture for high-performance Java messaging. IEEE Distrib Syst Online 6(10):1–4 CrossRefGoogle Scholar
  3. 3.
    Baker M, Carpenter B, Shafi A (2008) MPJ Express: towards thread safe Java HPC. In: Proc 8th IEEE intl conf on cluster computing (Cluster’06), Barcelona, Spain, 2006, pp 1–10 Google Scholar
  4. 4.
    Barchet-Estefanel LA, Mounie G (2004) Fast tuning of intra-cluster collective communications. In: Proc 11th European PVM/MPI users’ group meeting (EuroPVM/MPI’04), Budapest, Hungary, 2004, pp 28–35 Google Scholar
  5. 5.
    Bornemann M, van Nieuwpoort RV, Kielmann T (2005) MPJ/Ibis: a flexible and efficient message passing platform for Java. In: Proc 12th European PVM/MPI users’ group meeting (EuroPVM/MPI’05), Sorrento, Italy, 2005, pp 217–224 Google Scholar
  6. 6.
    Bull JM, Smith LA, Westhead MD, Henty DS, Davey RA (2000) A benchmark suite for high performance Java. Concurr Pract Exp 12(6):375–388 CrossRefGoogle Scholar
  7. 7.
    Chan E, Heimlich M, Purkayastha A, van de Geijn RA (2007) Collective communication: theory, practice, and experience. Concurr Comput Pract Exp 19(13):1749–1783 CrossRefGoogle Scholar
  8. 8.
    Dongarra JJ, Gannon D, Fox G, Kennedy K (2007) The impact of multicore on computational science software. CTWatch Q 3(1):1–10 Google Scholar
  9. 9.
    Finis Terrae Supercomputer (2008) http://www.top500.org/system/9156 (Last visited: December 2008)
  10. 10.
    Genaud S, Rattanapoka C (2005) A peer-to-peer framework for robust execution of message passing parallel programs. In: Proc 12th European PVM/MPI users’ group meeting (EuroPVM/MPI’05), Sorrento, Italy, 2005, pp 276–284 Google Scholar
  11. 11.
    IBM: Asynchronous IO for Java (2008) http://www.alphaworks.ibm.com/tech/aio4j (Last visited: December 2008)
  12. 12.
    Kaminsky A (2007) Parallel Java: a unified api for shared memory and cluster parallel programming in 100% Java. In: Proc 9th intl workshop on Java and components for parallelism, distribution and concurrency (IWJPDC’07), Long Beach, CA, 2007, p 196a (8 pages) Google Scholar
  13. 13.
    Message Passing Interface Forum (2008) http://www.mpi-forum.org (Last visited: December 2008)
  14. 14.
    Pugh B, Spacco J (2003) MPJava: high-performance message passing in Java using Java.nio. In: Proc 16th intl workshop on languages and compilers for parallel computing (LCPC’03), College Station, TX, 2003, pp 323–339 Google Scholar
  15. 15.
    Taboada GL, Touriño J, Doallo R (2003) Performance analysis of Java message-passing libraries on fast ethernet, myrinet and SCI clusters. In: Proc 5th IEEE intl conf on cluster computing (Cluster’03), Hong Kong, China, 2003, pp 118–126 Google Scholar
  16. 16.
    Taboada GL, Touriño J, Doallo R (2008) Java Fast Sockets: enabling high-speed Java communications on high-performance clusters. Comput Commun 31(17):4049–4059 CrossRefGoogle Scholar
  17. 17.
    Thakur R, Rabenseifner R, Gropp W (2005) Optimization of collective communication operations in MPICH. Int J High Perform Comput Appl 19(1):49–66 CrossRefGoogle Scholar
  18. 18.
    TOP500 Supercomputing Sites (2008) http://www.top500.org (Last visited: December 2008)
  19. 19.
    Vadhiyar SS, Fagg GE, Dongarra JJ (2004) Towards an accurate model for collective communications. Int J High Perform Comput Appl 18(1):159–167 CrossRefGoogle Scholar
  20. 20.
    van Nieuwpoort RV, Maassen J, Wrzesinska G, Hofman R, Jacobs C, Kielmann T, Bal HE (2005) Ibis: a flexible and efficient Java-based grid programming environment. Concurr Comput Pract Exp 17(7–8):1079–1107 CrossRefGoogle Scholar
  21. 21.
    Zhang BY, Yang GW, Zheng WM (2006) Jcluster: an efficient Java parallel environment on a large-scale heterogeneous cluster. Concurr Comput Pract Exp 18(12):1541–1557 CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  • Guillermo L. Taboada
    • 1
  • Juan Touriño
    • 1
  • Ramón Doallo
    • 1
  1. 1.Computer Architecture Group, Dept. of Electronics and SystemsUniversity of A CoruñaA CoruñaSpain

Personalised recommendations