Next: Future Works
The primary contributions of this dissertation are to propose the
potential of Java as a scientific parallel programming language and
to pursue efficient compilation of the HPJava language for
high-performance computing. By experimenting with and benchmarking
large scientific and engineering HPJava programs on a Linux machine, a
shared memory machine, and a distributed machine, we have proved
that the HPJava compilation and optimization scheme generates
efficient node code for parallel computing.
The HPJava design team, composed of Bryan Carpenter, Geoffrey Fox,
Guansong Zhang, and Xiaoming Li, designed and proposed the HPspmd
programming Language Model. The major goal of the system we are
building is to provide a programming model that is a flexible hybrid
of HPF-like data-parallel language and the popular, library-oriented,
SPMD style without the basic assumptions of the HPF model.
When the project was proposed, the underlying run-time communication
library was available , the translator itself was being
implemented in a compiler construction framework developed in the PCRC
project [13,51]. Soon afterwards, JavaCC and
JTB tools were adopted for the HPJava parser.
The author, Han-Ku Lee, joined the HPJava development team in 1998.
Since then, he has developed the HPJava front-end and back-end
environments and implementations including the HPJava Translator, the
Type-Analyzer for analyzing source classes' hierarchy, and the
Type-Checker for safe type-checking as well as implemented the JNI
interfaces of the run-time communication library, Adlib.
In addition, he has maintained the HPJava Parser, implemented the
Abstract Expression Node generator for intermediate codes, the
Unparser to unparse translated codes. At the School of Computational
Science and Information Technology (CSIT) at Florida State
University (FSU), Tallahassee, FL, the most time-consuming parts such
as type-checker has been firmly implemented, and the first fully
functional translator were developed.
Currently, the author and the HPJava development team keep researching
and improving the HPJava system. The main concentration of the HPJava
system is now to benchmark the current HPJava system on different machines
such as Linux, SMPs, and IMB SP3. Moreover, the HPJava development
team is concentrating on optimization strategies for the translator and
pure-Java implementation for the run-time communication libraries to
make the system competitive with existing Fortran programming
The author has significantly contributed to the HPJava
system in developing and maintaining the HPJava front-end and
back-end environments at NPAC, CSIT, and Pervasive Technology Labs.
He has developed the Translator, the Type-Checker, and the
Type-Analyzer of HPJava, and has researched the HPJava
Some of his early work at NPAC are the Unparser and the Abstract
Expression Node generator, and original implementation of the JNI
interfaces of the run-time communication library, Adlib. Recently he
focused on the topic ``Efficient Compilation of the HPJava Language
for Parallel Computing'' for optimization of the HPJava system.
Next: Future Works