Speedup

Speedup

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{T_1}{T_p}

where:
* "p" is the number of processors
* T_1 is the execution time of the sequential algorithm
* T_p is the execution time of the parallel algorithm with "p" processors

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{S_p}{p} = frac{T_1}{pT_p}. 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{1}{log p} 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.

ee also

* Amdahl's law
* Gustafson's law
* Karp-Flatt Metric
* Scalability
* Brooks's law


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Speedup — (engl. für Beschleunigung) ist ein Begriff aus der Informatik und beschreibt mathematisch den Zusammenhang zwischen der Abarbeitungsgeschwindigkeit auf Ein Prozessor Computern im Verhältnis zu der auf Mehrprozessorsystemen. Definition Der Speedup …   Deutsch Wikipedia

  • speedup — [spēd′up΄] n. an increase in speed; esp., an increase in the rate of output, as required by an employer without any increase in pay * * * speed·up (spēdʹŭp ) n. 1. An increase in speed; acceleration. 2. A required acceleration of work or… …   Universalium

  • speedup — index acceleration Burton s Legal Thesaurus. William C. Burton. 2006 …   Law dictionary

  • speedup — [spēd′up΄] n. an increase in speed; esp., an increase in the rate of output, as required by an employer without any increase in pay …   English World dictionary

  • speedup — speed|up speed up [ˈspi:dʌp] n [C usually singular] an increase in the speed of something or in the rate at which a process happens speedup in ▪ a speedup in population growth …   Dictionary of contemporary English

  • speedup — noun the act of accelerating; increasing the speed • Syn: ↑acceleration, ↑quickening • Ant: ↑deceleration (for: ↑acceleration) • Derivationally related forms: ↑ …   Useful english dictionary

  • Speedup-Theorem — In der Komplexitätstheorie dienen verschiedene Speedup Theoreme (Beschleunigungssätze) für den Nachweis, dass eine Maschine oder ein Algorithmus um einen gewissen Faktor beschleunigt werden kann, wenn bereits eine andere Maschine oder ein anderer …   Deutsch Wikipedia

  • Speedup Theorem — In der Komplexitätstheorie dienen verschiedene Speedup Theoreme (Beschleunigungssätze) für den Nachweis, dass eine Maschine oder ein Algorithmus um einen gewissen Faktor beschleunigt werden kann, wenn bereits eine andere Maschine oder ein anderer …   Deutsch Wikipedia

  • Speedup theorem — In computational complexity theory, a speedup theorem is a theorem that considers some algorithm solving a problem and demonstrates the existence of a faster algorithm solving the same problem (or more generally, an algorithm using less of any… …   Wikipedia

  • speedup — noun Date: 1921 1. acceleration 2. an employer s demand for accelerated output without increased pay …   New Collegiate Dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”