第三章 可扩展性能原理...

63
第第第 第第第第第第第 性性性性 性性性性性性性性 性性性性 性性性性 性性性 性性性性性性性性性性性性性性 :、、、() 性性性性性性性性性性性性性性性 性性性性性 : (1)Amdahl 性性性性 性性性 )( 1967 (2)Gustafson 性性性性性性1988 (3)Sun & Ni 性性性性性性性性性性1993 性性性性性性性性性 性性性性性性性性性性性

Upload: phila

Post on 12-Jan-2016

130 views

Category:

Documents


0 download

DESCRIPTION

第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序 加速比模型: (1) Amdahl( 阿姆达尔)定理(1967) (2) Gustafson 可扩展加速比(1988) (3) Sun & Ni 受限存储器加速比模型(1993) 研制大规模并行系统,首先要解决可扩展性问题. 3.1 性能指标和测量 分析:并行性分布图(不考虑通信时延、资源限制) 定义:渐近加速比因子 介绍概念:并行计算系统的效率、利用率、冗余度、质量 探讨:这些性能指标之间折中的可能性(从性能价格比) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

第三章 可扩展性能原理

性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系)

标准的性能度量方法基准测试程序

加速比模型 :

(1)Amdahl (阿姆达尔)定理( 1967 )(2)Gustafson 可扩展加速比( 1988 )(3)Sun & Ni 受限存储器加速比模型( 1993 )

研制大规模并行系统,首先要解决可扩展性问题

Page 2: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 1 性能指标和测量

分析:并行性分布图(不考虑通信时延、资源限制)

定义:渐近加速比因子

介绍概念:并行计算系统的效率、利用率、冗余度、质量

探讨:这些性能指标之间折中的可能性(从性能价格比)

常用性能指标: MIPS,Mflops, TRS

Page 3: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 1 . 1 程序的并行性分布图

并行度:并行计算机执行一个程序。可在执行过程的不同时间范围内,使用不同数目的处理机。每个时间范围内,使用处理机的数目称为并行度( DOP)

并行性分布图:并行度是一个离散时间函数,它的时间函数曲线则称并行性分布图。(分布图变化与算法结构、程序优化、资源利用率、其他所需资源有关。在实际使用上,资源是有限制的,因此一般达不到 DOP 值)“ 受资源限制”的含义:

DOP 需要的 PE 数目超过实际系统所能提供的数目,意味一些并行分支必须成块顺序执行。受限于存储器和其他非处理机资源。

Page 4: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

平均并行性:求并行性分布图的平均值(例 3 . 1 ,图 3 。 1)

设:并行计算资源: n 台同构处理机最大并行度 m (一个时间范围内,最多使用处理机的数目)单台处理机处理能力 Δ (用MIPS 等执行速率估算)不考虑存储器访问、通信时延、系统开销等因素。

观察期(总执行时间 t2-t1):i台 PE 忙碌,即 DOP=I, ,希望 n 》 m则 完成工作量 w =△∫DOP(t)dt 即曲线面积

平均并行性 A=1/(t2-t1) ∫DOP(t)dt

离散求和形式: A=∑ (Mi*ti)/(Mti) ( i与 ti 的乘积 [i=1到 m]的总和)

Page 5: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

例 : 分治算法 (Sun & Ni, 1993) ,图 3-1

并行性分布图: m=8 ,观察期( t1~t2)

平均并行性A=(1x5+2x3+3x4+4x6+5x2+6x2+8x3)/(5+3+4+6+2+2+3)

=93/25 =3.72

Page 6: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 7: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

有效并行性:

DOP 与计算机系统结构,算法结构,程序优化,资源利用率,运行条件等有关。

乐观:(Manoj Kumar 1988) 理想的环境,计算密集代码

每个时钟周期可并行执行 500~3500 个算术运算 即 DOP=500~3500 ,如 n=3500, 则可达到最大 DOP.

(Nicolau & Fisher 1984) 标准 Fortran在 VLSI 运行 可 使并行性提高 90 倍

悲观: (David Wall 1991)指令集并行性极限 =5 (极少 >7 )

例:超标量计算机 2.0~5.8 条指令 / 周期去除约束条件, DOP=17

Page 8: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

小结:

