|
HPJava Home Page
HPJava is an environment for scientific and parallel programming
using Java. It is based on an extended version of the
Java language. One feature that HPJava adds to Java is
a multi-dimensional array, or multiarray, with properties
similar to the arrays of Fortran.
HPJava supports parallel programming on distributed memory
(and shared memory) parallel computers -- especially
data parallel programming using distributed arrays
similar to those in High Performance Fortran (HPF).
The HPJava language model was motivated by work on HPF during the
PCRC project -- it captures the HPF
distributed array model in special syntax, but assumes that the
programmer directly calls high-level runtime functions for
communication and array manipulation.
HPJava is a strict extension of Java. It incorporates all of the
Java language as a subset. Any ordinary Java class can be
invoked from an HPJava program without recompilation.
A translated and compiled HPJava program is a standard Java class
file that can be executed by a distributed collection of Java
Virtual Machines.
Version 1.0.1 of the HPJava software, including translator and
runtime environment was released May, 2007:
-
The HPJava tutorial and reference,
Parallel Programming in HPJava:
Background
The acronym ``HPJava'' was coined in a draft white paper produced by
members of the PCRC consortium early in 1996. NPAC at Syracuse
University adopted the name for its Java environment for SPMD
computing. Since then the team developing the HPJava environment
moved from Syracuse to Florida State University. They recently moved
again to the Pervasive Technology Labs at Indiana University.
Papers
For other related publications, see the
PCRC documents page
and the mpiJava home page.
-
Han-Ku Lee, Bryan Carpenter, Geoffrey Fox, and Sang Boem Lim.
HPJava: Programming Support for High-Performance Grid-Enabled
Applications.
To appear, International Journal of Parallel Algorithms and
Applications.
-
Sang Boem Lim, Bryan Carpenter, Geoffrey Fox, and Han-Ku Lee.
Collective Communication for the HPJava Programming Language.
To appear Concurrency and Computation, Practice and
Experience.
-
Sang Boem Lim, Bryan Carpenter, Geoffrey Fox, and Han-Ku Lee.
A Device Level Communication Library for the HPJava Programming
Language.
In proceedings of the IASTED International Conference on Parallel
and Distributed Computing and Systems (PDCS 2003), November 2003
-
Bryan Carpenter, Geoffrey Fox, Han-Ku Lee and Sang Boem Lim.
Applications of HPJava.
In 16th International Workshop on Languages and Compilers for
Parallel Computing, October 2003.
Volume 2958 of Lecture Notes in Computer Science, 2003,
© Springer Verlag.
-
Han-Ku Lee, Bryan Carpenter, Geoffrey Fox, and Sang Boem Lim.
Benchmarking HPJava: Prospects for Performance.
In 6th Workshop on Languages, Compilers and
Run-time Systems for Scalable Computers, March 2002.
-
Bryan Carpenter, Geoffrey Fox, Han-Ku Lee and Sang Boem Lim.
Translation Schemes for the HPJava
Parallel Programming Language.
In 14th International Workshop on Languages and Compilers for
Parallel Computing, August 2001.
-
Bryan Carpenter, Geoffrey Fox and Guansong Zhang.
Semantic Checking in HPJava.
May, 1999.
-
Bryan Carpenter, Geoffrey Fox and Guansong Zhang.
An HPspmd Programming Model. Extended Abstract.
April, 1999.
-
Guansong Zhang, Bryan Carpenter, Geoffrey Fox, Xinying Li, and
Yuhong Wen.
The HPspmd model and its Java Binding.
November, 1998.
-
Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Xiaoming Li,
Xinying Li, and Yuhong Wen.
Towards a Java environment for SPMD programming.
In David Pritchard and Jeff Reeve, editors, 4th International
Europar Conference, volume 1470 of Lecture Notes in Computer
Science, 1998,
© Springer Verlag.
-
Guansong Zhang, Bryan Carpenter, Geoffrey Fox, Xinying Li,
and Yuhong Wen.
Considerations in HPJava language design and implementation.
In 11th International Workshop on Languages and Compilers for
Parallel Computing, August 1998,
© Springer Verlag.
-
Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Xinying Li,
and Yuhong Wen.
HPJava: Data parallel extensions to Java.
ACM 1998 workshop on Java for high-performance network computing.
Palo Alto, California.
Concurrency: Practice and Experience,
10(11-13):873-877, 1998.
-
Bryan Carpenter, Yuh-Jye Chang, Geoffrey Fox, Donald Leskiw,
and Xiaoming Li.
Experiments with HPJava.
Concurrency: Practice and Experience, 9(6):633, 1997.
-
Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Xinying Li,
and Yuhong Wen.
Introduction to Java-Ad. November 1997.
-
Guansong Zhang, Bryan Carpenter, Geoffrey Fox, Xinying Li,
and Yuhong Wen.
Structured SPMD programming - Java language binding. October 1997.
-
Guansong Zhang, Bryan Carpenter, Geoffrey Fox, Xinying Li,
and Yuhong Wen.
A high level SPMD programming model: HPspmd and its Java
language binding.
In International Conference on Parallel and Distributed
Processing Techniques and Applications (PDPTA'98), July 1998.
-
Bryan Carpenter and Geoffrey Fox.
HPspmd: Data Parallel SPMD Programming Models from Fortran to Java.
April, 1998.
-
Geoffrey C. Fox, editor.
Java for Computational Science and Engineering - Simulation
and Modelling,
volume 9(6) of Concurrency: Practice and Experience,
June 1997.
-
Geoffrey C. Fox, editor.
Java for Computational Science and Engineering - Simulation
and Modelling II,
volume 9(11) of Concurrency: Practice and Experience,
November 1997.
-
ACM 1998 workshop on Java for high-performance network computing.
Palo Alto, California, February 28 and March 1, 1998.
-
Bryan Carpenter, Yuh-Jye Chang and Geoffrey Fox.
Selected Notes on HPJava.
December, 1996.
Ph.D. Dissertations
-
Han-Ku Lee, Towards Efficient Compilation of the HPJava
Language for High Performance Computing.
Florida State University, 2003.
-
Sang Boem Lim, Platforms for HPJava: Runtime Support
for Scalable Programming in Java.
Florida State University, 2003.
-
Sung Hoon Ko, Object Based Message Passing in
High Performance Computing using Java.
Syracuse University, 2000.
Acknowledgement
Development of the HPJava environment was funded in part by
National Science Foundation Division of Advanced Computational
Infrastructure and Research, contract number 9872125
(any opinions, findings, and conclusions or recommendations expressed
in this material are those of the authors and do not necessarily
reflect the views of the National Science Foundation).
|