LECTURE 5 - Parallel Computing Design (PART 2)
LECTURE 5 - Parallel Computing Design (PART 2)
Parallel Processing
LECTURE 5:
Parallel Computing Design (PART 2)
Of-course, the problem of computing the solution, in general, is much more difficult than in this simple example.
optimistic approaches
• which schedule tasks even when they may potentially be erroneous.
• may require roll-back mechanism in the case of an error.
Task generation.
Task sizes.
Uniform Non-uniform
Dynamic interactions
• The timing or interacting tasks cannot be determined a-priori. These interactions
are harder to code, especially, as we shall see, using message passing APIs.
• Harder to program.
o For load balance, we give each task the same number of elements of C. (Note
that each element of C corresponds to a single dot product.)
o The choice of precise decomposition (1-D or 2-D) is determined by the
associated communication overhead.
o In general, higher dimension decomposition allows the use of larger number of
processes.
Tasks are statically (or semi-statically) Starting from a task dependency graph,
mapped to processes and each task the interrelationships among the tasks
performs similar operations on different are utilized to promote locality or to
data. reduce interaction costs.