程序性能评价与优化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


S=
f + (1-f) / p
ts f ts
串行部分 单处理机 多处理机
: : :
( 1-f ) ts
可并行化部分
。。。。。。
……
p 个 处 理 机
tp
( 1-f ) ts / pLeabharlann Baidu
4.2.1 加速比定律
Ws + Wp = S= Ws + Wp/p = f + (1-f) = f +(1-f) /p = f W + (1-f) W f W +((1-f) W) /p

在对计算时间进行计时,常采用程序中需要执行的计算 步来表示。
4.1.2 并行算法的时间复杂性
令 f(n) 和 g(n) 是定义在自然数集合N 上的两个函数, 定义1: 如果存在两个正数 c 和 n0 ,使得对于所有 的 n n0 均有f(n) c g(n) ,则标记为: f(n)= ( g(n) ) 我们称 g(n) 为 f(n) 的上界。 定义2: 如果存在两个正数 c 和 n0 ,使得对于所有 的 n n0 均有f(n) c g(n) ,则标记为: f(n)= ( g(n) )


4.2.1 加速比定律

参数定义: P:并行计算系统的处理器数


W:问题规模
WS:应用程序中的串行分量 WP:可并行化部分 f:串行分量的比例(f=WS/W),1-f:并行分量的比例 TS=T1:串行执行时间,TP:并行计算时间





S:加速比,E:并行效率
4.2.1 加速比定律


1) 适用于固定计算负载的Amdahl定律
当并行计算机中处理器数目增加时,固定负载就被 分配给更多的处理器去并行执行,其主要目的是想 尽可能快地的得出结果,即计算任务的实时性要求 更高。 Amdahl 定律 (1967) :设 f 为给定计算任务中必须 串行执行的部分所占比例 (0≤f ≤1),对于一台含 有 p 个处理器的并行计算机,其最大可能的加速比 1 为:
4.1 并行程序的执行时间和并 行算法的时间复杂性
4.1.1 并行程序的执行时间

在消息传递系统中,求解一个算法的整个执行时间 tp 应 包括:

计算时间 tcomp 通信时间 tcomm 即:tp = tcomp + tcomm

对 COW 而言,通信时间一般近似地表示为:
tcomm = tstartup + n tdata
随着计算规模的增加和机器规模的扩大,研究计算系 统的性能是否能随着处理器数目的增加而按比例的增 加,就是并行计算的可扩展问题。为了方便地、可比 较地评价并行计算机系统的性能,人们提出了许多基 准程序,了解这些基准测试程序对于我们客观公正地 评价并行计算机系统非常重要。

4.2.1 加速比定律

在给定的并行计算系统上给定的应用,并行程序的 执行速度相对于串行程序加快的倍数,就是该并行 程序的加速比。
我们称 g(n) 为 f(n) 的下界。
4.1.2 并行算法的时间复杂性
定义3:如果存在正数 c1、c2 和 n0 ,使得对于所有的
n n0 均有c1 g(n) f(n) c2 g(n) ,则标记为
f(n)= ( g(n) )
我们称 g(n) 为 f(n) 的紧致界。 即:如果 f(n)= ( g(n) )且 f(n)= ( g(n) ) 则 f(n)= ( g(n) ) 算法的执行时间也称算法的时间复杂性,常用其上界 、下界 和紧致 界 表示。
4.1.2 并行算法的时间复杂性

计算/通信比: tcomp / tcomm

如果计算和通信时间具有相同的时间复杂性,则当问题 规模 n 增加时,通信开销往往会随之增加; 我们希望计算/通信比大于1,当问题规模 n 增加时,通 信开销会随之相对减少。


例如:通信时间= ( n ),而计算时间= ( n2 ),当 n 增大 到一定值后,计算时间将支配整个并行算法的执行时间。
1 f +(1-f) /p
1 f +(1-f) /p
ts S= f*ts +(1-f)ts/p
•当 p 无限增加时,加速比趋于 1 / f
4.2.1 加速比定律

对于部分问题,如实时性计算方面问题,一般 为固定工作负载。但对于许多问题,扩大计算 机规模是为了解决更大规模的问题,因此在对 并行程序(并行算法)进行评价时,采用 Amdahl定律就不能反映算法的可扩展性。
第四章 程序性能评价与优化
第四章 程序性能评价与优化
4.1 并行程序的执行时间和并行算法的时间复杂性 ● 4.1.1 并行程序的执行时间 ● 4.1.2 并行算法的时间复杂性 ● 4.1.3 代价最优算法
4.2 并行程序的性能评价 ● 4.2.1 加速比定律 ● 4.2.2 基准测试程序 4.3 程序的性能优化 ● 4.3.1 串行程序性能优化 ● 4.3.2 并行程序性能优化
4.1.3 代价最优算法

并行算法的代价:并行算法的运行时间 t与所需的处 理器数 p 之积,即 c = t * p。

如果一个并行算法的代价与相应的(最佳)串行算 法的执行时间在同一个数量级上,则称该并行算法 为代价最优的。
4.2 并行程序的性能评价
4.2 并行程序的性能评价

并行程序性能评测与并行计算机体系结构、并行算法、 并行程序设计一起构成了“并行计算”研究的四大分 支。在并行计算系统上进行计算的主要目标就是要加 速整个计算过程,所以研究并行系统(并行算法、并 行程序)加速性能十分重要。
4.2.1 加速比定律

我们要给出两个加速比性能模型: 适用于固定计算负载的 Amdahl 定律 适用于扩展问题的 Gustsfson 定律
1)
2)
4.2.1 加速比定律

Amdahl 定律的出发点:
固定不变的计算负载; 固定的计算负载分布在多个处理器上的, 增加处理器加快执行速度,从而达到加速的目的。 Gustsfson 定律的出发点: 对于很多大型计算,精度要求很高,即在此类应用中精度 是个关键因素,而计算时间是固定不变的。此时为了提高 精度,必须加大计算量,相应地亦必须增多处理器数才能 维持时间不变; 除非学术研究,在实际应用中没有必要固定工作负载而计 算程序运行在不同数目的处理器上,增多处理器必须相应 地增大问题规模才有实际意义。
相关文档
最新文档