Files
2026-05-16 17:16:51 +08:00

145 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 第5章 线程级并行:多处理机 - 章节习题与答案详解
## 曲冠南qgn
**本章节无配套练习题**
---
## 李宏图lht
### 习题1Amdahl定律应用
**原题Slide 32**
有限的并行性使计算机要达到很高的加速比十分困难。
假设想用100个处理器达到80的加速比求原计算程序中串行部分最多可占多大的比例
解 Amdahl定律为
由上式可得并行比例0.9975
**参考答案**
并行比例约为0.9975即99.75%
**详细解析**
- **考点**Amdahl定律的应用
- **原理**Amdahl定律定义了并行系统加速比的计算公式加速比 = 1 / (S + (1-S)/N)其中S是串行部分比例N是处理器数量。
- **解题思路**
已知:加速比=80N=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
### 习题1Amdahl定律应用
**原题Slide 32**
有限的并行性使计算机要达到很高的加速比十分困难。
例: 假设想用100个处理器达到80的加速比求原计算程序中串行部分最多可占多大的比例
解 Amdahl定律为
由上式可得并行比例0.9975
**参考答案**
并行比例约为0.9975即99.75%
**详细解析**
- **考点**Amdahl定律的应用
- **原理**Amdahl定律定义了并行系统加速比的计算公式加速比 = 1 / (S + (1-S)/N)
- **解题思路**
已知:加速比=80N=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**:每指令周期数,衡量处理器性能的基本指标
- **远程访问延迟**:处理器访问远程存储器所需的时钟周期数