We have implemented several SPMD style parallel applications using mpiJava. These applications were included in the mpiJava software package. In this chapter we discuss two parallel Monte Carlo simulations which can be used for educational purposes and experimental performance evaluation of mpiJava with a real application.
In the first section, we briefly introduce a Java version of parallel random number generator which is used in two Monte Carlo spin model simulations--the Ising model and the Potts model. Then we discuss the mpiJava version of Monte Carlo simulation of the Ising model implemented with two different algorithms, Metropolis and cluster algorithms. This Ising model simulation can be used as a full application Java benchmark, with comparable native MPI-C and MPI-Fortran codes for performance comparison. This is presented in the last section. We also present a graphical Potts model simulation in Section 6.3. The Potts model is a generalized extension of the two-state Ising model to an arbitrary number, Q, of discrete states. It has a richer phase structure, which makes it a richer graphical visualization.