〖课前思考〗
什么样的并行算法、并行程序和并行系统才是好的?给定一个并行算法(并行程序),怎么衡量、分析和改进它的性能?可以改进到什么程度?哪些因素会决定一个并行算法(并行程序)的性能?怎么衡量它们的影响?这都是并行计算中经常需要考虑的问题。在介绍并行程序分析模型之前,需要考虑这些问题;在介绍了并行程序分析模型的一些概念之后,需要考虑这些概念提出的目的是什么?这些概念之间有什么样的关系?最后,要学会怎么在实际中进行性能分析。
〖学习目标〗
并行程序分析是并行计算的四大基本内容之一。通过对本章的学习,需要掌握并行程序分析中的基本概念和基本的分析方法,并能够将分析的思路和方法用于实际的并行系统分析中去。本章中的讨论同时还揭示出并行计算中的一些基本因素之间的相互关系,这对理解并行计算的基本问题是很重要的。
本章中系统地对并行计算性能指标、加速比定律和并行系统的可扩展性做了介绍和分析。
〖学习指南〗
学习中,重要的是学习分析的思路,学会怎么分析各种因素对并行系统的影响,怎么去衡量它。更重要的是,并行程序分析模型是用来指导并行算法(并行程序)设计的。所以熟悉并行算法(并行程序)设计中需要考虑的问题,学会在各种因素之间进行权衡,以设计出所需的并行系统是更高的要求。
〖难重点〗
加速比、效率的概念与相关定律,可扩展性分析,并行算法设计中的一些基本因素之间的相互关系。
〖知识点〗
● 运行时间
● 加速比
● 绝对加速比与相对加速比
● 线性加速比与超线性加速比
● 效率
● 开销
● 问题规模
● Amdahl定律
● Gustafson定律
● Sun和Ni定律
● 并行系统
● 最优串行算法
● 已知最快串行算法
● 并行系统的可扩展性
● 等效率函数
● 等速度可扩展性
● 平均延迟可扩展性
● 开销最优
● 物理处理器与虚拟处理器
● 数据分布与计算映射
● 最小运行时间分析
● 额外开销函数
● 粒度和数据分布对性能的影响
● 并发度
|