并行程序通信操作的渐近时间分析
1. 不同拓扑结构下的通信操作
在并行计算中,不同的网络拓扑结构会对全局通信操作的性能产生显著影响。下面将详细介绍几种常见拓扑结构及其对应的通信操作的渐近时间。
1.1 完全图(Complete graph)
完全图中每对节点之间都有直接连接。假设链路是双向的,且每个输出端口可以同时发送和接收数据,那么一次全交换操作(total exchange)可以在一个时间步内完成。这意味着其他通信操作,如广播(broadcast)、散射(scatter)和收集(gather)操作,也能在一个时间步内完成,其渐近时间为 Θ(1)。
1.2 线性阵列(Linear array)
一个包含 p 个节点的线性阵列可以用图 G = (V, E) 表示,其中节点集合 V = {1, …, p},边集合 E = {(i, i + 1) | 1 ≤ i < p}。除了第一个和最后一个节点外,每个节点都与左右邻居相连。
- 单广播操作(Single - broadcast operation) :根处理器在第一步将消息发送给左右邻居,后续每一步中,每个处理器将从上一步邻居处收到的消息发送给另一个邻居。所需步数取决于根处理器的位置。若根处理器在阵列末尾,步数为 p - 1;若在阵列中间,时间为 ⌊p/2⌋。由于线性阵列的直径为 p - 1,所以该操作的渐近时间为 Θ(p)。
- 多广播操作(Multi - broadcast operation) :可以在 p - 1 个时间步内实现。第一步,每个节点
超级会员免费看
订阅专栏 解锁全文
30

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



