Title :
A transformation approach to derive efficient parallel implementations
Author :
Rauber, Thomas ; Rünger, Gudula
Author_Institution :
Inst. fur Inf., Univ. Halle-Wittenberg, Germany
fDate :
4/1/2000 12:00:00 AM
Abstract :
The construction of efficient parallel programs usually requires expert knowledge in the application area and a deep insight into the architecture of a specific parallel machine. Often, the resulting performance is not portable, i.e., a program that is efficient on one machine is not necessarily efficient on another machine with a different architecture. Transformation systems provide a more flexible solution. They start with a specification of the application problem and allow the generation of efficient programs for different parallel machines. The programmer has to give an exact specification of the algorithm expressing the inherent degree of parallelism and is released from the low-level details of the architecture. We propose such a transformation system with an emphasis on the exploitation of the data parallelism combined with a hierarchically organized structure of task parallelism. Starting with a specification of the maximum degree of task and data parallelism, the transformations generate a specification of a parallel program for a specific parallel machine. The transformations are based on a cost model and are applied in a predefined order, fixing the most important design decisions like the scheduling of independent multitask activations, data distributions, pipelining of tasks, and assignment of processors to task activations. We demonstrate the usefulness of the approach with examples from scientific computing
Keywords :
bibliographies; formal specification; message passing; parallel machines; parallel programming; application area; cost model; data distributions; data parallelism; design decisions; exact specification; expert knowledge; hierarchically organized structure; independent multitask activations; parallel implementations; parallel machine; parallel machines; parallel program design; predefined order; processor assignment; scientific computing; task activations; task parallelism; task pipelining; transformation approach; transformation systems; Computer architecture; Costs; Message passing; Microprocessors; Parallel machines; Parallel processing; Pipeline processing; Processor scheduling; Programming profession; Scientific computing;
Journal_Title :
Software Engineering, IEEE Transactions on