28
§2.2 并行计算机性能测评 徐悦甡(Yueshen Xu) [email protected] 软件工程系 西安电子科技大学 《并行计算:Parallel Computing》 结构 编程 算法 应用

2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

§2.2 并行计算机性能测评

徐悦甡(Yueshen Xu)

[email protected]

软件工程系

西安电子科技大学

《并行计算:Parallel Computing》

结构 编程 算法 应用

Page 2: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机访存模型

均匀存储访问与非均匀存储访问

高速缓存存储访问

非远程存储访问模型等

体系结构与访存模型的关系

本节提纲

从存储器的角度

并行计算机性能测评

并行计算机的基本性能指标

加速比性能测评

可扩展性性能测评

性能测评的后半部分内容,很重要

2

Page 3: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评上节课已讲

并行计算机性能测评概述

硬件层面或机器层面

程序层面或软件层面或算法层面

并行计算机性能测评

硬件层面测试测评

程序/软件层面测评

计算开销

通信开销

存储开销

3

加速比性能测评

可扩展性测评

Page 4: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评上节课已讲

CPU的部分通用性能指标

浮点运算数(FLOPS)

执行时间 T

➢ T comput :计算时间,T paro :为并行开销时间,T comm:为相互通

信时间

➢ 每秒浮点运算次数,floating-point operations per second,FLOPS

➢ 原因:

- 1. 并行计算,特别是科学计算中大量使用浮点数,即小数

- 2. 浮点数运算比整数运算更花费时间,更有测量的意义与效果

T n = T comput + T paro+ T comm

4

Page 5: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评上节课已讲

算法层面/程序层面性能评测

➢ 并行系统的加速比是指对于一个给定的应用,并行算法(或并行程序)的执行速度相对于串行算法(或串行程序)的执行速度加快了多少倍

➢ Amdahl 定律

➢ Gustafson定律

➢ Sun Ni定律

可扩展性评测

➢ 等效率度量标准

➢ 等速度度量标准

➢ 平均延迟度量标准

开始关注软件,而不是硬件

加速比性能评测

5

Page 6: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评加速比

Amdahl 定律(阿姆达尔定律,固定负载)

➢ 𝑃:处理器数

➢ 𝑊:问题规模(计算负载、工作负载,给定问题的总计算量等)

6

➢ 𝑊𝑠:应用程序中的串行分量,𝑓是串行分量比例

𝑓 = 𝑊𝑠 / 𝑊

➢ 𝑊𝑝 :应用程序中可并行化部分,1- 𝑓为并行分量比例

𝑊𝑠 + 𝑊𝑝 = 𝑊

➢ Amdahl定律的出发点(三个)

- 固定不变的计算负载

- 固定的计算负载分布在多个处理器上

- 增加处理器,加快执行速度,从而达到加速的目的

Page 7: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评加速比

Amdahl 定律

S:加速比 如何计算?

7

W s+ W p可相应地表示为W×(𝑓 +(1- 𝑓))

p→∞时,上式极限为 S= ൗ1 𝑓

这意味着随着处理器数目的无限增大,并行系统所能达到的加速比

上限为= ൗ1 𝑓 ,这不是一个很有利的结论

𝑆 =𝑊𝑠 +𝑊𝑝

𝑊𝑠 + Τ𝑊𝑝 𝑝

