Communication libraries are provided as packages in HPJava. Detailed function specifications will be introduced in other papers. Here we will only introduce a small number of top level collective communication functions, through which data parallel applications may have dead-lock free communication.
In the current design, the collective communications are member functions of a static class Adlib in a HPJava package. Adlib.remap will copy the corresponding element from one to another, regardless of their distribution format. Adlib.shift will shift certain amount in a specific dimension of the array in either cyclic or off-edge mode. Adlib.writeHalo is used to support ghost region.
Since the basic programming style is SPMD, it is also possible to allow other communication library be integrated as part of the communication packages of the language. We have already implemented Java MPI interface. Currently CHAOS [4] and GA [5] are being considered as ``add-on'' packages.