“Downsweep 同样访问 $O(n)$ 个节点、深度 $O(\log n)$。上下两遍合计 $$ W=\Theta(n),\qquad D=\Theta(\log n). $$ 由Bre…”
定理 ​
把计算固定为带 precedence 边的有向无环图:每个节点恰耗一个离散时间步,总节点数即 work
的一种常见精细版本成立;忽略取整可写成
结合容量与关键路径下界,得到
所以这个单位时间 DAG 模型中的贪心调度在常数因子内最优。
满轮与非满轮证明 ​
把调度轮分为两类。满轮执行恰好
在一个非满轮中,任取剩余 DAG 的最长路径,它的第一个节点必然 ready,因此本轮会被执行。轮末所有剩余最长路径至少失去首节点,剩余 depth 严格下降 1。初始 depth 为
两类相加给
一个分层 DAG 的调度轨迹 ​
设五个依赖层的 ready 数量依次为 8、6、4、3、2,且后一层必须等前一层全部完成。取
定理给
而通用下界为
处理器区间与 work efficiency ​
若
此时增加处理器可近似线性加速。若
定理不会修复超线性 work。若并行算法
Scan 的代入例子 ​
work-efficient 的并行 scan有
当
适用条件 ​
定理开头的模型假设不能从公式中省去。带权任务可拆成单位链或使用加权版本,但不可抢占任务会引入额外最大任务长度项。
共享内存冲突、通信、任务创建和同步开销均未计入。现实调度器若无法发现所有 ready tasks,或因局部队列让处理器空闲,就不自动达到此上界;工作窃取需要独立的随机分析。
保证类型与消歧 ​
Brent 定理是给定 DAG 的确定性存在/贪心上界,不是期望界。若 DAG 本身由随机算法生成,可以对每个实现分别应用,再对
有些文献把它称 work–time scheduling principle,符号用
这里
参考资料
- Richard Brent, The Parallel Evaluation of General Arithmetic Expressions, Journal of the ACM, 1974.
- Guy Blelloch, Bruce Maggs, Parallel Algorithms, in Algorithms and Theory of Computation Handbook, 2010.
- Thomas Cormen et al., Introduction to Algorithms, 4th ed., MIT Press, 2022, multithreaded scheduling.