
11.4 Block Data Transfer in a Shared Address Space 853
for i<r-0 to n-l do
A[i]<-...;
end for
put (A[0..n-1] to
tmp[0..n-l]);
flag <- 1; while (¡flag) {}; /*spin~wait*/
for i^O to n-l do for i<-l to n-l do
compute
f(C[i]);
use
tmp[i];
end for compute
g(B[i]);
end for
FIGURE 11.9 Using block transfer in a shared address space for the example of
Figure
11.1.
The array A is allocated in processor P^'s local memory and the array tmp in
processor P#'s local memory.
11.4 BLOCK DATA TRANSFER IN A SHARED ADDRESS SPACE
In a shared address space, coalescing data to make messages larger (called block data
transfer) and initiating the block transfers ca ...