并行与性能
引入
词汇
| English | 释义 | 拼音 |
|---|---|---|
| instruction-level parallelism | 指令级并行 | zhǐ lìng jí bìng xíng |
| SMT | 同时多线程 | tóng shí duō xiàn chéng |
Amdahl 天花板
- 程序有串行部分与可并行部分 $f$。$p$ 个处理器上:$\text{加速比} = 1/((1-f) + f/p)$——串行部分永不缩短,$p \to \infty$ 时天花板是 $1/(1-f)$。
- $f = 0.9$:至多 $10\times$;$p = 8$ 时 $4.71\times$;$p = 16$ 时 $6.40\times$——后八个处理器只加 $1.7\times$,前八个加了 $4.7\times$。$f = 0.99$ 时要 $50\times$ 恰好需要 $p = 99$。

{exercise:uni-cs0606-amdahl}
练习
f = 0.9 时加速比天花板是——
难度 1/5 · 今日首次完成可获 100 金币及少量额外奖励
p 无界时趋于 1/(1−f)=10。
给加速比定价
- 渲染花 36 s 合成(串行)、64 s 着色(并行):$f = 0.64$。4 处理器:$1/(0.36 + 0.16) = 1.92\times$,运行 $52.0$ s。8 个:$2.27\times$、$44.0$ s——串行尾巴开始主导,下一步该买算法而不是机器。
- 只报实测加速比:基线是同一程序同一机器单核激活;峰值假设 $f = 1$,没有程序做得到。
{exercise:uni-cs0606-price}
练习
36 s 串行 + 64 s 并行在 p = 4 上得——
难度 1/5 · 今日首次完成可获 100 金币及少量额外奖励
f=0.64:1/0.52=1.92;100×0.52=52.0 s。
并行性阶梯
- 在核心之前,流水线本身就是指令级并行 instruction-level parallelism:五级机重叠五条指令。硬件线程(SMT 同时多线程)用别的线程填气泡——冒险数学对每线程照旧成立。
- 这座阶梯——核内 ILP、每核线程、每片多核——只有一部梯子、一条纪律:每一级都靠在 Amdahl 上。
{exercise:uni-cs0606-ladder}
练习
流水线本身是——的一种形式。
难度 1/5 · 今日首次完成可获 100 金币及少量额外奖励
五级重叠五条指令——单核内的 ILP。