Where does super-linear speedup come from?

后端 未结 2 1216
离开以前
离开以前 2020-12-28 08:03

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

2条回答
  •  执念已碎
    2020-12-28 08:53

    In short, superlinear speedup is achieved when the total amount of work processors do is strictly less than the total work performed by a single processor.

    This can happen in three ways:

    • The original sequential algorithm was really bad, using the parallel version of the algorithm on one processor will usually do away with the superlinear speedup.

    • The parallel algorithm uses some search like a random walk, the more processors that are walking, the less distance has to be walked in total before you reach what you are looking for.

    • Modern processors have faster and slower memories. Typically it will try to keep the data you are using in the fast memory. We can safely say your amount of data is larger than the amount of fast memory. If you use n processors you have n times the amount of faster memory. More data fits in the fast memory which makes it possible to take less time (thus amount of work) on the same task.

提交回复
热议问题