Low‐latency Java communication devices on RDMA‐enabled networks

Providing high‐performance inter‐node communication is a key capability for running high performance computing applications efficiently on parallel architectures. In fact, current systems deployments are aggregating a significant number of cores interconnected via advanced networking hardware with Remote Direct Memory Access (RDMA) mechanisms, that enable zero‐copy and kernel‐bypass features. The use of Java for parallel programming is becoming more promising thanks to some useful characteristics of this language, particularly its built‐in multithreading support, portability, easy‐to‐learn properties, and high productivity, along with the continuous increase in the performance of the Java virtual machine. However, current parallel Java applications generally suffer from inefficient communication middleware, mainly based on protocols with high communication overhead that do not take full advantage of RDMA‐enabled networks. This paper presents efficient low‐level Java communication devices that overcome these constraints by fully exploiting the underlying RDMA hardware, providing low‐latency and high‐bandwidth communications for parallel Java applications. The performance evaluation conducted on representative RDMA networks and parallel systems has shown significant point‐to‐point performance increases compared with previous Java communication middleware, allowing to obtain up to 40% improvement in application‐level performance on 4096 cores of a Cray XE6 supercomputer. Copyright © 2015 John Wiley & Sons, Ltd.

[1]  Subhash Saini,et al.  Performance evaluation of supercomputers using HPCC and IMB benchmarks , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[2]  Greg J. Regnier,et al.  The Virtual Interface Architecture , 2002, IEEE Micro.

[3]  Geoffrey C. Fox,et al.  MPJ: MPI-like message passing for Java , 2000, Concurr. Pract. Exp..

[4]  Mark Baker,et al.  University of Portsmouth Portsmouth Hants United Kingdom Po1 2up a Comparative Study of Java and C Performance in Two Large-scale Parallel Applications , 2022 .

[5]  Alexey Cheptsov Promoting Data-Centric Supercomputing to the WWW World: Open MPI's Java Bindings , 2013, 2013 27th International Conference on Advanced Information Networking and Applications Workshops.

[6]  George K. Thiruvathukal,et al.  Java on networks of workstations (JavaNOW): a parallel computing framework inspired by Linda and the Message Passing Interface (MPI) , 2000, Concurr. Pract. Exp..

[7]  Marcelo Lobosco,et al.  A New Distributed JVM for Cluster Computing , 2003, Euro-Par.

[8]  Darius Buntinas,et al.  A uGNI-Based MPICH2 Nemesis Network Module for the Cray XE , 2011, EuroMPI.

[9]  Philippe Olivier Alexandre Navaux,et al.  Asynchronous communication in Java over Infiniband and DECK , 2005, 17th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD'05).

[10]  Mark Baker,et al.  MPJ Express: Towards Thread Safe Java HPC , 2006, 2006 IEEE International Conference on Cluster Computing.

[11]  Jason Maassen,et al.  Efficient Java RMI for parallel programming , 2001, TOPL.

[12]  Sabela Ramos,et al.  Java in the High Performance Computing arena: Research, practice and experience , 2013, Sci. Comput. Program..

[13]  Jason Maassen,et al.  Ibis: a flexible and efficient Java‐based Grid programming environment , 2005, Concurr. Pract. Exp..

[14]  Geoffrey C. Fox,et al.  MPIJAVA: An Object-Oriented JAVA Interface to MPI , 1999, IPPS/SPDP Workshops.

[15]  Sabela Ramos,et al.  FastMPJ: a scalable and efficient Java message-passing library , 2014, Cluster Computing.

[16]  Thorsten von Eicken,et al.  Javia: A Java interface to the virtual interface architecture , 2000, Concurr. Pract. Exp..

[17]  Michael Philippsen,et al.  More efficient serialization and RMI for Java , 2000, Concurr. Pract. Exp..

[18]  Brian W. Barrett,et al.  An Evaluation of Open MPI's Matching Transport Layer on the Cray XT , 2007, PVM/MPI.

[19]  George Bosilca,et al.  Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation , 2004, PVM/MPI.

[20]  Thorsten von Eicken,et al.  Javia: A Java interface to the virtual interface architecture , 2000 .

[21]  Larry Kaplan,et al.  The Gemini System Interconnect , 2010, 2010 18th IEEE Symposium on High Performance Interconnects.

[22]  Animesh Trivedi,et al.  jVerbs: ultra-low latency for data center applications , 2013, SoCC.

[23]  Nathan T. Hjelm,et al.  Performance Evaluation of Open MPI on Cray XE/XK Systems , 2012, 2012 IEEE 20th Annual Symposium on High-Performance Interconnects.

