# 第5章 线程级并行:多处理机 - 章节习题与答案详解 ## 曲冠南(qgn) **本章节无配套练习题** --- ## 李宏图(lht) ### 习题1:Amdahl定律应用 **原题(Slide 32)**: 有限的并行性使计算机要达到很高的加速比十分困难。 例:假设想用100个处理器达到80的加速比,求原计算程序中串行部分最多可占多大的比例? 解 Amdahl定律为: 由上式可得:并行比例=0.9975 **参考答案**: 并行比例约为0.9975(即99.75%) **详细解析**: - **考点**:Amdahl定律的应用 - **原理**:Amdahl定律定义了并行系统加速比的计算公式:加速比 = 1 / (S + (1-S)/N),其中S是串行部分比例,N是处理器数量。 - **解题思路**: 已知:加速比=80,N=100 根据Amdahl定律:80 = 1 / (S + (1-S)/100) 80 = 1 / (S + 0.01 - 0.01S) 80 = 1 / (0.01 + 0.99S) 80(0.01 + 0.99S) = 1 0.8 + 79.2S = 1 79.2S = 0.2 S = 0.2/79.2 ≈ 0.0025 并行比例 = 1 - S ≈ 0.9975 - **关键结论**:使用100个处理器达到80的加速比,意味着程序中串行部分仅占约0.25%,这说明在实际应用中达到如此高的加速比是非常困难的。 --- ### 习题2:远程访问对CPI的影响 **原题(Slide 34-35)**: 假设有一台32台处理器的多处理机,对远程存储器访问时间为200ns。除了通信以外,假设所有其他访问均命中局部存储器。当发出一个远程请求时,本处理器挂起。处理器的时钟频率为2GHz,如果指令基本的CPI为0.5(设所有访存均命中Cache),求在没有远程访问的情况下和有0.2%的指令需要远程访问的情况下,前者比后者快多少? **参考答案**: 在没有远程访问的情况下的机器速度是有0.2%远程访问的机器速度的2.6倍。 **详细解析**: - **考点**:CPI计算与远程访问开销分析 - **原理**:实际CPI = 基本CPI + 远程访问率 × 远程访问开销 - **解题思路**: 1. 计算远程访问开销(以时钟周期数表示): 时钟周期时间 = 1/2GHz = 0.5ns 远程访问开销 = 200ns / 0.5ns = 400个时钟周期 2. 计算有0.2%远程访问的机器的实际CPI: CPI = 基本CPI + 远程访问率 × 远程访问开销 CPI = 0.5 + 0.2% × 400 CPI = 0.5 + 0.8 CPI = 1.3 3. 计算速度比: 速度比 = 1.3 / 0.5 = 2.6 - **关键结论**:即使只有0.2%的指令需要远程访问,由于远程访问延迟很大(400个时钟周期),也会使CPI从0.5增加到1.3,导致性能下降为原来的约1/2.6。这说明了远程访问延迟对多处理机系统性能的重大影响。 --- ## 谭婧炜佳(tjwj) ### 习题1:Amdahl定律应用 **原题(Slide 32)**: 有限的并行性使计算机要达到很高的加速比十分困难。 例: 假设想用100个处理器达到80的加速比,求原计算程序中串行部分最多可占多大的比例? 解 Amdahl定律为: 由上式可得:并行比例=0.9975 **参考答案**: 并行比例约为0.9975(即99.75%) **详细解析**: - **考点**:Amdahl定律的应用 - **原理**:Amdahl定律定义了并行系统加速比的计算公式:加速比 = 1 / (S + (1-S)/N) - **解题思路**: 已知:加速比=80,N=100 根据Amdahl定律:80 = 1 / (S + (1-S)/100) 80 = 1 / (0.01 + 0.99S) S = 0.0025 并行比例 = 1 - S = 0.9975 - **关键结论**:要达到80的加速比,程序必须99.75%可并行,这对绝大多数应用来说是极难满足的条件。 --- ### 习题2:远程访问对CPI的影响 **原题(Slide 34-35)**: 假设有一台32台处理器的多处理机,对远程存储器访问时间为200ns。除了通信以外,假设所有其他访问均命中局部存储器。当发出一个远程请求时,本处理器挂起。处理器的时钟频率为2GHz,如果指令基本的CPI为0.5(设所有访存均命中Cache),求在没有远程访问的情况下和有0.2%的指令需要远程访问的情况下,前者比后者快多少? **参考答案**: 在没有远程访问的情况下的机器速度是有0.2%远程访问的机器速度的2.6倍。 **详细解析**: - **考点**:CPI计算与远程访问开销分析 - **原理**:实际CPI = 基本CPI + 远程访问率 × 远程访问开销 - **解题思路**: 1. 计算远程访问开销(以时钟周期数表示): 时钟周期时间 = 1/2GHz = 0.5ns 远程访问开销 = 200ns / 0.5ns = 400个时钟周期 2. 计算有0.2%远程访问的机器的实际CPI: CPI = 0.5 + 0.2% × 400 = 1.3 3. 计算速度比: 速度比 = 1.3 / 0.5 = 2.6 - **关键结论**:少量远程访问(0.2%)就会导致性能下降为原来的约1/2.6,说明在多处理机系统中,减少远程通信、优化数据局部性是提高性能的关键。 --- ## 综合考点总结 ### 本章习题涉及的主要考点 1. **Amdahl定律** - 公式:加速比 = 1 / (S + (1-S)/N) - 应用:根据给定加速比和处理器数量,计算程序中串行部分的最大比例 2. **CPI性能计算** - 公式:实际CPI = 基本CPI + 远程访问率 × 远程访问开销 - 远程访问开销 = 远程访问时间 / 时钟周期时间 3. **多处理机系统性能分析** - 理解并行比例与加速比的关系 - 理解远程访问延迟对系统性能的影响 - 计算/通信比率的概念 ### 关键概念 - **加速比**:并行系统性能提升的倍数 - **串行比例**:程序中必须串行执行部分的比例 - **CPI**:每指令周期数,衡量处理器性能的基本指标 - **远程访问延迟**:处理器访问远程存储器所需的时钟周期数