𝑆 =ሻ𝑓 + (1 − 𝑓

𝑓 +1 − 𝑓𝑝

=𝑝

ሻ1 + 𝑓(𝑝 − 1

注: 𝑊𝑠 + 𝑊𝑝 = 𝑊

𝑊𝑠 = 𝑊 × 𝑓

固定负载的加速公式

串行时间 vs. 并行时间

Page 8: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评加速比

Amdahl 定律➢ 处理器个数与加速比的关系

8

Page 9: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评加速比

继续考虑并行的额外开销

𝑊𝑂为额外开销

9

=𝑊

𝑊 × 𝑓 +ሻ𝑊 × (1 − 𝑓

𝑝+𝑊𝑂

𝑆 =𝑊𝑠 +𝑊𝑝

𝑊𝑠 +𝑊𝑝

𝑝+𝑊𝑂

=𝑝

1 + 𝑓 × (𝑝 − 1ሻ +𝑊𝑂 Τ× 𝑝 𝑊

p→∞时,上式极限为𝑆 =1

𝑓+ Τ𝑊𝑂 𝑊

串行分量越大和并行额外开销越大,则加速越小

为什么要考虑额外开销? 额外开销不但存在,而且占比不容忽视

=1

1/𝑝 + 𝑓 × (𝑝 − 1ሻ/𝑝 +𝑊𝑂/𝑊

Page 10: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评加速比

Gustafson定律

10

出发点

➢ 精度要求

- 对于很多大型计算,精度要求很高,即在此类应用中精度是个关键因素,而计算时间是固定不变的

- 此时为了提高精度,必须加大计算量,相应地亦必须增多处理器数才能维持时间不变

➢ 实际应用

- 除非学术研究,在实际应用中没有必要固定工作负载而计算程序运行在不同数目的处理器上

- 增多处理器,相应地增大问题规模才更有实际意义

- 对大多数问题,问题规模的改变只会改变计算中并行计算量,而不会改变串行计算量

Page 11: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评加速比

Gustafson定律

11

𝑆′ =𝑊𝑠 + 𝑝 ×𝑊𝑝

𝑊𝑠 + 𝑝 × Τ𝑊𝑝 𝑝

𝑆′ = 𝑓 + 𝑝 × (1 − 𝑓)

=𝑊𝑠 + 𝑝 ×𝑊𝑝

𝑊𝑠 +𝑊𝑝

= 𝑝 + 𝑓 × (1 − 𝑝ሻ = 𝑝 − 𝑓 × (𝑝 − 1ሻ

𝑊𝑠:应用程序中的串行分量,𝑓是串行分量比例

𝑊𝑝 :应用程序中可并行化部分,1 − 𝑓为并行分量比例

𝑊𝑠 = 𝑊 × 𝑓, 𝑊𝑝= 𝑊 × (1 − 𝑓ሻ

= 1 − 𝑓 × 𝑝 + 𝑓

Page 12: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评加速比

结论

➢ 当𝑝充分大时, 𝑆′与𝑝几乎成线性关系,其斜率为1 − 𝑓

➢ 这意味着随着处理器数目的增加,加速几乎与处理器数成比例的线

性增加

➢ 串行比例𝑓不再是程序的瓶颈,这对并行计算来说是一个乐观的结论

𝑆′ = 1 − 𝑓 × 𝑝 + 𝑓

𝑆′ = 1 − 𝑓 × 𝑝 + 𝑓

Page 13: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评加速比

Gustafson定律➢ 处理器个数与加速比的关系

13

Page 14: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

超线性加速

两种可能的情况

情形一:提前中止

➢ 在某些并行搜索算法中,不同的处理器会在不同分支方向上同时搜索

➢ 当某一处理器一旦迅速的找到,就向其余的处理器发出中止搜索信号

➢ 这就会提前取消那些在串行算法中所做的无谓的搜索分枝,从而出现超线性加速比现象

情形二:缓存弥补

➢ 在大多数的并行计算系统中,每个处理器都有少量的高速缓存

➢ 当某一问题执行在大量的处理器上,而所需要的数据都放在高速缓存中时,由于数据的复用,总的计算时间趋于减少

➢ 如果由于这种高速缓存效应补偿了由于通信造成的额外开销,就有可能造成超线性加速比

Page 15: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评并行机的性能指标汇总

名 称 符 号 含 义 单 位

机器规模 n 处理器的数目 无量纲

时钟速率 f 时钟周期长度的倒数 MHZ

工作负载 W 计算操作的数目 Mflop

顺序执行时间 T1 程序在单处理机上的运行时间 s(秒)

并行执行时间 T n 程序在并行机上的运行时间 s(秒)

速度 R n = W/T n 每秒百万次浮点运算 Mflop/s

加速 Sn=T1/Tn 衡量并行机有多快 无量纲

效率 En = S n/n 衡量处理器的利用率 无量纲

峰值速度 R peak = n R’peak 所有处理器峰值速度之积

, R’peak为一个处理器的峰值速度Mflop/s

利用率 U =R n/R peak 可达速度与峰值速度之比 无量纲

通信延迟 to 传送0-字节或单字的时间 Μs

渐近带宽 r∞ 传送长消息通信速率 MB/s

Page 16: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评可扩展性

并行计算的可扩展性(Scalability)

16

可扩展性

➢ 在确定的应用背景下,计算机系统(或算法或程序等)性能随处

理器数的增加而按比例提高的能力

影响加速比的因素

➢ 处理器数与问题规模

➢ 求解问题中的串行分量

➢ 并行处理所引起的额外开销

- 通信、等待、竞争、冗余操作和同步等

Page 17: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评可扩展性

提出的动机

➢ 增加处理器数会增大额外开销和降低处理器利用率

➢ 对于一个特定的并行算法或程序,能否有效利用不断增加的处理器的能力是受限的

➢ 度量这种能力的就是可扩展性

可扩展性的其它背景

➢ 增加处理器数会增大额外开销和降低处理器利用率

➢ 额外开销的增加可能慢于有效计算的增加

➢ 算法中的串行分量比例不是固定不变的

- 串行部分所占的比例随着问题规模的增大而缩小

Page 18: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评可扩展性

18

并行计算中可扩展性的作用

➢ 确定解决某类问题用何种并行算法与何种并行体系结构的组合

- 提高并行算法的设计效率

➢ 对固定的问题规模,确定在某类并行机上最优的处理器数与可获

得的最大的加速比

➢ 用于指导改进并行算法和并行机体系结构

- 以使并行算法尽可能地充分利用可扩充的大量处理器

Page 19: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评可扩展性

目前没有一个公认的,或者被普遍接受测评标准

19

可扩展性:如何衡量

➢ 并行计算要调整的是处理器数𝑝和问题规模𝑊

➢ 两者可按不同比例进行调整,此比例关系可能是线性的,多项式

的或指数的等)就反映了可扩展的程度

➢ 常用的可扩展性测评标准(三个)

- 等效率度量标准

- 等速度度量标准

- 平均延迟度量标准

Page 20: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评可扩展性

三种可扩展性测评标准比较

等效率度量标准

➢ 在保持效率𝐸不变的前提下,研究问题规模𝑊如何随处理器个数𝑝而变化

等速度度量标准

➢ 在保持平均速度不变的前提下,研究处理器个数𝑝增多时应该相应的增加多少工作量𝑊

平均延迟度量标准

➢ 在保持效率𝐸不变的前提下,用平均延迟的比值来标志随处理器个数𝑝增加需要增加的工作量𝑊

20

Page 21: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评等效率度量标准

单个处理上的有效计算与额外开销

𝑡𝑒𝑖 :并行系统上第𝑖个处理器的有效计算时间

𝑡𝑜𝑖 :第𝑖个处理器上的额外开销时间

➢ 包括通信、同步和空闲等待时间等

21

𝑇𝑒 =

𝑖=0

𝑝−1

𝑡𝑒𝑖 𝑇𝑜 =

𝑖=0

𝑝−1

𝑡𝑜𝑖

Tp是𝑝个处理器系统上并行算法的运行时间

➢ 对于任意i,有Tp = 𝑡𝑒𝑖 + 𝑡𝑜

𝑖 ,且 Te+ To= 𝑝 ×Tp

问题的规模W为最佳串行算法所完成的计算量,𝑊 = 𝑇𝑒

Page 22: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评等效率度量标准

几个重要的量化关系

➢ 𝑇𝑒 :有效计算时间(即串行算法时间)

➢ 𝑇𝑝 :并行计算时间

➢ 𝑇𝑒 + 𝑇𝑜 = 𝑝 × 𝑇𝑝

➢ 𝑝: 处理器个数

➢ 𝐸:效率?

22

𝑆 =𝑇𝑒𝑇𝑝

𝐸 =𝑆

𝑝

=𝑇𝑒

𝑇𝑒 + 𝑇𝑜𝑝

=𝑝

1 +𝑇𝑜𝑇𝑒

=𝑝

1 +𝑇𝑜𝑊

=1

1 +𝑇𝑜𝑇𝑒

=1

1 +𝑇𝑜𝑊

加速比与处理器数的比值

Page 23: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评等效率度量标准

结论

➢ 如果问题规模𝑊保持不变,处理器数𝑝增加,开销To增大,效率𝐸下降

➢ 为了维持一定的效率(介于0与1之间),当处理器数𝑝增大时,需要相应地增大问题规模𝑊的值

➢ 问题:对于“相应地增大”,我们是否可以预测要增大多少𝑊呢?

- 即处理器数𝑝与问题规模𝑊之间的量化关系

23

𝐸 =1

1 +𝑇𝑜𝑊

Page 24: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

并行计算机性能测评等效率度量标准

三种量化关系(处理器数与工作负载)

➢ 曲线1表示算法具有很好的可扩展性

➢ 曲线2表示算法是可扩展性

➢ 曲线3表示算法是不可扩展的

24处理器数 P

问题规模

W

曲线 3

曲线 2

曲线 1

Page 25: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

第二次作业

第二次作业题目

自学Sun 和 Ni定律

➢ Sun和Ni定律是Amdahl 定律与Gustafson定律的泛化,具有更强的建模能力

➢ 要求

- 1. 写出对于Sun和Ni定律计算式的理解,包括式内各变量的指代含义、关系说明等

- 2. 写出Sun和Ni定律与Amdahl 定律,以及Gustafson定律两个定律的关系;具体根据计算式进行说明,不是简单说是泛化

- 3. 写出考虑额外开销Wo时的Sun和Ni定律计算式

25

Page 26: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

第二次作业

要求

独立完成,发送电子版,可以是word,也可以pdf

作业提交地址

[email protected]

➢ 附件命名规则:“作业二+学号+姓名”

➢ 邮件名命名规则

- 至少写上一个“作业二”,例如“作业二+111111+徐”

- 原因:第一次作业,因为大家所发邮箱很多是QQ邮箱,用户名又比较fashion,又没有邮件名,所以可能会被当作订阅邮件等

➢ 时间:两周之内,至第六次上课之前提交

➢ 篇幅:没有绝对的页数要求,但是一般不应少于半页

26

Page 27: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

课件地址

27

课件地址➢ http://web.xidian.edu.cn/ysxu/teach.html

Page 28: 2.2 并行计算机性能测评 软件学院 徐悦甡web.xidian.edu.cn/ysxu/files/20180326_162957.pdf · 并行计算机性能测评 可扩展性 并行算的 可扩展性(Scalability)

§3.1 并行程序设计

http://web.xidian.edu.cn/ysxu/

结构 编程 算法 应用