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
The Hierarchical Factor Algorithm for All-to-All Communication (Research Note)
Euro-Par '02 Proceedings of the 8th International Euro-Par Conference on Parallel Processing
Fast Collective Operations Using Shared and Remote Memory Access Protocols on Clusters
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
An evaluation of Java for numerical computing
Scientific Programming
Performance analysis of MPI collective operations
Cluster Computing
Collective communication: theory, practice, and experience: Research Articles
Concurrency and Computation: Practice & Experience
Nested parallelism for multi-core HPC systems using Java
Journal of Parallel and Distributed Computing
NPB-MPJ: NAS Parallel Benchmarks Implementation for Message-Passing in Java
PDP '09 Proceedings of the 2009 17th Euromicro International Conference on Parallel, Distributed and Network-based Processing
Towards efficient shared memory communications in MPJ express
IPDPS '09 Proceedings of the 2009 IEEE International Symposium on Parallel&Distributed Processing
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
Towards an Efficient Process Placement Policy for MPI Applications in Multicore Environments
Proceedings of the 16th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Hierarchical Collectives in MPICH2
Proceedings of the 16th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
A comparative study of Java and C performance in two large-scale parallel applications
Concurrency and Computation: Practice & Experience
MPI collective algorithm selection and quadtree encoding
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
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
Collective communications for scalable programming
ISPA'05 Proceedings of the Third international conference on Parallel and Distributed Processing and Applications
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
F-MPJ: scalable Java message-passing communications on parallel systems
The Journal of Supercomputing
Performance analysis and optimization of MPI collective operations on multi-core clusters
The Journal of Supercomputing
Java in the High Performance Computing arena: Research, practice and experience
Science of Computer Programming
Evaluation of messaging middleware for high-performance cloud computing
Personal and Ubiquitous Computing
Hi-index | 0.00 |
This paper presents a scalable and efficient Message-Passing in Java (MPJ) collective communication library for parallel computing on multi-core architectures. The continuous increase in the number of cores per processor underscores the need for scalable parallel solutions. Moreover, current system deployments are usually multi-core clusters, a hybrid shared/distributed memory architecture which increases the complexity of communication protocols. 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).Our MPJ collective communication library increases Java HPC applications performance on multi-core clusters: (1) providing multi-core aware collective primitives; (2) implementing several algorithms (up to six) per collective operation, whereas publicly available MPJ libraries are usually restricted to one algorithm; (3) analyzing the efficiency of thread-based collective operations; (4) selecting at runtime the most efficient algorithm depending on the specific multi-core system architecture, and the number of cores and message length involved in the collective operation; (5) supporting the automatic performance tuning of the collectives depending on the system and communication parameters; and (6) allowing its integration in any MPJ implementation as it is based on MPJ point-to-point primitives. A performance evaluation on an InfiniBand and Gigabit Ethernet multi-core cluster has shown that the implemented collectives significantly outperform the original ones, as well as higher speedups when analyzing the impact of their use on collective communications intensive Java HPC applications. Finally, the presented library has been successfully integrated in MPJ Express ( http://mpj-express.org ), and will be distributed with the next release.