When accessing data on another process, HPJava needs explicit communication, as in a ordinary SPMD program. 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.
In the current design, the collective communications are member functions of a static class Adlib. 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 edge-off mode. Adlib.writeHalo is used to support ghost regions.
It is possible to integrate other communication library as
communication packages of the language. We have already implemented
a Java MPI interface. Currently CHAOS  and GA 
are being considered as ``add-on'' packages.