Process Grid和作用域操作

具有P进程的并行机的进程是通常以进程ID的线性数组的形式呈现给用户,标记为0到(P-1)。由于下述原因,映射这个P的一维数组通常更方便将流程转换为逻辑二维流程网格网格将具有R个进程行和C个进程列,其中R*C=G<=P。现在可以引用流程通过其在网格内的坐标(用符号表示{i,j},其中0<=i<R和0<=j<C),而不是一个数字。这种映射的一个示例是如下所示。
    

一种不仅仅涉及发送方和接收方的操作称为作用域操作。参与的所有流程在作用域操作中,称为在操作的作用域内。

在使用线性过程阵列的系统上,唯一的自然范围是所有流程。使用二维网格,我们有3个自然范围,如所示下表。

范围含义------   ----------------------------------------------行流程行中的所有流程都参与。列流程列中的所有流程都参与。流程网格中的所有流程都会参与。
线性代数对这些过程分组特别感兴趣程序员,因为2D数组的分布式数据分解(线性代数矩阵)倾向于遵循此过程映射。例如,所有分布式矩阵行都可以在进程行上找到,等等。

将流程网格的行/列视为基本自治子系统为程序员提供了额外的并行级别。当然,这些行和列的实际独立程度取决于在底层计算机上。例如,如果电网的处理器已连接通过以太网,我们可以看到唯一的好处是易于编程。速度不太可能提高,因为如果一个处理器正在通信,其他处理器就不会通信可以。如果是这种情况,处理行或列将无法执行不同的分布式同时执行任务。幸运的是,大多数现代超级计算机互连网络至少和2D网格一样丰富,因此可以利用并行性。

上下文与工艺网格密切相关BLACS。