Multicore-enabling the MPJ express messaging library

Aamir Shafi, Jawad Manzoor, Kamran Hameed, Bryan Carpenter, Mark Baker

Research output: Chapter in Book/Report/Conference proceedingChapter (peer-reviewed)peer-review

218 Downloads (Pure)


With the transition to multicore processors almost complete, the parallel processing community is seeking efficient ways to port legacy message passing applications on shared memory and multicore processors. MPJ Express is our reference implementation of Message Passing Interface (MPI)-like bindings for the Java language. Starting with the current release, the MPJ Express software can be configured in two modes: the multicore and the cluster mode. In the multicore mode, parallel Java applications execute on shared memory or multicore processors. In the cluster mode, Java applications parallelized using MPJ Express can be executed on distributed memory platforms like compute clusters and clouds. The multicore device has been implemented using Java threads in order to satisfy two main design goals of portability and performance. We also discuss the challenges of integrating the multicore device in the MPJ Express software. This turned out to be a challenging task because the parallel application executes in a single JVM in the multicore mode. On the contrary in the cluster mode, the parallel user application executes in multiple JVMs. Due to these inherent architectural differences between the two modes, the MPJ Express runtime is modified to ensure correct semantics of the parallel program. Towards the end, we compare performance of MPJ Express (multicore mode) with other C and Java message passing libraries—including mpiJava, MPJ/Ibis, MPICH2, MPJ Express (cluster mode)—on shared memory and multicore processors. We found out that MPJ Express performs signicantly better in the multicore mode than in the cluster mode. Not only this but the MPJ Express software also performs better in comparison to other Java messaging libraries including mpiJava and MPJ/Ibis when used in the multicore mode on shared memory or multicore processors. We also demonstrate effectiveness of the MPJ Express multicore device in Gadget-2, which is a massively parallel astrophysics N-body siimulation code.
Original languageEnglish
Title of host publicationProceedings of the 8th international conference on the principles and practice of programming in Java
Place of PublicationNew York
ISBN (Print)9781450302692
Publication statusPublished - 2010
Event8th International Conference on the Principles and Practice of Programming in Java (PPPJ '10), - Vienna, Austria
Duration: 15 Sept 201017 Sept 2010


Conference8th International Conference on the Principles and Practice of Programming in Java (PPPJ '10),


Dive into the research topics of 'Multicore-enabling the MPJ express messaging library'. Together they form a unique fingerprint.

Cite this