FastMPJ: a scalable and efficient Java message-passing library

Roberto R. Expósito, Sabela Ramos, Guillermo L. Taboada, Juan Touriño, Ramón Doallo
2014 Cluster Computing  
The performance and scalability of communications are key for High Performance Computing (HPC) applications in the current multi-core era. Despite the significant benefits (e.g., productivity, portability, multithreading) of Java for parallel programming, its poor communications support has hindered its adoption in the HPC community. This paper presents FastMPJ, an efficient Message-Passing in Java (MPJ) library, boosting Java for HPC by: (1) providing high-performance shared memory
more » ... ns using Java threads; (2) taking full advantage of high-speed cluster networks (e.g., InfiniBand) to provide low-latency and high bandwidth communications; (3) including a scalable collective library with topology aware primitives, automatically selected at runtime; (4) avoiding Java data buffering overheads through zero-copy protocols; and (5) implementing the most widely extended MPI-like Java bindings for a highly productive development. The comprehensive performance evaluation on representative testbeds (InfiniBand, 10 Gigabit Ethernet, Myrinet, and shared memory systems) has shown that FastMPJ com-
doi:10.1007/s10586-014-0345-4 fatcat:jxpqqaj3frbrfendjhmims72ty