Up to this point, we have focused on designing
algorithms and the high-level constructs used to organize
parallel programs. With this chapter, we shift gears and
consider a program's source code and the low-level operations
used to write parallel programs.
We now drop the formalism of patterns. Most of the implementation mechanisms are included within the major parallel programming environments. Hence, rather than use patterns, we provide a high-level description of each implementation mechanism and then an investigation of how the mechanism maps onto our three target programming environments: OpenMP, MPI, and Java. A complete and detailed discussion of these parallel programming ``building blocks'' would fill a large book. Fortunately, most parallel programmers use only a modest core subset of these mechanisms. These core implementation mechanisms fall into three categories:
|
02 June, 2004