next up previous
Next: Reducing communication costs Up: Optimization Methods Previous: Data partitioning


Work distribution

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 up previous
Next: Reducing communication costs Up: Optimization Methods Previous: Data partitioning
Created by Katarzyna Zając