公式
公式
加速比上限 = 1 / s(s 为串行部分占比)
例:串行 20% → 整体加速比上限 5 倍
先削减串行段(锁、单点、串行队列)收益更明显串行占比与理论上限
| 串行占比 s | 加速上限 1/s |
|---|---|
| 5% | 20 倍 |
| 10% | 10 倍 |
| 20% | 5 倍 |
| 50% | 2 倍 |
| 扩展规模场景 | 参考 Gustafson 定律:扩大问题规模时并行占比上升,收益可高于 Amdahl 上限 |
|---|---|
| 落地偏差 | 真实系统还要计入通信、调度与争用开销,实测收益通常低于理论值 |
- 拆分测量:先用剖析工具统计各段耗时占比
- 识别串行:锁、单点服务、串行队列与共享争用
- 先削串行:串行段缩小后再投入并行优化
- 复测验证:每轮优化后复测占比与整体加速比
- 收益核算:并行段间的同步与合并开销计入总账
| 测量建议 | 占比按剖析采样或埋点实测得出,不用代码行数或主观估计 |
|---|---|
| 延伸模型 | 并发度更高时参考通用可扩展性定律(USL),把争用与一致性延迟一并计入 |
| 汇报口径 | 给结论时同时给出当前占比、理论上限与下一步削减串行的计划 |
优化前先量化各段占比,避免投入大量资源在并行段却收益有限。