Efficient Java RMI for parallel programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
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
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
Towards an Accurate Model for Collective Communications
International Journal of High Performance Computing Applications
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concurrency and Computation: Practice & Experience
CCGRID '05 Proceedings of the Fifth IEEE International Symposium on Cluster Computing and the Grid (CCGrid'05) - Volume 2 - Volume 02
Statistically rigorous java performance evaluation
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Implementation and Performance Evaluation of Socket and RMI based Java Message Passing Systems
SERA '07 Proceedings of the 5th ACIS International Conference on Software Engineering Research, Management & Applications
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
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
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
Performance Evaluation of MPI, UPC and OpenMP on Multicore Architectures
Proceedings of the 16th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
JCUDA: A Programmer-Friendly Interface for Accelerating Java Programs with CUDA
Euro-Par '09 Proceedings of the 15th International Euro-Par Conference on Parallel Processing
Towards a Next-Generation Matrix Library for Java
COMPSAC '09 Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference - Volume 01
A toolkit for efficient numerical applications in Java
Advances in Engineering Software
Proceedings of the 3rd International Workshop on Multicore Software Engineering
Multicore-enabling the MPJ express messaging library
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Design of efficient Java message-passing collectives on multi-core clusters
The Journal of Supercomputing
Titanium performance and potential: an NPB experimental study
LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
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
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
Parallel execution of Java loops on Graphics Processing Units
Science of Computer Programming
Journal of Computational Physics
Design of scalable Java message-passing communications over InfiniBand
The Journal of Supercomputing
McMPI: a managed-code MPI library in pure C#
Proceedings of the 20th European MPI Users' Group Meeting
Towards the availability of Java bindings in open MPI
Proceedings of the 20th European MPI Users' Group Meeting
Evaluation of messaging middleware for high-performance cloud computing
Personal and Ubiquitous Computing
Hi-index | 0.00 |
The rising interest in Java for High Performance Computing (HPC) is based on the appealing features of this language for programming multi-core cluster architectures, particularly the built-in networking and multithreading support, and the continuous increase in Java Virtual Machine (JVM) performance. However, its adoption in this area is being delayed by the lack of analysis of the existing programming options in Java for HPC and thorough and up-to-date evaluations of their performance, as well as the unawareness on current research projects in this field, whose solutions are needed in order to boost the embracement of Java in HPC. This paper analyzes the current state of Java for HPC, both for shared and distributed memory programming, presents related research projects, and finally, evaluates the performance of current Java HPC solutions and research developments on two shared memory environments and two InfiniBand multi-core clusters. The main conclusions are that: (1) the significant interest in Java for HPC has led to the development of numerous projects, although usually quite modest, which may have prevented a higher development of Java in this field; (2) Java can achieve almost similar performance to natively compiled languages, both for sequential and parallel applications, being an alternative for HPC programming; (3) the recent advances in the efficient support of Java communications on shared memory and low-latency networks are bridging the gap between Java and natively compiled applications in HPC. Thus, the good prospects of Java in this area are attracting the attention of both industry and academia, which can take significant advantage of Java adoption in HPC.