Speedup,Scaleup,Sizeup

来源:互联网 发布:淘宝被扣24分还能用吗 编辑:程序博客网 时间:2024/06/08 00:29

加速比(Speedup)分析

可扩展性(Scaleup)分析

规模增长性(Sizeup)分析

 

并行算法通常包含三种评价的方法,用来评价算法各方面的优劣。


1.speedup

评测speedup的方法是,保持数据不变,增加计算机的数目。计算机数目为m时的speedup计算方法如下:

speedup(m)=在一台机器上面使用的时间 / 在m台机器上面使用的时间

该评测指标,如果能够随着m保持一个线性的增长,则表示,多台机器能够很好的缩短所需时间。

然而,线性的speedup是非常难以达到的,因为当机器增加时,存在一个通讯损耗的问题,还有就是各个计算机节点本身的问题(theskew of theslaves),比如算法所花费的总时间通常是由最慢的机器决定的。如果各计算机需要的时间不一样的话,就存在这个the skew ofthe slaves的问题。

2.scaleup

评测scaleup的方法是,在扩大数据的同时,增加计算机的数目。scaleup计算方法如下:

scaleup(DB,m)=使用1台电脑在DB上运行算法使用的时间 / 使用m台电脑在m*DB上运行算法使用的时间

如果scaleup值随着m的改变,一直在1.0附近,或者更低,则表示该算法,对数据集的大小有很好的适应性。

3.sizeup

评测sizeup的方法是,保持计算机的数目不变,扩大数据。用来测试算法本身的一个时间复杂度。

sizeup(DB,m)=在m*DB数据上面所花费的时间 / 在DB上面所花费的时间

并行算法还有一个部分的评价可以单独拿出来进行分析,这就是I/O和通讯时间。

可以采用保持数据集的大小不变,增加计算机的数目,查看I/O操作和通讯的花费与计算机数目之间的关系。




0 0
原创粉丝点击