Accessibility navigation

Nested parallelism for multi-core HPC systems using Java

Shafi, A., Carpenter, B. and Baker, M. (2009) Nested parallelism for multi-core HPC systems using Java. Journal of Parallel and Distributed Computing, 69 (6). pp. 532-545. ISSN 0743-7315

Full text not archived in this repository.

It is advisable to refer to the publisher's version if you intend to cite from this work. See Guidance on citing.

To link to this item DOI: 10.1016/j.jpdc.2009.02.006


Since its introduction in 1993, the Message Passing Interface (MPI) has become a de facto standard for writing High Performance Computing (HPC) applications on clusters and Massively Parallel Processors (MPPs). The recent emergence of multi-core processor systems presents a new challenge for established parallel programming paradigms, including those based on MPI. This paper presents a new Java messaging system called MPJ Express. Using this system, we exploit multiple levels of parallelism - messaging and threading - to improve application performance on multi-core processors. We refer to our approach as nested parallelism. This MPI-like Java library can support nested parallelism by using Java or Java OpenMP (JOMP) threads within an MPJ Express process. Practicality of this approach is assessed by porting to Java a massively parallel structure formation code from Cosmology called Gadget-2. We introduce nested parallelism in the Java version of the simulation code and report good speed-ups. To the best of our knowledge it is the first time this kind of hybrid parallelism is demonstrated in a high performance Java application. (C) 2009 Elsevier Inc. All rights reserved.

Item Type:Article
ID Code:15368
Uncontrolled Keywords:MPJ express, Java MPI, Multi-core messaging, MPJ, SIMULATION, INTERFACE, DESIGN

University Staff: Request a correction | Centaur Editors: Update this record

Page navigation