应用程序可经过编译器优化、算法重新设计来提高有效并行性;

但通过抽取并行性而形成“基本程序块”(具有单入口,单出口一个指令序列或指令块),会使原来程序中的潜在指令级并行性局限在 2~5 倍;

当同时用多台处理机开发超过基本程序块界限的并行性时,有些科学计算程序的 DOP 可高达数千。

Page 9: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

渐近加速比

Δ— 单处理机计算能力W— 运行工作量,当 DOP=I 时, Wi=iΔti单处理机上(顺序运行), Wi 的运行时间 ti(1)=Wi/Δk台处理机上, Wi 的运行时间 ti(k)=Wi/kΔ无穷多 台 处 理 机 上 , Wi 的 运 行 时 间 ti(∞)=Wi/iΔ (1≤i≤m)响应时间: T(1)= ∑ti(1) (1≤i≤m) =∑Wi/Δ T(∞) = ∑ti(∞) (1≤i≤m) = ∑Wi/iΔ

渐近加速比 S∞=T(1)/ T(∞)理想加速比 S∞=A ,即平均并行性。考虑开销, S∞≤A(渐近加速比、固定负载加速比)

Page 10: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 1 . 2 调和均值( harmonic mean )性能

一个 n台 PE 的并行计算机系统,以不同性能级别、不同模式执行 m 个程序。要用“加权分布”方法,确定多模式计算机的“平均性能”,即“性能表达式”。

调和均值性能是通过大量程序以不同模式运行所显示的平均性能。

James Smith (1988)算术平均性能表达式几何均值性能表达式调和均值性能表达式,调和均值加速比, Amdahi 定律

Page 11: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

算术平均性能( arithmatic mean )表达式

设 {Ri} 为程序 i=1,2,…,m 的执行速率算术均值执行速率 Ra=∑ Ri/m (1≤i≤m)

加权算术均值执行速率 Ra*=∑(fi*Ri) (1≤i≤m) 其中分布加权 (fi,i=1,2,…,m)

上式表明:算术均值执行速率 与执行时间倒数之和成正比,而不是与执行时间之和成正比。所以, Ra 不能代表基准程序实际执行时的真正耗时

Page 12: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

几何平均的特点:在对各种机器性能比较进行性能规格化过程中,不论取哪一台作参考机,均能保持比较结果的一致性。

例:设有计算机 A, B, C,运行程序 1和 2。以 A机为参考机,结果如下:程序 A机 B机 C机

1 1 2 0.5

2 1 0.5 2

Am(A)=1, Am(B)=1.25, Am(C)=1.25

以 B机为参考机,则结果如下:程序 A机 B机 C机

1 0.5 1 0.25

2 2 1 4

Am(A)=1.25, Am(B)=1, Am(C)=2.125

Page 13: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

几何均值性能( geometric mean )表达式

与算术均值性能类似:•几何均值执行速率•加权分布几何均值执行速率

几何均值执行速率不是全部实际性能之和,它与总时间没有倒数关系。

几何均值性能表达式用于设计的机器与参考机器规格化后性能的比较。

Page 14: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

调和均值性能( harmonic mean )表达式

程序 i 的每条指令平均执行时间: Ti=1/Ri

每条指令的算术均值执行时间: Ta=1/m∑(1/Ri)

对 m 个基准程序的调和均值执行速率: Rh=1/Ta

分布加权调和均值执行速率: Rh*=1/ ∑(fi/Ri)

表明:最接近实际性能的一种表达式。 因为,该表达式对应“总时间除总操作数(集中在一个单位时间内)”

Page 15: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

调和均值加速比

定义:若程序(一个程序或多个程序组合的工作负载)使用 i台 PE ,则称程序以模式 i 运行,相应的运行速率 Ri则表示 i台 PE 的“群体速度”

