## Parallel Implementation of Tree Skeletons (1995)

### Cached

### Download Links

- [ftp.qucis.queensu.ca]
- [www.qucis.queensu.ca]
- DBLP

### Other Repositories/Bibliography

Venue: | Journal of Parallel and Distributed Computing |

Citations: | 18 - 2 self |

### BibTeX

@ARTICLE{Skillicorn95parallelimplementation,

author = {D. B. Skillicorn},

title = {Parallel Implementation of Tree Skeletons},

journal = {Journal of Parallel and Distributed Computing},

year = {1995},

volume = {39},

pages = {115--125}

}

### OpenURL

### Abstract

Trees are a useful data type, but they are not routinely included in parallel programming systems because their irregular structure makes them seem hard to compute with efficiently. We present a method for constructing implementations of skeletons, high-level homomorphic operations on trees, that execute in parallel. In particular, we consider the case where the size of the tree is much larger than the the number of processors available, so that tree data must be partitioned. The approach uses the theory of categorical data types to derive implementation templates based on tree contraction. Many useful tree operations can be computed in time logarithmic in the size of their argument, on a wide range of parallel systems. 1 Contribution One common approach to general-purpose parallel computation is based on packaging complex operations as templates, or skeletons [3, 12]. Skeletons encapsulate the control and data flow necessary to compute useful operations. This permits software to be...

### Citations

440 |
Algorithmic Skeletons: Structured Management of Parallel Computation
- Cole
- 1989
(Show Context)
Citation Context ... of their argument, on a wide range of parallel systems. 1 Contribution One common approach to general-purpose parallel computation is based on packaging complex operations as templates, or skeletons =-=[3, 12]-=-. Skeletons encapsulate the control and data flow necessary to compute useful operations. This permits software to be written in a way that is independent of particular architectures, and indeed of un... |

191 |
Efficient Parallel Algorithms
- Gibbons
- 1988
(Show Context)
Citation Context ...o far proven too complicated for practical use. Under certain fairly mild conditions on g, it is possible to replace the recursive implementation schema by an implementation based on tree contraction =-=[1, 5, 10]-=-. The basic idea of tree contraction is that the sequential dependency along the longest path from root to leaves can be avoided by doing useful work, on every step, at nodes where only one descendant... |

144 | NESL: A nested data-parallel language
- Blelloch
(Show Context)
Citation Context ...rphisms, and it allows the implementations to be polymorphic, since the type of the nodes is not used in decisions about partitioning. Others have chosen to work at the finest grain, for example NESL =-=[2]-=-. The second issue is that the types of the functions applied to pieces of the argument are not the same as the type of the original program. A method for systematically generating the actual code for... |

121 |
Parallel tree contraction and its application
- Miller, Reif
- 1985
(Show Context)
Citation Context ...o far proven too complicated for practical use. Under certain fairly mild conditions on g, it is possible to replace the recursive implementation schema by an implementation based on tree contraction =-=[1, 5, 10]-=-. The basic idea of tree contraction is that the sequential dependency along the longest path from root to leaves can be avoided by doing useful work, on every step, at nodes where only one descendant... |

87 |
A Simple Parallel Tree Contraction Algorithm
- Abrahamson, Dadoun, et al.
- 1989
(Show Context)
Citation Context ...o far proven too complicated for practical use. Under certain fairly mild conditions on g, it is possible to replace the recursive implementation schema by an implementation based on tree contraction =-=[1, 5, 10]-=-. The basic idea of tree contraction is that the sequential dependency along the longest path from root to leaves can be avoided by doing useful work, on every step, at nodes where only one descendant... |

85 |
Algebraic Data Types and Program Transformation
- Malcolm
- 1990
(Show Context)
Citation Context ...l be broken up into its original pieces by the subsequent application of dist p . We make use of this in what follows. There is a general result for initial data types, known as the promotion theorem =-=[8]-=-, which allows operations such as flatten to be permuted with other operations in the following sense Theorem 7 (Promotion through flatten) For an arbitrary tree homomorphism, Hom(h 1 ; h 2 ) Hom(h 1 ... |

43 |
Faster Optimal Parallel Prefix sums and List Ranking
- COLE, VISHKIN
- 1989
(Show Context)
Citation Context ...g from 0, so that disjoint locations can be chosen to apply the local contraction operations. Such a numbering can be done using the Euler Tour technique in O(log n) time using O(n= log n) processors =-=[4]-=-. a 1 z :g(a 2 ; a 1 ; z ) a 2 id a 3 zz 2 ::g(z 1 ; a 3 ; z 2 ) x y z 1 z 2 :g(a 2 ; a 1 ; g(z 1 ; a 3 ; z 2 )) x y Figure 4: A contractl Operation 2. For every node whose left descendant has an even... |

19 | Efficient parallel algorithms for tree accumulations
- Gibbons, Cai, et al.
- 1994
(Show Context)
Citation Context ...the root and the furthest leaf. And once again, under certain conditions on p 2 , a fourth implementation, based on tree contraction, can be built. The algorithm is complex, and is fully described in =-=[6]-=-. The essential idea is to carry out a tree contraction, but leaving the contracted nodes connected to the new node that replaced them. A subsequent phase takes some partial results of the contraction... |

14 | Optimal routing of parentheses on the hypercube
- Mayr, Werchner
- 1993
(Show Context)
Citation Context ...s can be computed from the indices of f i and f j in constant time. The original version of tree contraction was described for the EREW PRAM, but the same performance can be achieved on the hypercube =-=[9]-=-, and the technique can presumably be extended to the cube-connected-cycles topology. Note that we no longer need the assumption of an undilated embedding of the tree into the communication topology o... |

8 | Structured parallel computation in structured documents
- Skillicorn
- 1997
(Show Context)
Citation Context ...re. In particular many of the skeletons described here are directly applicable for parallel computation on structured text, which is often so large that parallelism is necessary to use it effectively =-=[13]-=-. Practical parallel implementations of such operations are described. 2 Construction of Trees We will construct two types of trees. The first is the type of full binary trees. Although we will usuall... |

7 |
Faster optimal parallel pre x sums and list ranking
- Cole, Vishkin
- 1989
(Show Context)
Citation Context ...g from 0, so that disjoint locations can be chosen to apply the local contraction operations. Such anumbering can be done using the Euler Tour technique in O(log n) time using O(n = log n) processors =-=[4]-=-. 8a1 z :g(a2; a1; z) id a2 a3 z z2::g(z1; a3; z2) x y z1 z2 :g(a2; a1 ; g(z1 ; a3 ; z2)) x y Figure 4: A contractl Operation 92. For every node whose left descendant has an even number, carry out c... |

6 | Derivation of efficient data parallel programs
- Roe
- 1994
(Show Context)
Citation Context ...break a tree into p subtrees, and flatten to flatten p subtrees back into a single tree. They are related by this equation flatten \Delta dist p = id (1) whose importance was first pointed out by Roe =-=[11]-=-. There are several choices for these functions. The obvious technique of breaking a tree into a tree of trees is very limited because of the requirement that the top-level structure b b b b b b a a a... |

3 |
Foundations of Parallel Computing. Cambridge Series in Parallel Computation
- Skillicorn
- 1994
(Show Context)
Citation Context ... of their argument, on a wide range of parallel systems. 1 Contribution One common approach to general-purpose parallel computation is based on packaging complex operations as templates, or skeletons =-=[3, 12]-=-. Skeletons encapsulate the control and data flow necessary to compute useful operations. This permits software to be written in a way that is independent of particular architectures, and indeed of un... |

2 | Path expressions as selectors for non-linear text - Macleod - 1993 |