[24]  William J. Dally,et al.  Technology-Driven, Highly-Scalable Dragonfly Topology , 2008, 2008 International Symposium on Computer Architecture.

[25]  Rajeev Thakur,et al.  PMI: A Scalable Parallel Process-Management Interface for Extreme-Scale Systems , 2010, EuroMPI.

[26]  Henri E. Bal,et al.  Run‐time optimizations for a Java DSM implementation , 2003, Concurr. Comput. Pract. Exp..

[27]  Kevin J. Nowka,et al.  Designing for a gigahertz [guTS integer processor] , 1998, IEEE Micro.

[28]  Dhabaleswar K. Panda,et al.  Design and implementation of MPICH2 over InfiniBand with RDMA support , 2003, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[29]  Juan Touriño,et al.  NPB-MPJ: NAS Parallel Benchmarks Implementation for Message-Passing in Java , 2009, 2009 17th Euromicro International Conference on Parallel, Distributed and Network-based Processing.

[30]  Aamir Shafi,et al.  A parallel implementation of the Finite-Domain Time-Difference algorithm using MPJ express , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[31]  Aamir Shafi,et al.  Design and Implementation of Hybrid and Native Communication Devices for Java HPC , 2014, ICCS.

[32]  Juan Touriño,et al.  High Performance Java Remote Method Invocation for Parallel Computing on Clusters , 2007, 2007 12th IEEE Symposium on Computers and Communications.

[33]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[34]  Hemal Shah,et al.  Direct Data Placement over Reliable Transports , 2007, RFC.

[35]  Dror Goldenberg,et al.  Zero copy sockets direct protocol over infiniband-preliminary implementation and performance analysis , 2005, 13th Symposium on High Performance Interconnects (HOTI'05).

[36]  Philip Heidelberger,et al.  The IBM Blue Gene/Q interconnection network and message unit , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[37]  Toshiaki Yasue,et al.  Overview of the IBM Java Just-in-Time Compiler , 2000, IBM Syst. J..

[38]  Jizhong Han,et al.  Enabling RDMA Capability of InfiniBand Network for Java Applications , 2008, 2008 International Conference on Networking, Architecture, and Storage.

[39]  Jason Maassen,et al.  Ibis: a flexible and efficient Java-based Grid programming environment: Research Articles , 2005 .

[40]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[41]  Hongwei Zhang,et al.  A Performance Study of Java Communication Stacks over InfiniBand and Giga-bit Ethernet , 2007, 2007 IFIP International Conference on Network and Parallel Computing Workshops (NPC 2007).

[42]  Juan Touriño,et al.  Design of scalable Java message-passing communications over InfiniBand , 2011, The Journal of Supercomputing.

[43]  Geoffrey C. Fox,et al.  Java for parallel computing and as a general language for scientific and engineering simulation and modeling , 1997, Concurr. Pract. Exp..

[44]  David E. Culler,et al.  Jaguar: enabling efficient communication and I/O in Java , 2000, Concurr. Pract. Exp..

[45]  Denis Caromel,et al.  Object-oriented SPMD , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..

[46]  Juan Touriño,et al.  Java Fast Sockets: Enabling high-speed Java communications on high performance clusters , 2008, Comput. Commun..

[47]  Hiroshi Tezuka,et al.  Pin-down cache: a virtual memory management technique for zero-copy communication , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[48]  Hongwei Zhang,et al.  Jdib: Java Applications Interface to Unshackle the Communication Capabilities of InfiniBand Networks , 2007, 2007 IFIP International Conference on Network and Parallel Computing Workshops (NPC 2007).

[49]  Sayantan Sur,et al.  RDMA read based rendezvous protocol for MPI over InfiniBand: design alternatives and benefits , 2006, PPoPP '06.

[50]  Mark Baker,et al.  Device level communication libraries for high‐performance computing in Java , 2011, Concurr. Comput. Pract. Exp..

[51]  Dhabaleswar K. Panda,et al.  High Performance RDMA-Based MPI Implementation over InfiniBand , 2003, ICS '03.

[52]  Geoffrey C. Fox,et al.  mpiJava 1.2: API Specification , 1999 .

[53]  Michael Philippsen,et al.  Evaluation of RDMA Opportunities in an Object-Oriented DSM , 2007, LCPC.

[54]  David H. Bailey,et al.  The Nas Parallel Benchmarks , 1991, Int. J. High Perform. Comput. Appl..