next up previous contents
Next: Compilation Strategies for HPJava Up: The HPspmd Programming Model Previous: Adlib for HPJava   Contents


Discussion

We have reviewed the HPspmd programming model. It is a flexible hybrid of HPF-like data-parallel language features and the popular, library-oriented, low-level SPMD style, omitting some basic assumptions of the HPF model. Moreover, we covered the importance of integration of high-level libraries, such as numerical libraries, parallel programming libraries with distributed arrays, and irregular problem solving libraries, in the HPspmd programming model. HPJava is an implementation of our HPspmd programming model. It extends the Java language with some additional syntax and with some pre-defined classes for handling multiarrays. By providing true multidimensional arrays, multiarrays, array sections, control constructs (e.g. on, overall, and at), HPJava becomes a flexible and SPMD programming language. For example with ghost regions the inner loop of algorithms for stencil updates can be written in a simple way. Moreover, with dimension splitting, parallel programming developers can implement low level SPMD programs in relatively simple ways. Adlib is an HPJava communication library and its collective operations are regular communications, reduction operations, and irregular communications, based on the communication schedule object.
Figure 3.20: The HPJava Architecture.
\includegraphics[width=3in]{Figures/hpjava-hierarchy}
Figure 3.20 shows the hierarchy of the HPJava system we have seen in this chapter. In the next chapter, we will review the HPJava compilation system.
next up previous contents
Next: Compilation Strategies for HPJava Up: The HPspmd Programming Model Previous: Adlib for HPJava   Contents
Bryan Carpenter 2004-06-09