稀疏网格上的基础问题求解
1. 引言
在普通二维网格中,由于其较小的二分宽度,使用 $n^2$ 个处理单元(PUs)时,大多数问题的最大加速比仅为 $\Theta(n)$。而像超立方体这样的网络,随着网络规模的增大,对互连模块的要求也越来越高。立方连接循环虽然没有这个问题,但由于其不规则性,编程难度较大。
稀疏网格是一种仅在二维网格对角线上分布 PUs 的分布式内存机器。它由一个二维 $n×n$ 的总线网格组成,PUs 连接在对角线上。水平总线称为行总线,垂直总线称为列总线。PUi($0 ≤ i < n$)可以沿第 $i$ 行总线发送数据,并从第 $i$ 列总线接收数据。在一步操作中,PUi 可以向任意的 PUj 发送一个标准长度的数据包。数据包先沿第 $i$ 行总线传输到位置 $(i, j)$,然后转入第 $j$ 列总线。同时,要避免总线冲突,即算法必须保证在每一步中,每条总线仅用于传输一个数据包。
与普通网格相比,稀疏网格将 PUs 的数量从 $n^2$ 减少到 $n$,大大节省了硬件成本。与其他网络相比,它的互连网络非常简单,易于制造且可无问题地扩展。它与并行交替方向机器(PADAM)和涂层网格类似,但更为简单。
并行计算依赖于 PUs 之间的数据交换。在众多通信模式中,每个 PU 最多发送和接收 $h$ 个数据包的 $h$ 关系模式备受关注。如果每个 PU 向其他每个 PU 发送 $h/n$ 个数据包,则该 $h$ 关系被称为平衡的。在具有 $n$ 个 PUs 的稀疏网格上,平衡的 $h$ 关系可以在 $h$ 步内完成。但并非所有 $h$ 关系都是平衡的,因此需要高效路由任意 $h$ 关系的算法。
离线情况下,所有 $h$ 关
超级会员免费看
订阅专栏 解锁全文
780

被折叠的 条评论
为什么被折叠?



