Equal Duration Model
Assume that a given computation can be divided into concurrent tasks for execution on the multiprocessor.
- In this model (: execution time of the whole task using a single processor),
- a given task can be divided into equal subtasks,
- each of which can be executed by one processor,
- the time taken by each processor to execute its subtask is
- since all processors are executing their subtasks simultaneously, then the time taken to execute the whole task is
- The speed-up factor of a parallel system can be defined as
- the ratio between the time taken by a single processor to solve a given problem
- to the time taken by a parallel system consisting of processors to solve the same problem.
- Although simple, the equal duration model is however unrealistic.
- This is because it is based on the assumption that a given task can be divided into a number of equal subtasks.
- However, real algorithms contain some (serial) parts that cannot be divided among processors.
- These (serial) parts must be executed on a single processor.
Figure 3.1:
Example program segments.
|
- In Fig. 3.1 program segments, we assume that we start with a value from each of the two arrays (vectors) and stored in a processor of the available processors.
- The first program block can be done in parallel; that is, each processor can compute an element from the array (vector) . The elements of array are now distributed among processors, and each processor has an element.
- The next program segment cannot be executed in parallel. This block will require that the elements of array be communicated to one processor and are added up there.
- The last program segment can be done in parallel. Each processor can update its elements of and .
Cem Ozdogan
2010-12-27