Groups and the APG have another role in describing program variables. They appear in the idea of coherence . An explicit example of coherence was given in the matrix multiplication example. It was mentioned that arrays like a and b declared with replicated storage should be initialized with identical values in each copy of the array. The elements of a and b are then coherent variables .
Coherence is relevant to other variables besides array elements.
In the matrix multiplication example, scalar expressions like P and N should take the same value in every active process, otherwise very odd behaviour can be expected. Again this is an example of coherence. Without some idea of coherence it is difficult to write a sensible SPMD program. Coherence is sufficiently important that one might expect an SPMD language to somehow enforce it. HPJava does not attempt this for a couple of reasons.