2002 · 37 citations · 6 references
ComputingComputer ScienceHigh-performance ComputingAlgorithmsParallel AlgorithmsParallel ComputingAlgorithm AnalysisData ParallelismParallel Algorithm DesignParallel ArchitecturesParallel Computing SystemsParallel Programming ModelsCoordinationExecution Time AnalysisExecution Time PredictionParallel Algorithmic SkeletonsParallel Performance ModelingParallel ProgrammingPerformance Evaluation ModelsPerformance Prediction Models
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 implementation choices, whilst performance models guide the choices by providing predictions of execution time. We describe the methodology and investigate the use and construction of performance models by studying an example.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
6
Can programming be liberated from the von Neumann style?
John Backus · Communications of the ACM · 1978 · 2.6K citations · Full text
Report on the programming language Haskell
Paul Hudak, Simon Peyton Jones, Philip Wadler et al. · ACM SIGPLAN Notices · 1992 · 1K citations · Full text
Parallelism in random access machines
Steven Fortune, James Wyllie · 1978 · 885 citations
Introduction to functional programming
Paul A. Bailes · Science of Computer Programming · 1989 · 282 citations