PP - CH03
PP - CH03
Considerations
CHAPTER 03 : PART 01
Agenda
An algorithm is a sequence of steps that take inputs from the user and after
some computation, produces an output. A parallel algorithm is an algorithm
that can execute several instructions simultaneously on different processing
devices and then combine all the individual outputs to produce the final
result.
concurrent processing : that can divide a complex task and process it
multiple systems to produce the output in quick time.
Architectural Considerations
Identification of Parallelism
Parallel Algorithms
Asymptotic Analysis
SPMD Programming
Identification of Parallelism
The main reason behind developing parallel algorithms was to reduce the computation time of an algorithm.
Thus, evaluating the execution time of an algorithm is extremely important in analyzing its efficiency.
Execution time is measured on the basis of the time taken by the algorithm to solve a problem. The total
execution time is calculated from the moment when the algorithm starts executing to the moment it stops. If all
the processors do not start or end execution at the same time, then the total execution time of the algorithm is
the moment when the first processor started its execution to the moment when the last processor stops its
execution.
Time complexity of an algorithm can be classified into three categories−
Worst-case complexity − When the amount of time required by an algorithm for a given input is
maximum.
Average-case complexity − When the amount of time required by an algorithm for a given input is
average.
Best-case complexity − When the amount of time required by an algorithm for a given input is minimum.
Asymptotic Analysis
Speedup =
Speedup of an Algorithm 02