Analysis of parallel algorithms: Difference between revisions

Content deleted Content added
Tags: Mobile edit Mobile web edit Advanced mobile edit
No edit summary
Line 66:
Using these definitions and laws, the following measures of performance can be given:
 
* ''[[Speedup]]'' is the gain in speed made by parallel execution compared to sequential execution: {{math|1=''S<sub>p</sub>'' = ''T''<sub>1</sub> / ''T<sub>p</sub>''}}. When the speedup is {{math|Ω(''np'')}} for input size {{mvar|np}} processors (using [[big O notation]]), the speedup is linear, which is optimal in simple models of computation because the work law implies that {{math|''T''<sub>1</sub> / ''T<sub>p</sub>'' ≤ ''p''}} ([[Speedup#Super-linear speedup|super-linear speedup]] can occur in practice due to [[memory hierarchy]] effects). The situation {{math|1=''T''<sub>1</sub> / ''T<sub>p</sub>'' = ''p''}} is called perfect linear speedup.<ref name="clrs"/> An algorithm that exhibits linear speedup is said to be [[scalability|scalable]].<ref name="casanova"/>
* ''Efficiency'' is the speedup per processor, {{math|''S<sub>p</sub>'' / ''p''}}.<ref name="casanova"/>
* ''Parallelism'' is the ratio {{math|''T''<sub>1</sub> / ''T''<sub>∞</sub>}}. It represents the maximum possible speedup on any number of processors. By the span law, the parallelism bounds the speedup: if {{math|''p'' > ''T''<sub>1</sub> / ''T''<sub>∞</sub>}}, then:<ref name="clrs" /> <math display="block">\frac{T_1}{T_p} \leq \frac{T_1}{T_\infty} < p.</math>