Results 1  10
of
15
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...
Questions and Answers About Categorical Data Types
 in Proceedings on the BCS Workshop on Bulk Data Types for Architecture Independence, London (20
, 1994
"... this document without fee provided it is copied in its entirety and this notice remains attached. the computation and communication of an operation on the data type are arranged. That's a job for the implementer and compiler writer. So there's a separation of concerns at just the right le ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
(Show Context)
this document without fee provided it is copied in its entirety and this notice remains attached. the computation and communication of an operation on the data type are arranged. That's a job for the implementer and compiler writer. So there's a separation of concerns at just the right level  programmers think about monolithic operations on data types, while implementers worry about how to make them happen. This provides architecture independence. If the target machine is replaced during the night by some new machine, even a completely different architecture, there is no need to alter the software. The differences between machines can be hidden by the compiler.
DivideandConquer Algorithms on the Hypercube
 Theoretical Computer Science
, 1993
"... We show how to implement divideandconquer algorithms without undue overhead on a wide class of networks. We give an optimal generic divideandconquer implementation on hypercubes for the class of divideandconquer algorithms for which the total size of the subproblems on any level of the recursi ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
(Show Context)
We show how to implement divideandconquer algorithms without undue overhead on a wide class of networks. We give an optimal generic divideandconquer implementation on hypercubes for the class of divideandconquer algorithms for which the total size of the subproblems on any level of the recursion does not exceed the parent problem size. For this implementation, appropriately sized subcubes have to be allocated to the subproblems generated by the dividesteps. We take care that these allocation steps do not cause any unbalanced distribution of work, and that, asymptotically, they do not increase the running time. Variants of our generic algorithm also work for the butterfly network and, by a general simulation, for the class of hypercubic networks, including the shuffleexchange and the cubeconnectedcycles network. Our results can also be applied to optimally solve various types of routing problems. Keywords: Theory of Parallel and Distributed Computation, Algorithms and Data St...
All Nearest Smaller Values on the Hypercube
 IEEE Transactions on Parallel and Distributed Systems
, 1996
"... Given a sequence of n elements, the All Nearest Smaller Values (ANSV) problem is to find, for each element in the sequence, the nearest element to the left (right) that is smaller, or to report that no such element exists. Time and work optimal algorithms for this problem are known on all the PRAM m ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Given a sequence of n elements, the All Nearest Smaller Values (ANSV) problem is to find, for each element in the sequence, the nearest element to the left (right) that is smaller, or to report that no such element exists. Time and work optimal algorithms for this problem are known on all the PRAM models [3], [5], but the running time of the best previous hypercube algorithm [6] is optimal only when the number of processors p satisfies 1 p n=((lg 3 n)(lg lg n) 2 ). In this paper, we prove that any normal hypercube algorithm requires\Omega\Gamma n) processors to solve the ANSV problem in O(lg n) time, and we present the first normal hypercube ANSV algorithm that is optimal for all values of n and p. We use our ANSV algorithm to give the first O(lgn)time nprocessor normal hypercube algorithms for triangulating a monotone polygon and for constructing a Cartesian tree. Keywords All nearest smaller values, normal hypercube algorithm, monotone polygon triangulation, Cartesian tree...
Efficient Implementation of Tree Skeletons on DistributedMemory Parallel Computers
, 2006
"... The METR technical reports are published as a means to ensure timely dissemination of scholarly and technical work on a noncommercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electron ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
The METR technical reports are published as a means to ensure timely dissemination of scholarly and technical work on a noncommercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each authorâ€™s copyright. These works may not be reposted without the explicit permission of the copyright holder.
An Optimal Hypercube Algorithm for the All Nearest Smaller Values Problem
, 1994
"... Given a sequence of n elements, the All Nearest Smaller Values (ANSV) problem is to find, for each element in the sequence, the nearest element to the left (right) that is smaller, or to report that no such element exists. Berkman, Schieber, and Vishkin [4] give an ANSV algorithm that runs in O(lg n ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Given a sequence of n elements, the All Nearest Smaller Values (ANSV) problem is to find, for each element in the sequence, the nearest element to the left (right) that is smaller, or to report that no such element exists. Berkman, Schieber, and Vishkin [4] give an ANSV algorithm that runs in O(lg n) time on an (n= lg n)processor CREW PRAM. In this paper, we present an O(lgn)time nprocessor normal hypercube algorithm for the ANSV problem. Furthermore, we prove that any normal hypercube algorithm requires \Omega\Gamma n) processors to solve the ANSV problem in O(lg n) time. We use our ANSV algorithm to give the first O(lgn)time nprocessor normal hypercube algorithms for triangulating a monotone polygon and for constructing a Cartesian tree. 1 Introduction The All Nearest Smaller Values (ANSV) problem is defined as follows. Let W = hw i : 0 i ! ni be a sequence of n elements. For each w i , 0 i ! n, we want to find the nearest element to the left of w i in W and the nearest el...
DivideandConquer Algorithms on the Hypercube
 Theoretical Computer Science
, 1993
"... We show how to implement divideandconquer algorithms without undue overhead on a wide class of networks. We give an optimal generic divideandconquer implementation on hypercubes for the class of divideandconquer algorithms for which the total size of the subproblems on any level of the recu ..."
Abstract
 Add to MetaCart
(Show Context)
We show how to implement divideandconquer algorithms without undue overhead on a wide class of networks. We give an optimal generic divideandconquer implementation on hypercubes for the class of divideandconquer algorithms for which the total size of the subproblems on any level of the recursion does not exceed the parent problem size. For this implementation, appropriately sized subcubes have to be allocated to the subproblems generated by the dividesteps. We take care that these allocation steps do not cause any unbalanced distribution of work, and that, asymptotically, they do not increase the running time. Variants of our generic algorithm also work for the butterfly network and, by a general simulation, for the class of hypercubic networks, including the shuffleexchange and the cubeconnectedcycles network. Our results can also be applied to optimally solve various types of routing problems.
Optimal Implementation of General DivideandConquer on the Hypercube and Related Networks
"... . We show how to implement divideandconquer algorithms without undue overhead on a wide class of networks. We give an optimal generic divideandconquer implementation on hypercubes for the class of divideandconquer algorithms for which the total size of the subproblems on any level of recursion ..."
Abstract
 Add to MetaCart
(Show Context)
. We show how to implement divideandconquer algorithms without undue overhead on a wide class of networks. We give an optimal generic divideandconquer implementation on hypercubes for the class of divideandconquer algorithms for which the total size of the subproblems on any level of recursion does not exceed the original problem size. For this implementation, appropriately sized subcubes have to be allocated to the subproblems generated by the dividestep. We take care that these allocation steps do not cause unbalanced distribution of work, and that, asymptotically, they do not increase the running time. Variants of our generic algorithm also work for the butterfly network and, by a general simulation, for the class of hypercubic networks, including the shuffleexchange and the cubeconnectedcycles network. Our results can also be applied to optimally solve various types of routing problems. Topics: Theory of Parallel and Distributed Computation, Algorithms and Data Structures ...