Abstract:
An ideal abstract model for parallel computation must carefully balance requirements for effective software engineering with requirements for efficient implementation. Models based on sets of fixed communication/computation patterns satisfy these requirements but, in general, the sets of patterns are chosen arbitrarily. Categorical data types are a way of building such models while automatically generating operations, equations, and a guarantee of completeness. We illustrate this construction, and its usefulness for practical problems, by building the type of chemical molecules and showing how molecular properties can be computed in parallel.
Citations
|
694
|
Parallel Program Design: A Foundation
– Chandy, Misra
- 1988
|
|
328
|
Algorithmic Skeletons: structured management of parallel computation
– Cole
- 1989
|
|
241
|
Vector Models for Data-Parallel Computing
– Blelloch
- 1990
|
|
207
|
An Introduction to the Theory of Lists
– Bird
- 1986
|
|
138
|
Parallel programming using skeleton functions
– Darlington, Field, et al.
- 1993
|
|
95
|
The Implementation of Functional Programming Languages
– Peyton-Jones
- 1987
|
|
94
|
Architecture-Independent Parallel Computation
– Skillicorn
- 1990
|
|
78
|
Algebraic data types and program transformation
– Malcolm
- 1990
|
|
65
|
The Paralation Model: Architecture-Independent Parallel Programming
– Sabot
- 1988
|
|
55
|
A cost calculus for parallel functional programming
– Skillicorn, Cai
- 1995
|
|
54
|
Algebraic identities for program calculation
– Bird
- 1989
|
|
39
|
A methodology for the development and support of massively parallel programs
– Danelutto, Meglio, et al.
- 1992
|
|
38
|
Parallel programming in Maude
– Meseguer, Winkler
- 1992
|
|
27
|
Algebras for Tree Algorithms
– Gibbons
- 1991
|
|
19
|
Formal derivation of a pattern matching algorithm
– Bird, Gibbons, et al.
- 1989
|
|
2
|
Equational Code Generation
– Skillicorn, Cai
- 1992
|
|
1
|
Flat arrays as a categorical data type. submitted
– Banger, Skillicorn
|