Once the data distribution is obtained, the loop iterations that access
the distributed
arrays must also be partitioned among processors
to balance computational load
and maintain locality so that communication costs are reduced.
There is a large number of
possible schemes for work distribution
.
The easiest strategy is to allocate a block of contiguous iterations to processors. The main advantage of this solution is its simplicity. However, due to poor performance, this method is usually not suitable for irregular distributions of data.
Parallelizing irregular problems usually requires more sophisticated methods. The most widely used are owner computes or almost owner computes strategies which are also present in the CHAOS library. Using the owner computes method results in assigning of the loop iteration to the processor that owns the distributed array element on the left hand side of statement. In the almost owner computes technique a loop iteration is executed on a processor that owns the maximum number of distributed array elements referenced in that iteration.
Next: Reducing communication costs
Up: Optimization Methods
Previous: Data partitioning
Created by Katarzyna Zając