Class Notes Class Photo Data Flow Fast Links
Glossary MIMD Architectures Networks Parallel Algorithms
References Seminar Presentations SIMD Architectures Speedup and Efficiency
  Math 4674/CSC 6551 Home Page  

Speed-up and Efficiency Calculations

Speed-up

Speed-up is defined as the time it takes to complete an algorithm with one processor divided by the time it takes to complete the same algorithm with N processors.

Conceptually we think of speed-up as the gain we achieve by parallelizing an algorithm.  The larger the speed-up the greater the gain.

 

Efficiency

Efficiency is defined as the Speed-up with N processors divided by the number of processors N.

Conceptually we think of efficiency as how well we are utilizing all N processors when the algorithm is computed in parallel.  An efficiency of 100 percent means that all of the processors are being fully used all the time.

Size and Depth

Two other measures useful when analyzing an algorithm are size and depth.  Simply, size is the total number of operations performed, and depth is number of parallel steps necessary to complete the algorithm.

 

Examples

For the prefix algorithms we have the following:

 

Size Depth
Upper/Lower (N/2)log2N log2N
Odd/Even 2N-log2N-2 2log2N-2
Combination <=4N log2N

                                                                                            *all of the above assumes N is a power of 2

For an example of speed-up and efficiency calculation see Project.