Deriving Programs with Mixed Method and Data Parallelism

Gudula Ruenger

The talk presented an overview of a methodology for deriving parallel programs in the area of scientific computing with mixed method and/or data parallelism. The final parallel programs are group-SPMD programs in a message-passing style aimed at distributed memory machines.

The top-down derivation process contains three stages: (i) the hierarchical module specification of the algorithmic structure designed by the application programmer, (ii) a parallel frame program resulting from decision steps (multitask-scheduling, partitioning the sets of processors into groups, data distribution types for input/output of each module) , and (iii) the executable message passing program with a small set of collective communication operations.

The emphasis lies in the methodology how to transform one stage into the next one by being more precise concerning the parallelism to be exploited in the final program.

The performance analysis is based on the structure of the frame program which enables the programmer to test different alternatives of parallel implementation decisions before realizing the best. There is a library of programs in the area of linear and nonlinear algebraic or differential equation solvers realized according to this methodology. The performance prediction mechanism was verified for the library programs on the Intel Hypercube and Paragon, the Cray T3D, and the IBM SP2.