Skip to main content
Log in

Towards Scalable Java HPC with Hybrid and Native Communication Devices in MPJ Express

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

MPJ Express is a messaging system that allows application developers to parallelize their compute-intensive sequential Java codes on High Performance Computing clusters and multicore processors. In this paper, we extend MPJ Express software to provide two new communication devices. The first device—called hybrid—enables MPJ Express to exploit hybrid parallelism on cluster of multicore processors by sitting on top of existing shared memory and network communication devices. The second device—called native—uses JNI wrappers in interfacing MPJ Express to native MPI implementations like MPICH and Open MPI. We evaluate performance of these devices on a range of interconnects including 1G/10G Ethernet, 10G Myrinet and 40G InfiniBand. In addition, we analyze and evaluate the cost of MPJ Express buffering layer and compare it with the performance numbers of other Java MPI libraries. Our performance evaluation reveals that the native device allows MPJ Express to achieve comparable performance to native MPI libraries—for latency and bandwidth of point-to-point and collective communications—which is a significant gain in performance compared to existing communication devices. The hybrid communication device—without any modifications at application level—also helps parallel applications achieve better speedups and scalability by exploiting multicore architecture. Our performance evaluation quantifies the cost incurred by buffering and its impact on overall performance of software. We witnessed comparative performance as both new devices improve application performance and achieve upto 90 % of the theoretical bandwidth available without application rewriting effort—including NAS Parallel Benchmarks, point-to-point and collective communication.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

  1. Message Passing Interface Specifications. http://www.mpi-forum.org/docs/docs.html (2014a). Accessed 27 Nov 2014

  2. MPICH. http://www.mpich.org/ (2014b). Accessed 27 Nov 2014

  3. Myricom. http://www.myri.com/ (2014). Accessed 27 Nov 2014

  4. Open MPI. http://www.open-mpi.org/ (2014). Accessed 27 Nov 2014

  5. Baker, M., Carpenter, B., Fox, G., Hoon Ko, S., Lim, S.: mpiJava: an object-oriented java interface to MPI. In: Parallel and Distributed Processing, Lecture Notes in Computer Science, vol 1586, Springer, Berlin Heidelberg, pp. 748–762 (1999). doi:10.1007/BFb0097964

  6. Baker, M., Carpenter, B., Shafi, A.: MPJ express: towards thread safe Java HPC. In: IEEE International Conference on Cluster Computing (Cluster 2006), IEEE, pp. 1–10 (2006). doi:10.1109/CLUSTR.2006.311890

  7. Blount, B., Chatterjee, S.: An evaluation of java for numerical computing. In: Proceedings of Second International Symposium on Computing in Object-Oriented Parallel Environments (ISCOPE’98), Springer, pp. 35–46 (1998)

  8. Bornemann, M., Nieuwpoort, R.V., Kielmann, T.: MPJ/Ibis: a flexible and efficient message passing platform for Java. In: Recent Advances in Parallel Virtual Machine and Message Passing Interface, Lecture Notes in Computer Science, vol 3666, Springer, pp. 217–224 (2005). doi:10.1007/11557265_30

  9. Bull, J.M., Kambites, M.E.: Jomp—an openmp-like interface for java. In: Proceedings of the ACM 2000 Conference on Java Grande, ACM, New York, NY, USA, JAVA ’00, pp. 44–53 (2000). doi:10.1145/337449.337466

  10. Carpenter, B., Fox, G., Ko, S.H., Lim, S.: mpiJava 1.2: API specification. Tech. rep., Northeast Parallel Architectures Center, Syracuse University (1999). http://www.hpjava.org/reports/mpiJava-spec/mpiJava-spec/mpiJava-spec.html

  11. Friedley, A., Bronevetsky, G., Hoefler, T., Lumsdaine, A.: Hybrid MPI: efficient message passing for multi-core systems. In: Proceedings of SC13: International Conference for High Performance Computing, Networking, Storage and Analysis, ACM, SC ’13, pp. 18:1–18:11 (2013). doi:10.1145/2503210.2503294

  12. Gordon, R.: Essential JNI: Java Native Interface. Prentice Hall PTR, Upper Saddle River, NJ (1998). 07458

    Google Scholar 

  13. Hitchens, R.: Java NIO. O’Reilly & Associates, Sebastopol (2002)

    Google Scholar 

  14. Knuth, D.: The Art of Computer Programming: Fundamental Algorithms. Addison Wesley, Reading (1973)

    MATH  Google Scholar 

  15. Mackey, G., Sehrish, S., Bent, J., Lopez, J., Habib, S., Wang, J.: Introducing map-reduce to high end computing. In: Petascale Data Storage Workshop, 2008. PDSW ’08. 3rd, pp. 1–6 (2008). doi:10.1109/PDSW.2008.4811889

  16. Mallón, D.A., Taboada, G.L., Touriño, J., Doallo, R.: NPB-MPJ: NAS parallel benchmarks implementation for message-passing in Java. In: 17th Euromicro International Conference on Parallel, Distributed and Network-based Processing, IEEE, pp. 181–190 (2009). doi:10.1109/PDP.2009.59

  17. Qamar, B., Javed, A., Jameel, M., Shafi, A., Carpenter, B.: Design and implementation of hybrid and native communication devices for Java HPC. Procedia Comput. Sci. 29(0):184–197 (2014). doi:10.1016/j.procs.2014.05.017, http://www.sciencedirect.com/science/article/pii/S187705091400194X. In: International Conference on Computational Science (2014)

  18. Ramos, S., Taboada, G.L., Touriño, J., Doallo, R.: Scalable Java Communication Middleware for Hybrid Shared/Distributed Memory Architectures. In: IEEE 13th International Conference on High Performance Computing and Communications (HPCC), IEEE, pp. 221–228 (2011). doi:10.1109/HPCC.2011.37

  19. Shafi, A., Carpenter, B., Baker, M.: Nested parallelism for multi-core HPC systems using Java. J. Parallel Distrib. Comput. 69(6), 532–545 (2009). doi:10.1016/j.jpdc.2009.02.006

    Article  Google Scholar 

  20. Shafi, A., Carpenter, B., Baker, M., Hussain, A.: A comparative study of java and c performance in two large-scale parallel applications. Concurr. Comput. Pract. Exp. 21(15), 1882–1906 (2009b). doi:10.1002/cpe.v21:15

    Article  Google Scholar 

  21. Shafi, A., Manzoor, J., Hameed, K., Carpenter, B., Baker, M.: Multicore-enabling the MPJ express messaging library. In: Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java, ACM, PPPJ ’10, pp. 49–58 (2010). doi:10.1145/1852761.1852769

  22. Suganuma, T., Ogasawara, T., Takeuchi, M., Yasue, T., Kawahito, M., Ishizaki, K., Komatsu, H., Nakatani, T.: Overview of the ibm java just-in-time compiler. IBM Syst. J. 39(1), 175–193 (2000). doi:10.1147/sj.391.0175

    Article  Google Scholar 

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

    Article  Google Scholar 

  24. Taboada, G.L., Ramos, S., Expósito, R.R., Touriño, J., Doallo, R.: Java in the high performance computing arena: research practice and experience. Sci. Comput. Program 78(5), 425–444 (2013). doi:10.1016/j.scico.2011.06.002

    Article  Google Scholar 

  25. Vega-Gisbert, O., Roman, J.E., Groß, S., Squyres, J.M.: Towards the availability of Java bindings in open MPI. In: Proceedings of the 20th European MPI Users’ Group Meeting, ACM, EuroMPI ’13, pp. 141–142 (2013). doi:10.1145/2488551.2488599

  26. Welsh, M., Culler, D.: Jaguar: enabling efficient communication and I/O in Java. Concurr. Pract. Exp. 12(7), 519–538 (2000)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ansar Javed.

Additional information

This paper is an extended version of [17]. The main contributions of the extended version include optimization and comprehensive performance evaluation/analysis on various interconnects using a variety of benchmarks and applications.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Javed, A., Qamar, B., Jameel, M. et al. Towards Scalable Java HPC with Hybrid and Native Communication Devices in MPJ Express. Int J Parallel Prog 44, 1142–1172 (2016). https://doi.org/10.1007/s10766-015-0375-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-015-0375-4

Keywords

Navigation