In an ideal world, a parallel system with p processing elements can give us a speedup that is equal to p. However, this is very rarely achieved. Usually, some time is wasted in either idling or communicating. Efficiency is a measure of how much of the execution time a processing element puts toward doing useful work, given as a fraction of the time spent.
We denote it by E and can define it as follows:
The algorithms with linear speedup have a value of E = 1. In other cases, they have the value of E is less than 1. The three cases are identified as follows:
- When E = 1, it is a linear case.
- When E < 1, it is a real case.
- When E << 1, it is a problem that is parallelizable with low efficiency.