大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
并行算法通常包含三种评价的方法,用来评价算法各方面的优劣。
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操作和通讯的花费与计算机数目之间的关系。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/206771.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...