Efficient Java RMI for parallel programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Architecture for Using Multiple Communication Devices in a MPI Library
HPCN Europe 2000 Proceedings of the 8th International Conference on High-Performance Computing and Networking
MPIJAVA: An Object-Oriented JAVA Interface to MPI
Proceedings of the 11 IPPS/SPDP'99 Workshops Held in Conjunction with the 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing
Java as a Language for Scientific Parallel Programming
LCPC '97 Proceedings of the 10th International Workshop on Languages and Compilers for Parallel Computing
RMIX: A Multiprotocol RMI Framework for Java
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
Java programming for high-performance numerical computing
IBM Systems Journal
Experiences implementing efficient Java thread serialization, mobility and persistence
Software—Practice & Experience - Research Articles
JOPI: a Java object-passing interface: Research Articles
Concurrency and Computation: Practice & Experience - 2002 ACM Java Grande–ISCOPE Conference Part II
Ibis: a flexible and efficient Java-based Grid programming environment: Research Articles
Concurrency and Computation: Practice & Experience - 2002 ACM Java Grande–ISCOPE Conference Part II
Parallel operation of CartaBlanca on shared and distributed memory computers: Research Articles
Concurrency and Computation: Practice & Experience
Concurrency and Computation: Practice & Experience
An evaluation of Java for numerical computing
Scientific Programming
Java Fast Sockets: Enabling high-speed Java communications on high performance clusters
Computer Communications
Nested parallelism for multi-core HPC systems using Java
Journal of Parallel and Distributed Computing
Java for high performance computing: assessment of current research and practice
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
A comparative study of Java and C performance in two large-scale parallel applications
Concurrency and Computation: Practice & Experience
Journal of Computational Physics
Multicore-enabling the MPJ express messaging library
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Bioinformatics
MPJ express meets gadget: towards a java code for cosmological simulations
EuroPVM/MPI'06 Proceedings of the 13th European PVM/MPI User's Group conference on Recent advances in parallel virtual machine and message passing interface
A low–level communication library for java HPC
ICA3PP'05 Proceedings of the 6th international conference on Algorithms and Architectures for Parallel Processing
MPJ/Ibis: a flexible and efficient message passing platform for java
PVM/MPI'05 Proceedings of the 12th European PVM/MPI users' group conference on Recent Advances in Parallel Virtual Machine and Message Passing Interface
An approach to buffer management in java HPC messaging
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part II
F-MPJ: scalable Java message-passing communications on parallel systems
The Journal of Supercomputing
Journal of Computational Physics
Design of scalable Java message-passing communications over InfiniBand
The Journal of Supercomputing
Hi-index | 0.00 |
Since its release, the Java programming language has attracted considerable attention from the high-performance computing (HPC) community because of its portability, high programming productivity, and built-in multithreading and networking support. As a consequence, several initiatives have been taken to develop a high-performance Java message-passing library to program distributed memory architectures, such as clusters. The performance of Java message-passing applications relies heavily on the communications performance. Thus, the design and implementation of low-level communication devices that support message-passing libraries is an important research issue in Java for HPC. MPJ Express is our Java message-passing implementation for developing high-performance parallel Java applications. Its public release currently contains three communication devices: the first one is built using the Java New Input/Output (NIO) package for the TCP/IP; the second one is specifically designed for the Myrinet Express library on Myrinet; and the third one supports thread-based shared memory communications. Although these devices have been successfully deployed in many production environments, previous performance evaluations of MPJ Express suggest that the buffering layer, tightly coupled with these devices, incurs a certain degree of copying overhead, which represents one of the main performance penalties. This paper presents a more efficient Java message-passing communications device, based on Java Input/Output sockets, that avoids this buffering overhead. Moreover, this device implements several strategies, both in the communication protocol and in the HPC hardware support, which optimizes Java message-passing communications. In order to evaluate its benefits, this paper analyzes the performance of this device comparatively with other Java and native message-passing libraries on various high-speed networks, such as Gigabit Ethernet, Scalable Coherent Interface, Myrinet, and InfiniBand, as well as on a shared memory multicore scenario. The reported communication overhead reduction encourages the upcoming incorporation of this device in MPJ Express (). Copyright © 2011 John Wiley & Sons, Ltd.