Results 1 
3 of
3
Parallel Implementation of Tree Skeletons
 Journal of Parallel and Distributed Computing
, 1996
"... 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 e ciently. Wepresent a method for constructing implementations of skeletons, highlevel homomorphic operations on trees, that execu ..."
Abstract

Cited by 18 (2 self)
 Add to MetaCart
(Show Context)
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 e ciently. Wepresent a method for constructing implementations of skeletons, highlevel 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 generalpurpose parallel computation is based on packaging complex operations as templates, or skeletons [3, 12]. Skeletons encapsulate the control and data ow necessary to compute useful operations. This permits software to be written in a way that is independent of particular architectures, and indeed of underlying parallelism at all, while freeing implementations
Structured Parallel Computation in Structured Documents
 Journal of Universal Computer Science
, 1995
"... Document archives contain large amounts of data to which sophisticated queries are applied. The size of archives and the complexity of evaluating queries makes the use of parallelism attractive. The use of semanticallybased markup such as SGML makes it possible to represent documents and document ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
(Show Context)
Document archives contain large amounts of data to which sophisticated queries are applied. The size of archives and the complexity of evaluating queries makes the use of parallelism attractive. The use of semanticallybased markup such as SGML makes it possible to represent documents and document archives as data types. We present a theory of trees and tree homomorphisms, modelling structured text archives and operations on them, from which it can be seen that: ffl many apparentlyunrelated tree operations are homomorphisms; ffl homomorphisms can be described in a simple parameterised way that gives standard sequential and parallel implementations for them; ffl special classes of homomorphisms have parallel implementations of practical interest. In particular, we develop an implementation for path expression search, a novel powerful query facility for structured text, that takes time logarithmic in the text size. Keywords: structured text, categorical data type, software developme...
A Parallel Tree Difference Algorithm
 Information Processing Letters
, 1995
"... We present a tree difference algorithm with expected sequential execution time O(n log log n) and expected parallel execution time of O(log n), for trees of size n. The algorithm assumes unique labels and permits operations only on leaves and frontier subtrees. Despite these limitations, it can be u ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
We present a tree difference algorithm with expected sequential execution time O(n log log n) and expected parallel execution time of O(log n), for trees of size n. The algorithm assumes unique labels and permits operations only on leaves and frontier subtrees. Despite these limitations, it can be useful in the analysis of structured text. 1 Applications of Tree Difference In this paper we describe an algorithm for determining the difference between two trees under the assumption that each node has a unique label chosen from an ordered set. The algorithm uses a novel form of hashing to quickly extract neighbourhood information for each node. In a second phase, this neighbourhood information is processed to determine what differences exist between the trees. We assume that trees may be arbitrarily branching, and that the following operations may have been applied to them: 1. a node was inserted to become a new leaf; 2. a leaf node was deleted; 3. a leaf node was moved to become a lea...