next up previous
Next: Bibliography Up: HPJava: Programming Support for Previous: Discussion


Conclusions

The first fully functional HPJava is operational and can be downloaded from [14]. The system fully supports the Java Language Specification [17], and has tested and debugged against the HPJava test suites and jacks [15], a Java Automated Compiler Killing Suite. This means that the HPJava front-end is very conformant with Java. The HPJava test suites includes simple HPJava programs, and complex scientific algorithms and applications such as a multigrid solver, adapted from an existing Fortran program (called PDE2), taken from the Genesis parallel benchmark suite [1]. The whole of this program has been ported to HPJava. Also, a Computational Fluid Dynamics (CFD) application for fluid flow problems7has been ported to HPJava. An applet version of this application can be viewed at www.hpjava.org.

There are two main parts to the software. The HPJava development kit, hpjdk contains the HPJava compiler and an implementation of the high-level communication library, Adlib. The only prerequisite for installing hpjdk is a standard Java development platform, like the one freely available for several operating systems from Sun Microsystems. The installation of hpjdk is very straightforward because it is a pure Java package. Sequential HPJava programs can immediately be run using the standard java command. Parallel HPJava programs can also be run with the java command, provided they follow a multithreaded model.

To distribute parallel HPJava programs across networks of host computers, or run them on supported distributed-memory parallel computers, one should install the second HPJava package--mpiJava. A prerequisite for installing mpiJava is the availability of an MPI installation on your system.

The main purpose of this paper was to investigate whether our library-based HPspmd Programming Model can be efficiently adapted into programming support for high-performance grid-enabled applications. Through the experiments, we proved that HPJava has quite acceptable performance on ``scientific'' algorithms, which play very important roles in high-performance grid-enabled applications, including ``search engines'' and ``parameter searching''.

Although not illustrated here, an interesting Grid application where HPJava may be adoptable is ``coordinating'' the execution and information flow between multiple ``web services'' where each web service has WSDL style interface and some high level information describing capabilities. In the near future, HPJava will be used as middleware to support ``complexity scripts'' in the project called ``BioComplexity Grid Environment'' at Indiana University.


next up previous
Next: Bibliography Up: HPJava: Programming Support for Previous: Discussion
Bryan Carpenter 2004-04-24