speedup scaleup sizeup

2022-11-01 16:44:37 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

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

1.speedup

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

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

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

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