并行算法分析
基本指标
并行算法分析 VS 串行算法分析
- 串行算法评价:算法时间复杂度表示为输入规模的函数
- 并行算法评价:除了输入规模之外,还应考虑处理器数目、**处理器相对运算速
度、通信速度** - 评价标准
- 运行时间
- 加速比:并行算法比串行算法快多少?
并行程序设计的复杂性
- 足够的并发度(Amdahl定律)
- 并发粒度
独立的计算任务的大小 - 局部性
对临近的数据进行计算 - 负载均衡
处理器的工作量相近 - 协调和同步
谁负责?处理频率?
并行算法的额外开销
除了串行算法要做的之外的工作
1. 进程间通信:最大开销,大部分并行算法都需要
2. 进程空闲:负载不均、同步操作、不能并行 化的部分
3. 额外计算
最优串行算法难以并行化,将很差的串行算法并行化,并行算法计算量>最优串行算法
最优串行算法并行化也会产生额外计算:并行快 速傅立叶变换,旋转因子的重复计算
性能评价标准
运行时间
串行算法:TS,算法开始到结束的时间流逝
并行算法:TP,并行算法开始到最后一个进 程结束所经历时间并行算法总额外开销
To&#