Parallelism and the Bird-Meertens Formalism

One of the major reasons for the lack of practical use of parallel computers has been the absence of a suitable model of parallel computation. A useful general model must be architecture independent, must realistically reeect execution costs, and must reduce the cognitive overhead of managing massive parallelism. We discuss the merits and problems of proposed models of parallel computation with respect to these criteria and conclude that data parallel models hold the strongest promise. The best way known to construct such models is a categorical construction that not only builds types but much useful ancillary structure. This extra structure makes them extremely useful as parallel models, a claim we illustrate using the Bird-Meertens theory of lists.

[1]  Grant Malcolm,et al.  Algebraic Data Types and Program Transformation , 1990 .

[2]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[3]  Guy L. Steele,et al.  Massively parallel data optimization , 1988, Proceedings., 2nd Symposium on the Frontiers of Massively Parallel Computation.

[4]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[5]  Fethi A. Rabhi,et al.  Experiments with a transputer-based parallel graph reduction machine , 1991, Concurr. Pract. Exp..

[6]  Paul H. J. Kelly Functional programming for loosely-coupled multiprocessors , 1989, Research monographs in parallel and distributed computing.

[7]  Tatsuya Hagino,et al.  A Typed Lambda Calculus with Categorical Type Constructors , 1987, Category Theory and Computer Science.

[8]  Guy L. Steele,et al.  Compiling Fortran 8x array features for the connection machine computer system , 1988, PPoPP 1988.

[9]  Abhiram G. Ranade,et al.  Fluent parallel computation , 1989 .

[10]  Richard S. Bird,et al.  Lectures on Constructive Functional Programming , 1989 .

[11]  Sanjay Ranka,et al.  A practical hierarchical model of parallel computation , 1991, Proceedings of the Third IEEE Symposium on Parallel and Distributed Processing.

[12]  William J. Dally,et al.  Universal Mechanisms for Concurrency , 1989, PARLE.

[13]  Ralph-Johan Back A Method for Refining Atomicity in Parallel Algorithms , 1989, PARLE.

[14]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[15]  Nicholas Carriero,et al.  Matching Language and Hardware for Parallel Computation in the Linda Machine , 1988, IEEE Trans. Computers.

[16]  L. Mullin A mathematics of arrays , 1988 .

[17]  D. Skillicom Architecture-independent parallel computation , 1990 .

[18]  Richard S. Bird,et al.  A calculus of functions for program derivation , 1990 .

[19]  J. Michael Spivey A Categorial Approch to the Theory of Lists , 1989, MPC.

[20]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[21]  Marco Danelutto,et al.  Architectural models and design methodologies for general-purpose highly-parallel computers , 1991, [1991] Proceedings, Advanced Computer Technology, Reliable Systems and Applications.

[22]  Gary Sabot The paralation model - architecture-independent parallel programming , 1988 .

[23]  Ian Watson,et al.  The Manchester prototype dataflow computer , 1985, CACM.

[24]  Clyde P. Kruskal,et al.  Towards a single model of efficient computation in real parallel machines , 1991, Future Gener. Comput. Syst..

[25]  Joseph A. Goguen,et al.  THE REWRITE RULE MACHINE, 1988 , 1989 .

[26]  Sanjay Ranka,et al.  A Practical Hierarchical Model of Parallel Computation. I. The Model , 1992, J. Parallel Distributed Comput..

[27]  Guy E. Blelloch,et al.  Vcode: a data-parallel intermediate language , 1990, [1990 Proceedings] The Third Symposium on the Frontiers of Massively Parallel Computation.

[28]  Guy E. Blelloch,et al.  Scans as Primitive Parallel Operations , 1989, ICPP.

[29]  Donald S Wills Pi: A Parallel Architecture Interface for Multi-Model Execution , 1990 .

[30]  Christopher D. Clack,et al.  GRIP: A parallel graph reduction machine , 1987 .

[31]  Richard S. Bird,et al.  Algebraic Identities for Program Calculation , 1989, Comput. J..

[32]  Marco Danelutto,et al.  VLIW-in-the-large: a model for fine grain parallelism exploitation on distributed memory multiprocessors , 1990, MICRO.

[33]  Leslie G. Valiant,et al.  General Purpose Parallel Architectures , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[34]  Guy E. Blelloch,et al.  Vector Models for Data-Parallel Computing , 1990 .

[35]  Richard S. Bird,et al.  An introduction to the theory of lists , 1987 .

[36]  Guy L. Steele,et al.  Data Optimization: Allocation of Arrays to Reduce Communication on SIMD Machines , 1990, J. Parallel Distributed Comput..