Load balancing is a topic highly relevant to parallel computing. Distributing arrays across processors in a block-cyclic manner is one way to achieve it in a distributed memory framework. The ability to redistribute between different block-cyclic distributions allows for a more optimal load balancing that minimizes processor communication. This thesis presents several algorithms from the related literature for efficiently performing such redistributions. In doing
so, we consider the optimization of both the computation of the message contents and the scheduling of communication between processors. Methods for handling multi-dimensional arrays as well as different source and target processor sets are also discussed. Furthermore, the results of the papers are used to compare the performance of the algorithms. We conclude that some algorithms can result in a several fold reduction in redistribution time.
«
Load balancing is a topic highly relevant to parallel computing. Distributing arrays across processors in a block-cyclic manner is one way to achieve it in a distributed memory framework. The ability to redistribute between different block-cyclic distributions allows for a more optimal load balancing that minimizes processor communication. This thesis presents several algorithms from the related literature for efficiently performing such redistributions. In doing
so, we consider the optimizatio...
»