MPJ Express
 

MPJ Express Project

Motivation

Earlier efforts for building a Java messaging systems have typically followed either the JNI approach, or the pure Java approach. On commodity platform like Fast Ethernet, advances in JVM technology now enable networking applications written in Java to rival their C counterparts. On the other hand, improvements in specialized networking hardware have continued, cutting down the communication costs to a couple of microseconds. Keeping both in mind, the key issue at present is not to debate the JNI approach versus the pure Java approach, but to provide a flexible mechanism for applications to swap communication protocols.

Aims

The aim of this project is to provide a reference Java messaging system based on the MPI standard. The implementation follows a layered architecture based on an idea of device drivers. The idea is analogous to UNIX device drivers.

List of Projects using MPJ Express

If you would like to add or remove your project fromthis list, please send us an email. We are more than happy to hear from youabout your use of MPJ Express.

  • Cartablanca is an object oriented physical system simulation package. The code uses Jacobian-Free Newton-Krylov (JFNK) methods to solve non-linear physics simulations on unstructured meshes. An earlier version of the software exploited Java's built-in thread facility. Later a version was parallelized using JavaParty that allows forking threads on remote computers. More recently Cartablanca has been parallelized using MPJ Express.
  • Andy Turner from University of Leeds has used MPJ Express in an Economic and Social Research Council (ESRC) funded project called Modelling and Simulation in e-Social Science (MoSeS).
  • Todd Kaplan at the Santa Fe Institute is using MPJ Express to evolve genetic programming agents. The evolution allows these agents to trade in a simulated market environment. The market clearing mechanism is a replica of that used in the London stock exchange. Todd Kaplan has designed a stack-based genetic programming languague, called Staq, that agents use to evolve trading strategies.
  • Also Todd Kaplan at the Santa Fe Institute is using MPJ Express to implement community detection algorithm in complex networks.
  • Bharath Reddy, a graduate student from University of Northern British Columbia is using MPJ Express to parallelize dynamic programming algorithms in computational biology using block-cyclic based wavefront patterns.
  • Dacian Tudor et. al. in their paper "Parallel branch and bound experiment using Java based message passing and shared object space solution" present a comparison of MPJ Express with JavaSpaces by carrying out a parallel branch and bound experiment.

Parallel Programming Courses using MPJ Express

Main Components

The main components of MPJ are following,

  • Runtime system.
  • xdev level.
  • mpjdev level.
  • MPJ level.

Please refer to the documentation for more details