Parallel programming is a difficult task involving many complex issues such as resource allocation, and process coordination. We propose a solution to this problem based on the use of a repertoire of parallel algorithmic forms, known as skeletons. The use of skeletons enables the meaning of a parallel program to be separated from its behaviour. Central to this methodology is the use of transformations and performance models. Transformations provide portability and implementations choices, whilst performance models guide the choices by providing predictions of execution time. In this paper we describe the methodology and investigate the use and construction of performance models by studying an example.
user correction - Legacy Corrections
In Programming Models for Massively Parallel Computers