ONEPSOFT | 软考学习知识库
calculate3|第3章 计算机系统基础+性能评估Amdahl分步解题
配套动画:calculate17|第3章 计算机系统基础+性能评估Amdahl解题动画.html 教材依据:《系统分析师教程(第 2 版)》第 3 章 计算机系统基础(性能评价:阿姆达尔定律);响应时间/吞吐量定义见第 11、12、17 章质量属性章节。
一、题目
某数据处理系统,总执行时间中 40% 消耗在磁盘 I/O 子过程(改进比例 f = 0.4)。现将该部分升级为固态存储,使其速度提升到原来的 5 倍(加速倍数 n = 5)。升级前系统处理单个任务的平均响应时间为 T0 = 0.6 秒。求:
二、基础公式(先背熟)
| 公式 | 含义 |
|---|---|
| 阿姆达尔 S = 1 / \[ (1 − f) + f / n ] | 局部提速 n 倍且占整体比例 f 时,整体加速比 |
| 阿姆达尔极限 S\_max = 1 / (1 − f) | 改进部分快到瞬时(n→∞)时的整体上界 |
| 响应时间 T = T0 / S | 改进后单任务耗时随加速比反比缩短 |
| 吞吐量 TP = 1 / T | 单流串行下,单位时间处理量 = 响应时间倒数 |
三、分步计算
第 1 步:整体加速比 S
局部磁盘 I/O 提了 5 倍,但整系统只快约 1.47 倍——因为其余 60% 不可改进部分纹丝不动(阿姆达尔瓶颈)。
第 2 步:响应时间换算
原来 0.6 秒/任务,现在约 0.41 秒/任务,快了约 1.47 倍(= S)。
第 3 步:吞吐量换算
吞吐量同样提升约 1.47 倍(与 S 一致):每秒从处理 1.67 个提升到 2.45 个任务。
第 4 步:阿姆达尔极限
这是系统提速的硬上限。哪怕磁盘 I/O 快到极致,整系统最快也只 1.67 倍;想再快必须去优化那 60% 的不可改进部分。
四、结果汇总
| 项目 | 数值 | 说明 |
|---|---|---|
| 改进比例 f | 0.4 | 磁盘 I/O 占 40% 时间 |
| 局部加速倍数 n | 5 | 固态存储提速 5 倍 |
| 整体加速比 S | 1.47 | 1/\[ (1−0.4)+0.4/5 ] |
| 响应时间 T | 0.41 秒 | T0/S = 0.6/1.47 |
| 吞吐量 | 1.67 → 2.45 | 改进前 / 后(任务/秒) |
| 理论极限 S\_max | 1.67 | 1/(1−f) |
五、常见陷阱