AskDefine | Define speedup

Dictionary Definition

speedup n : the act of accelerating; increasing the speed [syn: acceleration, quickening]

User Contributed Dictionary

English

Noun

  1. An acceleration, to go faster.

Extensive Definition

In parallel computing, speedup refers to how much a parallel algorithm is faster than a corresponding sequential algorithm.

Definition

Speedup is defined by the following formula:
S_p = \frac
where:
Linear speedup or ideal speedup is obtained when \,S_p = p. When running an algorithm with linear speedup, doubling the number of processors doubles the speed. As this is ideal, it is considered very good scalability.
The speedup is called absolute speedup when T_1 is the execution time of the best sequential algorithm, and relative speedup when T_1 is the execution time of the same parallel algorithm on one processor. Relative speedup is usually implied if the type of speedup is not specified, because it doesn't require implementation of the sequential algorithm.
Efficiency is a performance metric defined as E_p = \frac. It is a value, typically between zero and one, estimating how well-utilized the processors are in solving the problem, compared to how much effort is wasted in communication and synchronization. Algorithms with linear speedup and algorithms running on a single processor have an efficiency of 1, while many difficult-to-parallelize algorithms have efficiency such as \frac that approaches zero as the number of processors increases.

Super linear speedup

Sometimes a speedup of more than N when using N processors is observed in parallel computing, which is called super linear speedup. Super linear speedup rarely happens and often confuses beginners, who believe the theoretical maximum speedup should be N when N processors are used.
One possible reason for a super linear speedup is the cache effect resulting from the different memory hierarchies of a modern computer: In parallel computing, not only the numbers of processors change, so does the size of accumulated caches from different processors. With the larger accumulated cache size, more or even all core data set can fit into caches and the memory access time reduces dramatically, which causes the extra speedup in addition to that from the actual computation.
Super linear speedups can also occur when performing Backtracking in parallel: One thread can prune a branch of the exhaustive search that another thread would have taken otherwise.

See also

References

Glen L. Beane, "The effects of Microprocessor Architecture on Speedup in Distributed Memory Supercomputers" (M.S. thesis, The University of Maine, 2004) http://www.umcs.maine.edu/~beaneg/docs/thesis.pdf
speedup in Polish: Przyspieszenie (obliczenia równoległe)

Synonyms, Antonyms and Related Words

Privacy Policy, About Us, Terms and Conditions, Contact Us
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2
Material from Wikipedia, Wiktionary, Dict
Valid HTML 4.01 Strict, Valid CSS Level 2.1