Results 1 -
3 of
3
Optimising the Parallel Behaviour of Combinations of Program Components
, 1995
"... The skeleton approach to programming parallel machines promises to offer a high-level of abstraction to the programmer, whilst providing the implementation with sufficient information to effectively manage the resources available. Each skeleton captures a common pattern of computation and has associ ..."
Abstract
-
Cited by 19 (2 self)
- Add to MetaCart
The skeleton approach to programming parallel machines promises to offer a high-level of abstraction to the programmer, whilst providing the implementation with sufficient information to effectively manage the resources available. Each skeleton captures a common pattern of computation and has associated with it parallel implementations. Functional programming languages are a suitable framework for exploring this approach as skeletons can be elegantly represented as higher-order functions. Applications are naturally expressed as combinations of several skeletons. This thesis explores the problem of optimising combinations of skeletons, where each skeleton may have more than one underlying parallel implementation. A skeleton approach suitable for expressing programs as combinations of skeletons is presented. The primitive skeletons of this approach are operators of parallel abstract data types. Skeletons are combined together using a set of combining skeletons which abstract patterns of...
Structured Parallel Programming
- In Programming Models for Massively Parallel Computers
, 1993
"... 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 parall ..."
Abstract
-
Cited by 18 (7 self)
- Add to MetaCart
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.

