Expansion of subunits on those sides that neighboring other subunits are a common pattern in parallel processing. It is called the ghost cell diagram in the halo diagram. Basically you take as many pixels of ghost cells / halo as the processing stencil requests and passes their value at the beginning of each processing iteration. It is also possible to take twice as large aureole area and, therefore, halve the number of messages (improves performance in high latency networks). A process in which each parallel process sends parts of its subblock to the halo region of its neighbors and vice versa is called a halo replacement. Most parallel processing libraries (like MPI) provide procedures that help you perform these halo swaps (like MPI_Cart_shift() in combination with MPI_Sendrecv() in MPI).
source share