Multicore-enabling the MPJ express messaging library

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

Research output: Chapter in Book or Conference Publication/ProceedingConference Publicationpeer-review

12 Citations (Scopus)

Abstract

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, PPPJ 2010
Pages49-58
Number of pages10
DOIs
Publication statusPublished - 2010
Externally publishedYes
Event8th Annual Conference on Principles and Practice of Programming in Java, PPPJ 2010 - Vienna, Austria
Duration: 15 Sep 201017 Sep 2010

Publication series

NameProceedings of the 8th International Conference on the Principles and Practice of Programming in Java, PPPJ 2010

Conference

Conference8th Annual Conference on Principles and Practice of Programming in Java, PPPJ 2010
Country/TerritoryAustria
CityVienna
Period15/09/1017/09/10

Keywords

  • Java HPC
  • Java MPI
  • Java multicore programming
  • MPI Java
  • MPJ express

Fingerprint

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

Cite this