线性方程组求解算法:并行执行与迭代方法解析
1. 并行算法执行时间分析
并行算法的执行时间可通过以下运行时函数进行建模,该算法主要分为三个阶段:
- 阶段1 :执行 $Q = \log q = \log n - \log p$ 步。在第 $k$ 步($1 \leq k \leq Q$),每个处理器最多计算 $q/2^k$ 个系数块,每个系数块包含 4 个值。根据公式,每个系数块需要 14 次算术运算,因此阶段 1 的计算时间可估计为:
- $T_1(n, p) = 14t_{op} \cdot \sum_{k = 1}^{Q} \frac{q}{2^k} \leq 14 \frac{n}{p} \cdot t_{op}$
此外,每个处理器在 $Q$ 步中的每一步都会与相邻的两个处理器交换两条消息,每条消息包含 4 个值。由于所有处理器的传输操作可以并行且无干扰地执行,因此通信时间为:
- $C_1(n, p) = 2Q \cdot t_{s2s}(4) = 2 \cdot \log \frac{n}{p} \cdot t_{s2s}(4)$
其中,$t_{s2s}(m)$ 表示消息大小为 $m$ 的单传输操作的时间。
- 阶段2 :执行 $\lceil \log p \rceil$ 步。每一步中,每个处理器计算 4 个系数,需要 14 次算术运算,然后根据公式通过一次算术运算计算 $\tilde{x} i = x_i \cdot q$。因此,计算时间为:
- $T_2(n, p) = 14 \lceil \log p \rceil \cdot t {op
超级会员免费看
订阅专栏 解锁全文
440

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



