## Systematic Extraction and Implementation of Divide-and-Conquer Parallelism (1996)

### Cached

### Download Links

- [ftp.uni-passau.de]
- [wwwmath.uni-muenster.de]
- DBLP

### Other Repositories/Bibliography

Venue: | Programming languages: Implementation, Logics and Programs, Lecture Notes in Computer Science 1140 |

Citations: | 19 - 5 self |

### BibTeX

@INPROCEEDINGS{Gorlatch96systematicextraction,

author = {Sergei Gorlatch},

title = {Systematic Extraction and Implementation of Divide-and-Conquer Parallelism},

booktitle = {Programming languages: Implementation, Logics and Programs, Lecture Notes in Computer Science 1140},

year = {1996},

pages = {274--288},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

Homomorphisms are functions that match the divide-and-conquer paradigm and thus can be computed in parallel. Two problems are studied for homomorphisms on lists: (1) parallelism extraction: finding a homomorphic representation of a given function; (2) parallelism implementation: deriving an efficient parallel program that computes the function. A systematic approach to parallelism extraction proceeds by generalization of two sequential representations based on traditional cons lists and dual snoc lists. For some non-homomorphic functions, e.g., the maximum segment sum problem, our method provides an embedding into a homomorphism. The implementation is addressed by introducing a subclass of distributable homomorphisms and deriving for them a parallel program schema, which is time optimal on the hypercube architecture. The derivation is based on equational reasoning in the Bird-Meertens formalism, which guarantees the correctness of the parallel target program. The approach is illustrated with function...

### Citations

1384 | The essence of functional programming
- Wadler
- 1992
(Show Context)
Citation Context ...rphisms are simple functions, such as summing up the elements of a list of numbers, and also more complicated and important functions like scan (prefix sums) [5]. In the Bird-Meertens formalism (BMF) =-=[4, 26]-=-, functions including homomorphisms are defined on arbitrary composite types (trees, arrays, etc.), and equational reasoning is used for deriving programs by transformation [29]. The use of higher-ord... |

196 |
Ecient Parallel algorithms
- Gibson, Rytter
- 1988
(Show Context)
Citation Context ...s theorem [25]. Therefore, the algorithm is both time and cost optimal. In [12], we apply our "cons + snoc with generalization" method also to the parsing problem for so-called input-driven =-=languages [8]-=-. 4 Concatenating and Distributable Homomorphisms In this section, we address the second problem of the paper, finding an efficient parallel implementation for a given homomorphism. The well-known dif... |

176 |
More Programming Pearls
- Bentley
- 1988
(Show Context)
Citation Context ... program developer. We show that the "cons + snoc" approach allows to construct tuple-homomorphisms systematically. Example 3. We consider the maximum segment sum (mss) problem -- a programm=-=ing pearl [3]-=-, which has been studied by many authors [4, 7, 26, 28]. Given a list of integers, function mss finds the contiguous segment of the list whose members have the largest sum among all such segments and ... |

164 | Scans as primitive parallel operations
- Blelloch
- 1989
(Show Context)
Citation Context ...eand -conquer paradigm. Examples of homomorphisms are simple functions, such as summing up the elements of a list of numbers, and also more complicated and important functions like scan (prefix sums) =-=[5]-=-. In the Bird-Meertens formalism (BMF) [4, 26], functions including homomorphisms are defined on arbitrary composite types (trees, arrays, etc.), and equational reasoning is used for deriving programs... |

43 |
Parallel programming with list homomorphisms
- Cole
- 1994
(Show Context)
Citation Context ...ion is simple, but already for the scan function it requires a formal correctness proof [23] or intuition [15]. For non-homomorphic functions, the problem is how to "massage" them into a hom=-=omorphism [7]-=-. ffl Parallelism implementation. The reduction stage of (2) may be inefficient: e.g., for functions which yield lists, its direct implementation has linear time complexity because of communication, a... |

28 |
Upwards and downwards accumulations on trees
- Gibbons
- 1993
(Show Context)
Citation Context ...urs; the tuple structure arises by a non-formal argument and the result is not proved formally. A tree algorithm has been verified formally by O'Donnell [23], and later derived formally by J. Gibbons =-=[10]-=-. Kornerup [17] arrives formally at the algorithm by Ladner and Fisher in the recursive powerlist notation. Our approach differs in that our target implementation (1) is a result of the systematic, pr... |

26 | The Third Homomorphism Theorem
- Gibbons
- 1995
(Show Context)
Citation Context ...a , h (x :\Delta b) = h(x )\Omega b. Since \Phi and\Omega may be complicated, many functions are either lw or rw or both. Following fact was proved by Meertens and presented systematically by Gibbons =-=[9, 11]-=-. Theorem 4. Function h is a homomorphism iff it is leftwards and rightwards. Unfortunately, as pointed out in [11], the theorem does not provide a way to construct the homomorphic representation of a... |

14 |
D.: Deriving associative operators for language recognition
- Barnard, Schmeiser, et al.
- 1991
(Show Context)
Citation Context ...(map pair ) (18) with pair, \Phi and\Omega from (16). This is the well-known "folklore" implementation [25]. In Figure 3, it is illustrated for the 2-dimensional hypercube which is computing=-= scan (+) [1; 2; 3; 4]-=-. P0 P1 P2 P3 3 3 1 1 2 2 4 4 1 3 3 3 3 7 7 7 10 10 6 1 10 3 10 10 1 3 6 10 map (pair) swap 1 swap 2 map (pi1) Fig. 3. Computing scan on a hypercube Implementation (18) consists of three stages: pairi... |

11 |
Compiley-time transformations and optimization of parallel divide-and-conquer algorithms
- Carpentieri, Mou
- 1991
(Show Context)
Citation Context ...er and Fisher [20]. Meanwhile, parallel algorithms for scan are a part of folklore [25], and are usually presented in an ad hoc manner. There are few exceptions, to which we compare our approach. Mou =-=[6, 22]-=- specifies the scan algorithm within an algebraic model of divide-and-conquer and suggests an optimization, which is similar to ours; the tuple structure arises by a non-formal argument and the result... |

9 | W.: K Architecture independent massive parallelization of divideand-conquer algorithms
- Achatz, Schulte
- 1995
(Show Context)
Citation Context ...(map pair ) (18) with pair, \Phi and\Omega from (16). This is the well-known "folklore" implementation [25]. In Figure 3, it is illustrated for the 2-dimensional hypercube which is computing=-= scan (+) [1; 2; 3; 4]-=-. P0 P1 P2 P3 3 3 1 1 2 2 4 4 1 3 3 3 3 7 7 7 10 10 6 1 10 3 10 10 1 3 6 10 map (pair) swap 1 swap 2 map (pi1) Fig. 3. Computing scan on a hypercube Implementation (18) consists of three stages: pairi... |