超线性加速来自何处? [英] Where does super-linear speedup come from?
问题描述
在并行计算中,理论上不可能实现超线性加速.但实际上,我们确实看到了这种情况. 原因之一是缓存效果,但我无法理解它的作用.另外,还涉及其他事情,但它们又是什么呢?总之,
In parallel computing theoretically super-linear speedup is not possible. But in practice we do see such cases. One reason is cache effect but I fail to understand what does it play. Also, there are other things involved but what are they? In summary,
超线性加速怎么可能?
How are super-linear speedups possible?
我是并行计算的初学者.
I'm a beginner with respect to parallel computing.
推荐答案
假设您有一台8处理器的计算机,每个处理器具有1MB的缓存,而您的计算使用6MB的数据.
Suppose you have an 8 processor machine, each processor has a 1MB cache, and your computation uses 6MB of data.
在1个处理器上,计算将在CPU,缓存和RAM之间进行大量数据移动.在8个处理器上,计算仅需在CPU和缓存之间移动数据.这样您就可以实现超线性加速.
On 1 processor the computation will be doing a lot of data movement between CPU, cache and RAM. On 8 processors the computation will only have to move data between CPU and cache. This way you can achieve super-linear speedup.
这些数字和此分析已简化,以供初学者使用.
These figures and this analysis have been simplified for exposition for a beginner.
这篇关于超线性加速来自何处?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!