11、并行计算性能指标与多线程应用设计规则

并行计算性能指标与多线程应用设计规则

1. 并行计算性能指标

在并行计算中,我们常常会遇到这样的问题:如果使用串行应用程序运行更大的数据集,执行时间会是多少?更大的数据集能否在单核系统上运行?为了解决这些问题,我们引入了一些重要的性能指标。

1.1 Gustafson - Barsis 定律

Gustafson - Barsis 定律,也称为缩放加速比,考虑了随着核心数量的增加,数据大小成比例增加的情况,并计算应用程序的(上限)加速比,就好像更大的数据集可以串行执行一样。与 Amdahl 定律用于预测串行代码并行化后能实现的加速比不同,Gustafson - Barsis 定律用于计算现有并行代码的加速比。其公式为:
[Speedup \leq p + (1 - p)s]
其中,(p) 是核心数量,(s) 是并行应用程序在给定数据集和核心数量下串行执行所花费时间的百分比。

例如,一个并行应用程序在 32 个核心上的总执行时间为 1040 秒,其中 14 秒是在 32 个核心中的 1 个核心上进行串行执行的时间。那么该应用程序在同一数据集上(如果可能的话)在单线程上运行的加速比为:
[Speedup \leq 32 + (1 - 32)(0.013) = 32 - 0.403 = 31.597]

需要注意的是,如果使用 Amdahl 定律来计算这个加速比,可能会得到错误的结果。因为串行时间的百分比是相对于 32 核心执行的并行时间,而不是潜在的并行时间。经过正确计算,使用 Amdahl 定律得到的加速比为 31.582。

1.2 效率

与加速比相关的另一个重要指标是

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值