Search from over 60,000 research works

Advanced Search

A comparative study of Java and C performance in two large-scale parallel applications

Full text not archived in this repository.
Add to AnyAdd to TwitterAdd to FacebookAdd to LinkedinAdd to PinterestAdd to Email

Shafi, A., Carpenter, B., Baker, M. and Hussain, A. (2009) A comparative study of Java and C performance in two large-scale parallel applications. Concurrency and Computation: Practice and Experience, 21 (15). pp. 1882-1906. ISSN 1532-0634 doi: 10.1002/cpe.1416

Abstract/Summary

In the 1990s the Message Passing Interface Forum defined MPI bindings for Fortran, C, and C++. With the success of MPI these relatively conservative languages have continued to dominate in the parallel computing community. There are compelling arguments in favour of more modern languages like Java. These include portability, better runtime error checking, modularity, and multi-threading. But these arguments have not converted many HPC programmers, perhaps due to the scarcity of full-scale scientific Java codes, and the lack of evidence for performance competitive with C or Fortran. This paper tries to redress this situation by porting two scientific applications to Java. Both of these applications are parallelized using our thread-safe Java messaging system—MPJ Express. The first application is the Gadget-2 code, which is a massively parallel structure formation code for cosmological simulations. The second application uses the finite-domain time-difference method for simulations in the area of computational electromagnetics. We evaluate and compare the performance of the Java and C versions of these two scientific applications, and demonstrate that the Java codes can achieve performance comparable with legacy applications written in conventional HPC languages. Copyright © 2009 John Wiley & Sons, Ltd.

Altmetric Badge

Item Type Article
URI https://reading-clone.eprints-hosting.org/id/eprint/15369
Item Type Article
Refereed Yes
Divisions Science
Uncontrolled Keywords MPJ Express, Java for HPC, mpiJava, MPJ, Parallel Java
Download/View statistics View download statistics for this item

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

Search Google Scholar