Design of scalable Java message-passing communications over InfiniBand
This paper presents ibvdev a scalable and efficient low-level Java message-passing communication device over InfiniBand. The continuous increase in the number of cores per processor underscores the need for efficient communication support for parallel solutions. Moreover, current system deployments are aggregating a significant number of cores through advanced network technologies, such as InfiniBand, increasing the complexity of communication protocols, especially when dealing with hybrid shared/distributed memory architectures such as clusters. Here, Java represents an attractive choice for the development of communication middleware for these systems, as it provides built-in networking and multithreading support. As the gap between Java and compiled languages performance has been narrowing for the last years, Java is an emerging option for High Performance Computing (HPC).
The developed communication middleware ibvdev increases Java applications performance on clusters of multicore processors interconnected via InfiniBand through: (1) providing Java with direct access to InfiniBand using InfiniBand Verbs API, somewhat restricted so far to MPI libraries; (2) implementing an efficient and scalable communication protocol which obtains start-up latencies and bandwidths similar to MPI performance results; and (3) allowing its integration in any Java parallel and distributed application. In fact, it has been successfully integrated in the Java messaging library MPJ Express.
The experimental evaluation of this middleware on an InfiniBand cluster of multicore processors has shown significant point-to-point performance benefits, up to 85% start-up latency reduction and twice the bandwidth compared to previous Java middleware on InfiniBand. Additionally, the impact of ibvdev on message-passing collective operations is significant, achieving up to one order of magnitude performance increases compared to previous Java solutions, especially when combined with multithreading. Finally, the efficiency of this middleware, which is even competitive with MPI in terms of performance, increments the scalability of communications intensive Java HPC applications.
KeywordsMessage-Passing in Java (MPJ) InfiniBand Multicore architectures High performance computing Remote Direct Memory Access (RDMA) Performance evaluation
Unable to display preview. Download preview PDF.
- 2.Blount B, Chatterjee S (1999) An evaluation of Java for numerical computing. Sci Program 7(2):97–110 Google Scholar
- 4.InfiniBand Trade Association (2004) Infiniband architecture specification volume 1, release 1.2.1. http://www.infinibandta.org/ [Last visited: April 2011]
- 6.IETF Draft. IP over IB. http://www.ietf.org/old/2009/ids.by.wg/ipoib.html [Last visited: April 2011]
- 7.Hongwei Z, Wan H, Jizhong H, Jin H, Lisheng Z (2007) A performance study of Java communication stacks over InfiniBand and Gigabit Ethernet. In: Proc 4th IFIP intl conf network and parallel computing (NPC’07), Dalian, China, pp 602–607 Google Scholar
- 11.Wan H, Hongwei Z, Jin H, Jizhong H, Lisheng Z (2007) Jdib: Java applications interface to unshackle the communication capabilities of InfiniBand networks. In: Proc 4th IFIP intl conf network and parallel computing (NPC’07), Dalian, China, pp 596–601 Google Scholar
- 12.Wan H, Jizhong H, Jin H, Lisheng Z, Yao L (2008) Enabling RDMA capability of InfiniBand network for Java applications. In: Proc 4th IFIP intl conf on networking, architecture, and storage (NAS’08), Chongqing, China, pp 187–188 Google Scholar
- 13.Yao L, Jizhong H, Jinjun G, Xubin H (2009) uStream: a user-level stream protocol over InfiniBand. In: Proc 15th intl conf on parallel and distributed systems (ICPADS’09), Shenzhen, China, pp 65–71 Google Scholar
- 15.Compaq, Intel and Microsoft Corporations (1997) The Virtual Interface Architecture specification, version 1.0 Google Scholar
- 16.OpenFabrics Alliance Website. http://www.openfabrics.org/ [Last visited: April 2011]
- 17.Carpenter B, Fox G, Ko S-H, Lim S mpiJava 1.2: API specification. http://www.hpjava.org/reports/mpiJava-spec/mpiJava-spec/mpiJava-spec.html [Last visited: April 2011]
- 18.The mpiJava project. http://www.hpjava.org/mpiJava.html [Last visited: April 2011]
- 19.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, pp 217–224 Google Scholar
- 21.Java Grande Forum. http//www.javagrande.org [Last visited: April 2011]
- 23.MX User’s Guide. http://www.myri.com/scs/MX/doc/mx.pdf [Last visited: April 2011]
- 24.Open Source High Performance MPI Library. http://www.open-mpi.org/ [Last visited: April 2011]
- 25.MPI over InfiniBand, 10GigE/iWARP and RDMAoE. http://mvapich.cse.ohio-state.edu/ [Last visited: April 2011]
- 26.Tezuka H, O’Carroll F, Hori A, Ishikaw Y (1998) Pin-down cache: a virtual memory management technique for zero-copy communication. In: Proc 12th intl parallel processing symposium/9th symposium on parallel and distributed processing (IPPS/SPDP’98), Orlando, FL, USA, pp 308–314 Google Scholar
- 27.Baker M, Carpenter B, Shafi A (2007) A buffering layer to support derived types and proprietary networks for Java HPC. Scalable Comput Pract Experience 8(4):343–358 Google Scholar
- 29.MPJ Express Website. http//mpj-express.org/ [Last visited: April 2011]
- 31.Mallón DA, Taboada GL, Touriño J, Doallo R (2009) NPB-MPJ: NAS parallel benchmarks implementation for message-passing in Java. In: Proc 17th Euromicro intl conf on parallel, distributed, and network-based processing (PDP’09), Weimar, Germany, pp 181–190 Google Scholar
- 32.Baker M, Carpenter B, Shafi A (2006) MPJ Express meets Gadget: towards a Java code for cosmological simulations. In: 13th European PVM/MPI users’ group meeting (EuroPVM/MPI’06), Bonn, Germany, pp 358–365 Google Scholar