Skip to main content
Log in

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

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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. Baker M, Carpenter B, Shafi A (2005) A pluggable architecture for high-performance Java messaging. IEEE Distrib Syst Online 6(10):1–4

    Article  Google Scholar 

  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

  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

  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

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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. Finis Terrae Supercomputer (2008) http://www.top500.org/system/9156 (Last visited: December 2008)

  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

  11. IBM: Asynchronous IO for Java (2008) http://www.alphaworks.ibm.com/tech/aio4j (Last visited: December 2008)

  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)

  13. Message Passing Interface Forum (2008) http://www.mpi-forum.org (Last visited: December 2008)

  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

  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

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  18. TOP500 Supercomputing Sites (2008) http://www.top500.org (Last visited: December 2008)

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Guillermo L. Taboada.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Taboada, G.L., Touriño, J. & Doallo, R. F-MPJ: scalable Java message-passing communications on parallel systems. J Supercomput 60, 117–140 (2012). https://doi.org/10.1007/s11227-009-0270-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-009-0270-0

Keywords

Navigation