设给定程序以加权分布 {f, i=1,2,…,n} 的 n种执行模式运行,则加权调和均值加速比可表示为 S=T1/T*=1/(∑(fi/Ri),其中 T*= 1/Rh* 是对 n种执行模式的加权算术均值执行时间

Page 16: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

四种加速比曲线比较( Hwang & Briggs, 1984)例 3 . 2 图 3-2

•理想情况(虚线):设 Ti=1/i (i=1,2,…,n)即 i台 PE 在最短时间内完成一个单位时间作业(也即 i台PE全部被利用,无空闲),执行速率将从 Ri=1增加 i 倍,即 Ri=i

•三种概率分布对应三种处理机应用模式。设加权调和均值加速比 S=∑ i (1≤i≤m) ( 1 )对 n种模式均匀分布对应( 1/n,1/n,.,1/n)( 2 )有利于使用多 PE(1/s,2/s,…,n/s)( 3 )有利于使用较少 PE(n/s,(n-1)/s,…,2/s,1/s)

Page 17: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 18: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

Amdahl (阿姆达尔)定律

定性说明:

在计算机系统结构设计中,需要平衡各功能部件之间的速度,为此 IBM360 系列机主要设计者 Amdahl 提出了一个反映部件速度与系统整体性能关系的定律。

该定律指出:系统中对某一部件采用某种更快执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频度,或所占总执行时间的比例。

也就是说:该定律实际上定义了采用增强(加速)某部分功能处理后可获得的性能改进或执行时间的加速比。

Page 19: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

定量分析:若以 To表示采用增强功能措施之前完成某一任务所需的时间 ,

而以 Te表示采用某种增强功能措施后完成同一任务所需的时间 ,

以 fe表示可采取增强功能措施的部分的使用频度( 0≦ fe≦ 1) ,

而以 re表示采用增强功能措施比不采用增强功能措施可加快执行的倍数。

则性能(或时间)加速比 Sp 可用以下公式表示:

Sp=To/Te=1/(1-fe+(fe/re))

说明:

该公式分母中的 1-fe表示不可增强性能部分:显然当 fe 为 0 ,即没有增强性能的部件时, Sp 为 1 。当 re→∞,分母中 fe/re项趋向于 0 ,此时 Sp=1/(1-fe) 。因此,可获得性能改善的极限值受 fe 值的约束。

根据本定律,在采用措施提高计算机系统的速度时,应当首先提高使用率最高的部件的速度。这已成为计算机系统设计的一条基本准则。

在确定计算机软硬件界面时,也应该按照这个准则,将使用频率高的功能用硬件实现,其余功能用软件实现。

Page 20: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

Amdahl (阿姆达尔)定律

形式表示:

设执行速率 Ri=i ,加权分布概率 =(,0,0,…,0,1-)

即 1=, n= 1-,而 i≠1与 i≠n时, i=0

物理意义:系统不是用于概率为的一台处理机纯顺序模式,就是用于概率为 1-的 n 台处理机完全并行模式。

其加速比表达式: Sn=n/(1+(n-1) )

当 n 时 ,S1/. 即在上述概率假设条件下,不管采用多少台处理机,可达到的最好加速比的上限是 1/

本定律指出:只要存在串行因子,系统性能就不可能高。

图 3-3 中, =0.9 ,说明几乎都是串行,即使处理机用 1024个,其加速比仍然很低。

Page 21: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 22: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 1 . 3 效率、利用率、质量这些是评价并行计算的参数,在实际应用中常常将这些性能因子折中。

( 1 )系统效率 E(n):设 O(n)--n 台处理机系统完成总的单元操作数 T(n)-- 用单位时间步表示的执行时间则 单处理机系统 T(1)=O(1) 加速比因子 S(n)=T(1)/T(n) n 台处理机系统的系统效率 E(n)=S(n)/n =T(1)/(nT(n))因此 1S(n)n ,所以 1/nE(n)1实际所达到的加速比性能程度与其最大值之比。效率最低:单处理机按顺序执行全部程序代码;效率最高: n 台处理机在整个执行过程中全部被利用。

Page 23: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

( 2)冗余度和利用率

并行计算的冗余度 R(n):n台处理机完成总的单元操作数 O(n) 与单处理机完成总的单元操作数 O(1) 之比: R(n)= O(n)/O(1) 表明:软件并行性与硬件并行性之间的匹配程度。

并行计算的系统利用率 U(n): U(n)=R(n)n

=O(n)/(nT(n))表明:并行程序在执行过程中资源保持在“忙”状态下 的百分比。

Page 24: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

(3)并行性的质量 Q(n):

并行计算的质量 Q(n) 与加速比 S(n) 和效率 E(n) 成正比,而与冗余度 R(n) 成反比。 Q(n)=(S(n)n)/R(n)

图 3-4 理想的工作负载和性能曲线

Page 25: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 26: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

总结:

加速比 S(n):表示并行计算的速度增益程度;

效率 E(n):衡量 n台处理机所完成总工作量的有用部分;

冗余度 R(n):衡量工作负载增加的程度;

利用率 U(n):表示并行计算中资源被利用的程度;

质量 Q(n):把加速比、效率和冗余度所产生的效果综合成一个表达式来评价计算机系统上并行计算的相对性能。

Page 27: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 1 . 4 标准性能测量

计算科学四大部分之一:•系统结构(体系结构)•系统软件•算法及程序设计•性能评测

性能评测的二个部分•评估 - 原始数据进行逻辑推算: MIPS,TP,PDR….•测试 - 度量计算机系统性能(基准测试程序):SPEC….

Page 28: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

TP-理论峰值,一般生产制造商提供

•主频•每机器周期的结果数•处理机个数三个参数之积

以自强 2000为例:Intel 处理机单片有•四条浮点操作流水线•二条整数操作流水线•一条混合流水线可以组合:以四条计算: PIII500MHz 则 TP=500X4=20亿次 /秒浮点操作

Page 29: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 30: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

Intel Pentium III SpecificationClockspeed(MHz)

  450 500500E 533EB 550550E 600600E 600EB 650 667 700 733 750 800 850 866 1000

Datei ntroduced

  Feb.26,1999

Feb.26,1999

Oct.25,1999

Oct.25,1999

May17,1999

Oct.25,1999

Aug.2,1999

Oct.25,1999

Oct.25,1999

Oct.25,1999

Oct.25,1999

Oct.25,1999

Oct.25,1999

Dec.20,1999

Dec.20,1999

Mar.20,2000

Mar.20,2000

Mar.8,2000

Operati ngvol tage

  2. 2 2. 2 1. 7 1. 7 2. 2 1. 7 2. 2 1. 7 1. 7 1. 7 1. 7 1. 7 1. 7 1. 7 1. 7 1. 7 1. 7 1. 7

Desi gn rul es   0. 25 0. 25 0. 18 0. 18 0. 25 0. 18 0. 25 0. 18 0. 18 0. 18 0. 18 0. 18 0. 18 0. 18 0. 18 0. 18 0. 18 0. 18

Memory speed(max. )

  100 100 100 133 100 100 100 100 133 100 133 100 133 100 133 100 133 133

Performance                                      

(esti mated) Spec95I nteger

17 17. 6 18. 3 19. 5 19. 6 20. 1 21. 2 22 23. 4 25. 2 25. 8 26. 9 27. 928. 8e 30. 9e 32. 7e 33. 0e 38. 7e

(esti mated) Spec95Fl oatingPoi nt

13. 5 14. 4 14. 8 15. 8 15. 9 16. 7 17. 3 18 19 20. 4 20. 9 21. 8 22. 623. 4e 25. 1e 26. 5e 26. 7e 31. 3e

Page 31: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 32: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 33: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

PDR-数据处理速率

L- 加权平均的每条指令传输的位数

R- 加权平均的每条指令的时间

Page 34: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

测试组织与测试程序

LINPACK-以求解密集线性代数方程组的程序包

国际科学与工程计算标准应用软件包:BLAS、 BLACS、 ATLAS、 LAPACK、 ScaLAPACK

SPEC-全部选用实际的应用程序,提供标准、公正,并可在各种硬件结构间进行高强度计算性能比较的方法。

Page 35: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

TPC(Transaction process performance Council)

事务处理性能测试委员会:•事务吞吐量:当系统执行 Payment,Order-Status,Delivery,Stock-level 等四种类型的事务时,每分钟可完成多少 New-Order事务。•性能价格比:涵盖用户可能购买的各种系统环境的所有价格因素(硬件、软件、 3 年维护费用)

TPC-C: OLTP 测试标准

TPC-D :决策支持系统测试标准

TPC-W :基于 Web 的测试标准

Page 36: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3. 2 并行处理的应用

3. 2. 1 开发重大挑战性的大规模并行性

高性能计算技术,是各国加强国防建设和国家安全的重要手段,是解决人类 21世纪面临的科学技术 “巨大挑战” (Grand Challenge) 问题的必要工具;它是衡量一个国家实力的重要标志。

国防建设: 核爆炸的计算机模拟;飞行物设计(波音 777的计算机模拟)等等; 国家安全:国家和军用机密通信的加密和解密; 科学技术 21 世纪的巨大挑战: 海洋流体循环计算、药物分子结构计算、 遗传基因研究计算、天体 N-Body 问题等等; 社会经济:宏观经济调控的复杂系统的解算

Page 37: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 38: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

开发大规模并行性

指令级和过程级中所包含的并行性比较有限,以每个机器周期从同一程序成功执行二条以上指令。

数据并行性比指令并行性高得多。数据并行性指对一大组数据(操作数)执行同一操作(指令或程序)的情况。已经在流水线向量处理机、 SIMD阵列机等实现。

Page 39: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 2 . 2 并行计算机的应用模型

从“工作负载”(问题规模)与“机器规模”来分析:

α曲线:问题规模 s保持不变,效率 E随机器规模增大而迅速下降。因为开销 h 比机器规模增加得快 。所谓“可扩展计算机”,使效率保持在一定要求水平上,按比例增大机器规模和工作负载。(图 3-6a、 b)γ曲线α曲线对应 Amdahl 定律,加速比(效率)有上限β曲线可以争取

Page 40: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 41: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

γ曲线 :理想情况。与机器规模 n 成线性关系的工作负载曲线,即问题规模有线性可扩展性

β曲线:可以争取的。接近线性关系的工作负载曲线,即问题规模有亚线性可扩展性

曲线:问题规模按指数增长,超过了资源的限制。表明系统的可扩展性很差。

Page 42: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

可扩展性能分析:

确定对已知问题的并行处理是否能得到预期的性能改善。用以指导MPP 设计工作。

提高性能而开发并行性,则对“可扩展”做结构、算法之间的折中。

系统结构可扩展容易受限:•通信时延•有限存储容量•有限 I/O带宽•有限 CPU 速率。。。

Page 43: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

三种应用模型(图 3-6)工作负载是不可能无限增加。这些模型受有限存储器、有限 IPC容许时延或有限 I/O带宽等限制。

•固定负载模型(对应 α曲线 /Amdahl 定律):最终受通信界限所限制。

•固定时间模型(对应 γ曲线 /Gustafson 定律):要求程序执行时间固定,不管负载的增长。

•固定存储容量模型( γ 曲线与 β曲线之间 /受限存储容量定律):

Page 44: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3. 2. 3 并行算法的可扩展性一种算法只有在实际机器上实现的价格合适时才被认为有效。所以机器可实现的算法都与结构有关,即通信开销和结构约束的影响不能忽略。

算法特性:•确定性与不确定性:不确定性算法一般为 NP 问题•计算粒度:数据项和程序模块的规模•并行性分布图:反映利用并行处理的机会,影响并行算法效率•通信模式与同步要求:通信模式与存储器访问、 PE间通信有关•操作均匀性:要完成的基本操作类型(例如流水线适合数据集进行均匀操作)•存储需求和数据结构:算法选定的数据结构和数据传送模式会影响存储效率

Page 45: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

恒定效率概念( Kumar & Row, 1987)

通常,算法的工作负载会随问题规模 s 而增长。一个并行算法在并行系统上实现时,为保持效率 E固定,所需的工作负载与机器规模 n 的相对关系。

设总通信开销 h ,它是工作负载与机器规模的函数 h=h(s,n)

说明:工作负载是有用计算,开销 h=h(s,n) 是无用计算。 当问题规模 s 一定, E随 n增大而降低, h随 n增大而增加。当机器规模 n 一定, h 的增长比工作负载要慢。因为效率随问题规模增大而提高。

Page 46: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

已知算法:保持恒定的效率,工作负载可能需要对 n以多项式或指数规律增长。

不同的算法:可能需要不同的工作负载增长速率,以便在n增加时保持效率不降低。

一般并行算法的恒定效率函数是 n 的多项式函数,恒定效率函数中 n 的幂越小,并行系统(包括算法和结构)的可扩展性越大。

Page 47: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 3 加速比性能定律

三种加速比性能模型•固定负载模型 Amdahl 定律( 1967 ):对应 α曲线;以工作负载 / 问题规模固定为基础,最终受通信界限所限制。•固定时间模型 Gustafson 定律( 1987 ):对应 γ曲线;解决问题规模随机器规模增大而增加的可扩展性问题,要求程序执行时间固定,不管负载的增长•固定存储容量模型 Sun & Ni( 1993):对应 γ曲线与 β曲线之间;加速比模型适合于受存储容量限制的可扩展性问题

以下从定性角度,讨论其物理意义

Page 48: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 3 . 1 Amdahl 定律:

将问题规模固定(即计算机工作负载固定),原来在串行计算机上执行的改在并行计算机上执行,执行时间就大大缩短了。追求的目标是获得最短的“周转时间”(体现并行处理的好处)

固定负载加速比 Sn=T(1)/T(n) 表明该工作量在 1 台处理机上执行的时间与在 n 台处理机上执行的时间之比

如果考虑开销 Q(n) , Sn=T(1)/(T(n)+ Q(n))开销包括:存储器访问、通信时延、操作系统开销和时延等等。

Page 49: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

Amdahl 定律假设一个程序的工作量 Wi 分二部分:W1- 顺序部分不随机器规模 n而改变,是顺序执行百分比Wn- 并行部分由 n台处理机均匀执行, 1- 是并行执行百分比表明:由于总工作量是不变的,并行部分在处理机数增加时,每台处理机分到的工作量减少,执行时间 Tn=Wn/n缩短,当 n很大时, Tn0. 而顺序部分则不改变(机器的性能最终由顺序部分来决定)。显然,可扩展性的瓶颈在顺序部分。结论:若 =0(全部可并行),得到最大加速比 Sn=n 若 =1(全部串行),最小加速比 Sn=1 当 n 时,加速比极限值 Sn1/

顺序瓶颈问题无法用增加系统处理机数目来解决。劝阻制造商生产大规模并行计算机加强开发并行编译器,以降低值图 3-8

Page 50: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 51: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 3 . 2 Gustafson 定律:

当机器规模增大时(计算能力的增大),使问题规模也增大(工作负载增大),但运行时间保持不变。适用以提高精确度为目的的将问题规模扩大的场合。例如气象预报中计算网格由“粗”变“细”,执行时间希望不变,但计算精度提高很多(当然计算量增加很多)

“固定时间”是指小机器解决小问题,大机器解规模尽可能大的问题,而二者所花的执行时间大体相同。

加速比: S’(n)=T(1)/T`(n)=(W1+nWn)/(W1+Wn) 其中 nWn 是对Wn 线性扩大 n 倍

用增大问题规模的办法使所有处理机保持“忙”状态,在问题扩大到与可用的计算能力匹配时,程序中的顺序部分就不再是瓶颈了。图 3-9

Page 52: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 53: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 3 . 2 Gustafson 定律:

基本思路:在存储空间有限的条件下,解尽可能大的问题(前二个定律仅考虑“受限 CPU” ,而未考虑“受限存储器”)

当将大量结点集中起来解决一个大问题时,总存储容量可随结点数的增加而直线上升。

结论:•存储容量的扩大与负载的增加有关联: Wn*=g*(nM) 其中 nM是 n 个结点的存储容量。•加速比 Sn*=(W1+G(n)Wn)/(W1+G(n)Wn/n) (假设:所有存储器集合能形成全局地址空间,且都能为求解扩展性问题所用)•其中 G(n) 是存储容量增加 n 倍时,工作负载的增加量。产生三种情况:

Page 54: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

1。 G(n)=1 ,相当于工作负载固定,与 Amdahl 定律一致

2 。 G(n)=n ,相当于存储容量增加 n 倍,工作负载也增大 n 倍

3 。 G(n)>n ,表明计算工作负载增加比存储容量增加的快。

固定存储容量模型可使工作负载扩展,也允许执行时间稍有增加。

图 3-10

Page 55: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 56: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 4 可扩展性的分析与探讨

可扩展性的简单定义:

在确定的应用背景下,计算机系统性能要随处理机数的增加而线性提高。

3 . 4 . 1 可扩展性的指标和目标

可扩展性研究 :

确定计算机结构与应用算法之间的匹配程度。一种比较好的系统结构应能有效地实现一大类应用算法(一种机器可能对一种算法很有效,而对另一种算法效果很差,这样的系统结构就不好。)

在联想情况下,计算机的性能应该在实现算法时能随处理机数的增加而线性地扩展。

Page 57: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序
Page 58: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

可扩展性指标机器规模 (n)- 处理机数, n 大表明资源多和计算能力强时钟速率 (f)- 决定机器的基本周期问题规模 (s)- 求解给定问题的计算负载总量CPU 时间 (T)-n 台处理机并行执行时间, T(s,n),T(s,1)

I/O 需求 (d)-传送与给定问题有关的程序、数据和结果的输入和 输出的要求存储容量 (m)- 程序运行时的存储器总容量,它与问题规模、程序规模、算法和所用的数据结构有关,在程序执行过程中动态地变化。通信开销 (h)- 处理机间通信、同步、远程存储访问等的时间量。h(s,n), 单机 h(s,1)=0 ,没有通信。计算机价格 (c)- 实现执行程序所需的硬件、软件资源总价格程序设计开销 (p)- 与应用程序有关的研制开销

Page 59: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

归纳:

在给定的结构、算法和问题规模 s,

设:

T(s,1)- 单处理机的顺序执行时间,

T(s,n)-n 处理机系统的最小并行执行时间(给定必要处理机数求解得到的最小运行时间),

h(s,n)- 所有通信与 I/O 开销总和,

渐近加速比 S(s,n)=T(s,1)/(T(s,n)+h(s,n))

系统效率 E(s,n)=S(s,n)/n 最佳效率 =1 ,即 S(s,n)=n

可扩展性的直观定义(由于限制过严,无实际意义):对任何数量 (n) 的处理机、任何规模 (s) 的问题,若所有算法的系统效率E(s,n)=1 ,则系统是可扩展的。

Page 60: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

可扩展性定义( Nussbaum & Agarwal, 1991)- 有实际意义

用实际机器的渐近加速比 S(s,n)与 EREW-PRAM 模型(禁止一个 PE以上对同一单元同时读 /写的并行随机存取模型)理想渐近加速比 Si(s,n) 之比。

(s,n) = S(s,n) / Si(s,n) =Ti(s,n)/T(s,n)

理想情况: Si(s,n)=n ,则效率 =1

Page 61: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 4 . 2 可扩展计算机的发展

( 1 )规模可扩展性:

当确定应用范围,问题规模增加时,系统性能线性上升。

规模可扩展性与空间局部性、时间局部性、部件瓶颈有关。

( 2 )时间可扩展性:

摩尔定理(每 18 个月,性能价格比翻一番) CPU三年过时

( 3 )问题可扩展性:

当问题规模增加时,系统能很好地在给定粒度下高效运行。

能高效计算运行的条件:问题粒度(格点的操作 / 相邻格点需要的数据)必须大于机器粒度(结点运算速率 / 结点到结点的通信数据速率)

Page 62: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

3 . 4 . 3 研究课题与解决方法

当系统扩展成 MPP 时:

问题 解决方法•存储访问时延过长 时延降低、快速同步•IPC复杂性或同步开销过高 较弱的存储器一致性•多 cache 不一致性 cache 一致性协议•系统规模增加,利用率降低 集成多线程结构•消息传递耗时太多 •系统规模增加,性能趋饱和 软件可移植性

Page 63: 第三章 可扩展性能原理 性能度量:并行计算的效率、冗余度、利用率、质量(涉及结构与算法之间相互关系) 标准的性能度量方法基准测试程序

支撑课题:

( 1 )软件可扩展性 - 算法优化与系统结构匹配

手段:性能调试、数值分析、优化编译器、可视化设计

( 2 )降低通信开销 - 准确估算通信开销最困难

难点:通信开销会随机器规模、问题规模增加而快速增加

了解运行条件极困难

使存储器时延限制在容许范围内

( 3 )提高可编程性

适应二个基本结构(共享分布式存储器、 PE 间简化消息通信机制)的异构程序设计范式

( 4 )耐用性与通用性

耐用性 - 提供地址空间足够大的结构

通用性 - 支持各种语言工作和目标软件的移植