Brent定理
概述
Brent定理(Brent’s Theorem)刻画了动态多线程计算在有限处理器上的并行执行时间下界:,其中 是总工作量(work), 是关键路径长度(span), 是可用处理器数。其含义是:并行时间不超过 span 加上剩余 work 均匀分摊到 个处理器。当 时达到最优并行性。
定义
形式化定义(Brent's Theorem)
设一个动态多线程计算的总工作量为 (单处理器串行执行时间),关键路径长度(最长依赖链)为 (无限处理器下的并行执行时间),可用处理器数为 。则使用贪心调度策略时,并行执行时间 满足:
参数说明:
- (work):所有线程的总操作数,即串行执行时间
- (span):计算依赖图中最长路径的长度,即并行下界
- :可用处理器数量
- :使用 个处理器时的实际并行执行时间
推论:最优处理器数
对 Brent 不等式求关于 的导数,可知当 时, 达到最小值:
此时并行度 恰好等于处理器数,达到最优并行性。继续增加处理器数不会显著减少执行时间。
核心性质
| 性质 | 描述 |
|---|---|
| 下界保证 | ,即并行时间至少是 work 均摊和 span 中的较大者 |
| 上界刻画 | 贪心调度下 不超过 span 加上剩余 work 的均匀分摊 |
| 渐近最优 | 当 时,,达到渐近最优 |
| 收益递减 | 当 时,增加处理器带来的加速比趋于饱和 |
| 通用性 | 适用于任何满足 work-span 模型的动态多线程计算 |
直观理解:将计算想象成一条关键路径(span)加上大量可并行的旁路工作。 个处理器首先全力处理关键路径上的任务(耗时 ),剩余的 工作量均匀分摊给 个处理器(耗时 ),两者之和即为总时间的上界。
应用场景
Brent 定理是分析多线程算法在不同处理器数上性能的核心工具:
- 并行算法性能预测:给定 和 ,预测在任意 个处理器上的执行时间
- 处理器数选择:确定最优处理器数 ,避免资源浪费
- 加速比分析:加速比
- 并行度评估:并行度 表示算法能有效利用的最大处理器数