并行程序性能分析与计算模型
1. 全局通信的渐近时间
全局通信的过程分为以下几个阶段:
1. 同时在超立方体 $C_1$ 和 $C_2$ 内进行全交换。
2. $C_1$(或 $C_2$)中的每个节点向 $C_2$(或 $C_1$)中的节点发送 $2d$ 条消息到另一个超立方体中的对应节点。由于所有节点使用不同的边,这需要 $2d$ 时间。
3. 在每个超立方体中进行全交换,以分发在阶段 2 中接收到的消息。
阶段 1 和 2 可以同时进行,需要 $2d$ 时间。阶段 3 必须在阶段 2 之后执行,需要的时间 $\leq 2d - 1$。总的来说,所需时间为 $2d + 2d - 1 = 2^{d + 1} - 1$。
2. 并行执行时间分析
并行程序的并行执行时间取决于以下因素:
- 输入数据的大小 $n$,可能还有其他特征,如算法的迭代次数或循环边界。
- 处理器的数量 $p$。
- 通信参数,描述并行系统或通信库的通信特性。
对于特定的并行程序,并行执行时间可以表示为关于 $p$ 和 $n$ 的函数 $T(p, n)$。这个函数可用于分析并行执行时间及其随 $p$ 和 $n$ 的变化行为。下面以标量积和矩阵 - 向量积的并行实现为例进行说明。
2.1 并行标量积
两个向量 $a, b \in R^n$ 的并行标量积计算一个标量值,该值是 $a_j \cdot b_j$($j = 1, \cdots, n$)的和。对于在 $p$ 个处理器上的并行计算,假设 $n$ 能被 $p$ 整除,即 $n = r \cdot p$,$r \i
超级会员免费看
订阅专栏 解锁全文
4311

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



