145 lines
5.6 KiB
Markdown
145 lines
5.6 KiB
Markdown
# 第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**:每指令周期数,衡量处理器性能的基本指标
|
||
- **远程访问延迟**:处理器访问远程存储器所需的时钟周期数 |