Next: Organization of the Thesis
Up: Introduction
Previous: Communication in Java
Contents
The main goal of the research presented in this dissertation is to
investigate issues pertinent to high performance programming in Java,
design Java interfaces to High Performance Computing softwares,
and research implementation issues associated with their development.
The dissertation has the following objectives:
- Investigate various issues and options for parallel programming in Java--data
parallelism and message passing libraries.
These include discussing motivations for introducing HPJava, an HPspmd
programming model.
It allows programs to combine data parallel code and SPMD library
calls directly. We present sample code that directly calls to MPI from
within the data parallel program.
- Develop mpiJava, an object-oriented Java interface to MPI.
This could be implemented by ``native methods'' wrappers around some
pre-existing MPI implementation.
However, interfacing Java to MPI is not always trivial.
The new native thread feature in JDK 1.2 might be a solution to
eliminate conflicts between the Java runtime and the interrupt
mechanisms used in the MPI implementations.
Also, the syntax of mpiJava should be easy to understand and use,
thus making it relatively simple for programmers with either a Java or
Scientific background to take up.
- Incorporate automatic object serialization in mpiJava.
In order to support derived datatypes or handle a multidimensional
array, the Java object serialization model for marshalling general
communication data in MPI-like APIs should be introduced, because the
standard MPI approach describing user-defined types does not map very
naturally into Java.
In addition, we should evaluate overheads introduced by object
serialization in mpiJava, then consider optimized methods that reduce
serialization overheads.
- Develop real applications written in mpiJava and evaluate their performance.
It is also interesting to compare the results of benchmarks written in Java
with equivalent C or Fortran code.
Applications include graphical visualization parallel Potts model simulation
with GUI using Java AWT.
- Publically release mpiJava on a Web site. This includes complete source,
makefiles, configuration scripts, compiled libraries for WMPI, test
codes (based on the IBM MPI test suite), example applications, javadoc
documentation, and installation and usage notes.
Next: Organization of the Thesis
Up: Introduction
Previous: Communication in Java
Contents
Bryan Carpenter
2004-06-09