MPJExpressMeets Gadget: Towardsa Java Code for Cosmological ...
Source: www.mpj-express.org
Topic: Java Programming
Short Desciption:... quality Ccodewitha Java code that could potentially be optimized further. The performance of Java Gadget-2 reinforces our belief that Java is a viable option for HPC. With careful programming, it is ...
Content Inside:
MPJExpressMeets Gadget: Towardsa Java
Code for Cosmological Simulations
Mark Baker1, Bryan Carpenter2 and Aamir Shafi3
1
ACET, University of Reading
2
OMII, University of Southampton
3
DSG, University of Portsmouth
Abstract. Gadget-2 is a massively parallel structure formation code
for cosmological simulations. In this paper, we presenta Java version of
Gadget-2. We evaluated the performance of the Java version by running
a colliding galaxy simulation and found that it can achieve around 70%
ofC Gadget-2sperformance.
1
Introduction
Various computer scientists have argued that Java could make an excellent
language for developing scientific codes. To date this argument has not con-
vincedtoomany practising computational scientists. The scarcity of high-profile
number-crunching codes implemented in Java does not help the case.
We have recently released MPJ Express[1], a thread-safe, production quality
Java messaging system for high performance computing. To help establish the
practicality of real scientific computing using message passing Java we have
ported the parallel cosmological simulation code, Gadget-2, from Cto Java,
using MPJExpress. Gadget-2[7]isamassively parallel structure formation
code developed by Volker Springelatthe Max Planck Institute of Astrophysics.
Versions of Gadget-2 have been used in various research papers in astrophysics
literature, including the noteworthy"Millennium Simulation"[8]—the largest
ever model of the Universe.
Producing a Java version of Gadget is an experiment that helps us to un-
derstandwhere Java stands in comparison to C—an already established HPC
language. Concerns about Javasperformancehave stopped many computational
scientists from seriously considering it. But constant improvements in JIT (Just
In Time) compilers, which translatebytecode into the native machine code at
runtime, have improved thecompuational performance.
Exploitation of Java for simulation pr ...

