## Parallel Programming, List Homomorphisms and the Maximum Segment Sum Problem (1993)

Venue: | Proceedings of Parco 93. Elsevier Series in Advances in Parallel Computing |

Citations: | 24 - 1 self |

### BibTeX

@TECHREPORT{Cole93parallelprogramming,,

author = {Murray Cole},

title = {Parallel Programming, List Homomorphisms and the Maximum Segment Sum Problem},

institution = {Proceedings of Parco 93. Elsevier Series in Advances in Parallel Computing},

year = {1993}

}

### OpenURL

### Abstract

We review the use of the Bird-Meertens Formalism as a vehicle for the construction of programs with massive implicit parallelism. We show that a simple result from the theory, concerning the expression of list homomorphisms, can help us in our search for parallel algorithms and demonstrate its application to some simple problems including the maximum segment sum problem. Our main purpose is to show that an understanding of the homomorphism lemma can be helpful in producing programs for problems which are "not quite" list homomorphisms themselves. A more general goal is to illustrate the benefits which can arise from taking a little theory with a pinch of pragmatic salt. 1 Introduction The use of bulk operations on aggregate data sets as a means of generating programs with a high degree of implicit parallelism has a long history (e.g. see [4] for a recent presentation). Although traditionally associated with an imperative programming style and SIMD machines, the approach lends itself e...

### Citations

473 |
Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. j-CACM
- Backus
- 1978
(Show Context)
Citation Context ...chitectures [6]. The introduction of a pure functional style brings with it well documented opportunities for program design by semantics preserving transformation (perhaps most famously expounded in =-=[1]). In this-=- approach, one begins by writing a simple, "obviously" correct, but possibly inefficient solution. With a little ingenuity, and a toolkit of transformation rules, this can be transformed int... |

270 |
Vector Models for Data-Parallel Computing
- BLELLOCH
- 1990
(Show Context)
Citation Context ...h a pinch of pragmatic salt. 1 Introduction The use of bulk operations on aggregate data sets as a means of generating programs with a high degree of implicit parallelism has a long history (e.g. see =-=[4]-=- for a recent presentation). Although traditionally associated with an imperative programming style and SIMD machines, the approach lends itself equally well to a purely functional presentation and se... |

221 | An introduction to the theory of lists
- Bird
- 1987
(Show Context)
Citation Context ...collection of algebraic identities and theorems relating these and a concise notation which facilitates the transformational approach to programming discussed above. Introductions to BMF can found in =-=[2, 3]-=-. In this paper we require only the two simplest and most familiar of these operations, map and reduce. Map is the curried function which applies another function to every item in a list. In BMF it is... |

152 | Parallel programming using skeleton functions
- Darlington, Field, et al.
- 1993
(Show Context)
Citation Context ...t machine is sequential or parallel, given an appropriate cost model within which to work. This approach has been used to derive parallel algorithms for a variety of problems and target architectures =-=[5, 7, 8, 9, 10, 11, 12, 14]-=-. In the remainder of this paper, we concentrate on a particular instantiation of the method, and the application of one of its simplest results. E-mail address : mic@dcs.ed.ac.uk 2 The Bird-Meertens ... |

92 |
Architecture-independent parallel computation
- Skillicorn
- 1990
(Show Context)
Citation Context ...ble parallel cost model for BMF and illustrates its efficacy with the transformational derivation of various parallel programs and the justification of the introduction of new operators to the theory =-=[5, 13, 14, 15, 16]-=-. 3 The Homomorphism Lemma As we have noted above, the bulk of work in BMF (in both sequential and parallel contexts) follows the simple specification then formal transformation approach. In what foll... |

58 |
Algebraic identities for program calculation
- Bird
- 1989
(Show Context)
Citation Context ...mentation, due to the excessive baggage involved. The problem is to find the mode of a list of integers. Clearly the problem is not a list homomorphism - knowing only the modes of [1,2,1,2,1,1,2] and =-=[2,3,2,3,3,3,2]-=- does not lead us to the mode of their concatenation. Much worse, it appears 1 that any homomorphism into which the problem can be embedded requires baggage proportional to the length of the list, and... |

58 | A Cost Calculus for Parallel Functional Programming
- Skillicorn, Cai
- 1995
(Show Context)
Citation Context ...ble parallel cost model for BMF and illustrates its efficacy with the transformational derivation of various parallel programs and the justification of the introduction of new operators to the theory =-=[5, 13, 14, 15, 16]-=-. 3 The Homomorphism Lemma As we have noted above, the bulk of work in BMF (in both sequential and parallel contexts) follows the simple specification then formal transformation approach. In what foll... |

17 |
Deriving Parallel Programs from Specifications using Cost
- Skillicorn
- 1993
(Show Context)
Citation Context ...t machine is sequential or parallel, given an appropriate cost model within which to work. This approach has been used to derive parallel algorithms for a variety of problems and target architectures =-=[5, 7, 8, 9, 10, 11, 12, 14]-=-. In the remainder of this paper, we concentrate on a particular instantiation of the method, and the application of one of its simplest results. E-mail address : mic@dcs.ed.ac.uk 2 The Bird-Meertens ... |

13 |
Calculating recurrences using the Bird-Meertens Formalism
- Cai, Skillicorn
- 1994
(Show Context)
Citation Context ...t machine is sequential or parallel, given an appropriate cost model within which to work. This approach has been used to derive parallel algorithms for a variety of problems and target architectures =-=[5, 7, 8, 9, 10, 11, 12, 14]-=-. In the remainder of this paper, we concentrate on a particular instantiation of the method, and the application of one of its simplest results. E-mail address : mic@dcs.ed.ac.uk 2 The Bird-Meertens ... |

10 |
Evaluation of a Set of Message-Passing Routines in Transputer Networks
- Cai, Skillicorn
- 1992
(Show Context)
Citation Context ...gramming style and SIMD machines, the approach lends itself equally well to a purely functional presentation and seems amenable to implementation on coarser grained message-passing MIMD architectures =-=[6]-=-. The introduction of a pure functional style brings with it well documented opportunities for program design by semantics preserving transformation (perhaps most famously expounded in [1]). In this a... |

6 |
Functional programming for loosely coupled multiprocessors
- Kelly
- 1989
(Show Context)
Citation Context |

3 |
Exploiting Data-Parallelism in Functional Languages
- Jouret
- 1991
(Show Context)
Citation Context |

2 |
Calculating a Parallel Algorithm for the Maximum of a Set of Naturals
- O'Donnell
- 1991
(Show Context)
Citation Context |

2 |
An Exercise in the Synthesis of Parallel Functional Programs for Message Passing Architectures
- Sharp, Field, et al.
- 1992
(Show Context)
Citation Context |

2 |
A Synthesis of a Dynamic Message Passing Algorithm for Quicksort
- Sharp, Harrison, et al.
- 1991
(Show Context)
Citation Context |