next up previous
Next: Bibliography Up: Benchmarking HPJava: Prospects for Previous: Case Study 2: Red-Black

Conclusion

HPJava is an instance of what we call the HPspmd model: arguably it is not exactly a high-level parallel programming language in the ordinary sense, but rather a tool to assist parallel programmers in writing SPMD code. In this respect the closest recent language we are familiar with is probably Co-Array Fortran [6], but HPJava and Co-Array Fortran have many obvious differences. In Co-Array Fortran, array subscripting is local by default, or involves a combination of local subscripts and explicit process ids. There is no analogue of global subscripts, or HPF-like distribution formats. In Co-Array Fortran the logical model of communication is built into the language--remote memory access with intrinsics for synchronization. In HPJava, there are no communication primitives in the language itself. We follow the MPI philosophy of providing communication through separate libraries.

The main purpose of this paper was to verify if our library-based HPspmd language extensions can be implemented efficiently in the context of Java. The underlying communication libraries and parallelization strategies have been proven in other domains of application (e.g. [7]). Thus, the emphasis is on demonstrating that a simple translation scheme for HPJava can produce efficient node code. Although we are still a little way from realizing this efficient scheme in our actual translator, the results here are encouraging.


next up previous
Next: Bibliography Up: Benchmarking HPJava: Prospects for Previous: Case Study 2: Red-Black
Bryan Carpenter 2004-04-24