Analytical Modeling of Parallel Programs(并行程序的解析建模)

A parallel system is the combination of an algorithm and the parallel architecture on which it is implemented. In this chapter, we study various metrics for evaluating the performance of parallel systems.

并行程序中的开销来源:进程间的交互,空闲,额外计算

并行系统的性能度量:

  1. 执行时间:是从并行计算开始时刻一直到最后的处理器完成运算所经过的时间。

  2. 总并行开销(开销函数):所有处理器花费的总时间减去串行算法使用的时间。(这里串行算法使用的算法是解决同一个问题最快的串行算法,而并行算法指的是最快的并行算法)

    这里写图片描述

  3. 加速比:解决同一个问题,串行算法花费的时间除以并行算法花费的时间。(并行算法使用的处理器与串行算法一样,就是数目多了)理论上,加速比不可能超过处理器数p。(超线性加速比:加速比大于p,比如单个处理器的高速缓存不足,造成串行算法要频繁读取内存。再比如,搜索分解,对一棵树进行指定节点值的搜索,并行算法会更快找到并且停止其他查找)

效率:E = S / P(加速比除以处理器数目)(串行成本与并行成本之比)

例子:图像边缘检测

成本:并行运行时间和所用处理器数目的乘积

并行系统是成本最优的(pTP最优系统):并行计算机上求解问题的成本作为输入数据大小的函数,与在单处理器上的已知最快串行算法有着同样的渐进增长,我们就称并行系统是成本最优的。效率为O(1)。

n个处理器处理n个数相加的成本是(nlogn),串行运算时间为(n),所以不是成本最优的。

例5.8 非成本最优算法的性能


粒度对性能的影响

如果使用少于最大可用的处理器数来执行一个并行算法,则该系统被称为按处理器数目缩小一个并行系统。

如果含有n个处理器的并行系统是成本最优的,用p个处理器来模拟n个处理器也会保持成本最优。因为可以通过让一个处理器虚拟出n/p个处理器来解决问题。但是,使用这种简单的模拟方法,如果本来不是成本最优,模拟之后也不是成本最优。

用p个处理器求n个数之和:假设n和p都是2的倍数。经过(n/p)logp步后,所有的运算结果都在一个处理器中,再经过n/p步后得到结果。所以执行时间为O(n/p logp),成本为O(n *logp),所以不是成本最优。但是,通过先把本处理器的数相加,再和其他处理器数相加,可以达到成本最优。

这里写图片描述


并行系统的可扩展性

这里写图片描述

总开销函数至少随p线性增加。

随着处理器数目的增加,加速比趋于饱和而效率下降。对相同处理器数目,相同问题的较大实例能得到更大的加速比和效率。

可扩展系统:具备同时增加处理器数目和问题规模来保持效率为固定值的能力。(问题规模以较低的速度增加比以较高的速度更合乎需要)

如果处理器数目和计算规模适当地选定,一个可扩展并行系统总是可成为成本最优的。

问题规模:在单处理器上用最好的串行算法求解问题所需的基本计算步数。问题规模W等于在串行计算机上用最快的已知算法求解问题花费的串行运行时间Ts。

这里写图片描述

如果P增长之后W需要按指数函数增加,那么系统的扩展性很差。如果W只需按线性增长,那么系统的扩展性较好。

等效率函数:

这里写图片描述

这里写图片描述

成本最优性和等效率函数

并行系统为成本最优,当且仅当其开销函数不会渐进地超过问题规模。
这里写图片描述
等效率函数的下界:
这里写图片描述

这里写图片描述

最小执行时间和最小成本最优执行时间:

(后续……)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值