块轮转分布
当矩阵的每个元素所需的计算量不相同时,块分布有可能会导致负载的不均衡。块轮转分布是块分布的一种变形,它可以用于这种情形。这种分布策略对下面类型的数据并行计算非常适合:计算被分成多个步骤,在相邻的步骤里,相邻的元素的计算量逐渐的改变。一个例子是高斯消元法解方程Ax=b,其中A是n×n的矩阵。下面的图给出了对一维数组进行块轮转分布的情形(4个处理器,不同的颜色代表不同的处理器):
对二维数组进行行块轮转分布的例子见下面的图:
对二维数组进行二维块轮转分布的例子见下面的图:
在块轮转分布中,划分的块的数量多于处理器的数目(通常是处理器数目的整数倍),不同的是块被以轮转的方式分配给处理器。比如一维的块轮转分布,如果分成了n块,那么第i块被分配给处理器Pi%p,其中p为处理器数。
|