Results 11 - 20
of
129
Parallel Implementation of Tree Skeletons
- Journal of Parallel and Distributed Computing
, 1995
"... 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 ex ..."
Abstract
-
Cited by 18 (2 self)
- Add to MetaCart
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...
Sub-cubic Cost Algorithms for the All Pairs Shortest Path Problem
- Algorithmica
, 1995
"... . In this paper we give three sub-cubic cost algorithms for the all pairs shortest distance (APSD) and path (APSP) problems. The first is a parallel algorithm that solves the APSD problem for a directed graph with unit edge costs in O(log 2 n) time with O(n ffi p log n) processors where = 2:68 ..."
Abstract
-
Cited by 17 (3 self)
- Add to MetaCart
. In this paper we give three sub-cubic cost algorithms for the all pairs shortest distance (APSD) and path (APSP) problems. The first is a parallel algorithm that solves the APSD problem for a directed graph with unit edge costs in O(log 2 n) time with O(n ffi p log n) processors where = 2:688 on an EREW-PRAM. The second parallel algorithm solves the APSP, and consequently APSD, problem for a directed graph with non-negative general costs (real numbers) in O(log 2 n) time with o(n 3 ) subcubic cost. Previously this cost was greater than O(n 3 ). Finally we improve with respect to M the complexity O((Mn) ) of a sequential algorithm for a graph with edge costs up to M into O(M 1=3 n (6+!)=3 (log n) 2=3 (log log n) 1=3 ) in the APSD problem. 1 Introduction The all pairs shortest path (APSP) problem is to compute shortest paths between all pairs of vertices of a directed graph with non-negative real numbers as edge costs. The all pairs shortest distance problem ...
Algorithms on Compressed Strings and Arrays
- In Proc. 26th Ann. Conf. on Current Trends in Theory and Practice of Infomatics
, 1999
"... . We survey the complexity issues related to several algorithmic problems for compressed one- and two-dimensional texts without explicit decompression: pattern-matching, equality-testing, computation of regularities, subsegment extraction, language membership, and solvability of word equations. Our ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
. We survey the complexity issues related to several algorithmic problems for compressed one- and two-dimensional texts without explicit decompression: pattern-matching, equality-testing, computation of regularities, subsegment extraction, language membership, and solvability of word equations. Our basic problem is one- and two-dimensional pattern-matching together with its variations. For some types of compression the pattern-matching problems are infeasible (NP-hard), for other types they are solvable in polynomial time and we discuss how to reduce the degree of corresponding polynomials. 1 Introduction In the last decade a new stream of research related to data compression has emerged: algorithms on compressed objects. It has been caused by the increase in the volume of data and the need to store and transmit masses of information in compressed form. The compressed information has to be quickly accessed and processed without explicit decompression. In this paper we consider severa...
Parallel Algorithm for the Matrix Chain Product and the Optimal Triangulation Problems (Extended Abstract)
, 1993
"... This paper considers the problem of finding an optimal order of the multiplication chain of matrices and the problem of finding an optimal triangulation of a convex polygon. For both these problems the best sequential algorithms run in \Theta(n log n) time. All parallel algorithms known use the dyna ..."
Abstract
-
Cited by 16 (2 self)
- Add to MetaCart
This paper considers the problem of finding an optimal order of the multiplication chain of matrices and the problem of finding an optimal triangulation of a convex polygon. For both these problems the best sequential algorithms run in \Theta(n log n) time. All parallel algorithms known use the dynamic programming paradigm and run in a polylogarithmic time using, in the best case, O(n 6 =log k n) processors for a constant k. We give a new algorithm which uses a different approach and reduces the problem to computing certain recurrence in a tree. We show that this recurrence can be optimally solved which enables us to improve the parallel bound by a few factors. Our algorithm runs in O(log 3 n) time using n 2 =log 3 n processors on a CREW PRAM. We also consider the problem of finding an optimal triangulation in a monotone polygon. An O(log 2 n) time and n processors algorithm on a CREW PRAM is given. Key words : parallel algorithms, computational geometry, dynamic programm...
Systematic Extraction and Implementation of Divide-and-Conquer Parallelism
- Programming languages: Implementation, Logics and Programs, Lecture Notes in Computer Science 1140
, 1996
"... 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 efficien ..."
Abstract
-
Cited by 15 (5 self)
- Add to MetaCart
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...
PRAM Computations Resilient to Memory Faults
- 2nd European Symposium on Algorithms ESA’94
"... : PRAMs with faults in their shared memory are investigated. Efficient general simulations on such machines of algorithms designed for fully reliable PRAMs are developed. The PRAM we work with is the Concurrent-Read Concurrent-Write (CRCW) variant. Two possible settings for error occurrence are cons ..."
Abstract
-
Cited by 15 (6 self)
- Add to MetaCart
: PRAMs with faults in their shared memory are investigated. Efficient general simulations on such machines of algorithms designed for fully reliable PRAMs are developed. The PRAM we work with is the Concurrent-Read Concurrent-Write (CRCW) variant. Two possible settings for error occurrence are considered: the errors may be either static (once a memory cell is checked to be operational it remains so during the computation) or dynamic (a potentially faulty cell may crash at any time, the total number of such cells being bounded). A simulation consists of two phases: memory formatting and the proper part done in a step-by-step way. For each error setting (static or dynamic), two simulations are presented: one with a O(1)-time per-step cost, the other with a O(log n)-time per-step cost. The other parameters of these simulations (number of processors, memory size, formatting time) are shown in table 1 in section 6. The simulations are randomized and Monte Carlo: they always operate within ...
Parsing of Context-Free Languages
- In: Rozenberg G., Salomaa A. (Eds), Handbook of Formal Languages
, 1997
"... Parsing is the process of assigning structure to sentences. The structure is obtained from the grammatical description of the language. Both in Computer Science and in Computational Linguistics, context-free grammars and associated parsing algorithms are among the most useful tools. Numerous parsing ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
Parsing is the process of assigning structure to sentences. The structure is obtained from the grammatical description of the language. Both in Computer Science and in Computational Linguistics, context-free grammars and associated parsing algorithms are among the most useful tools. Numerous parsing algorithms have been developed. Special subclasses of the contextfree grammars have been introduced in order to allow and induce efficient parsing algorithms. Special superclasses of the context-free grammars have been introduced in order to allow use of variants of efficient parsing methods that had been developed for context-free grammars. At first sight many parsing algorithms seem to be different, but nevertheless related. Some unifying approaches have been attempted in the past, but none survived the changing field. This report introduces a unifying approach at a level between grammars and algorithms, introducing so-called parsing schemata. In the parsing schemata framework the essenti...
The Computational Complexity of Generating Random Fractals
- J. Stat. Phys
, 1996
"... In this paper we examine a number of models that generate random fractals. The models are studied using the tools of computational complexity theory from the perspective of parallel computation. Diffusion limited aggregation and several widely used algorithms for equilibrating the Ising model ar ..."
Abstract
-
Cited by 15 (6 self)
- Add to MetaCart
In this paper we examine a number of models that generate random fractals. The models are studied using the tools of computational complexity theory from the perspective of parallel computation. Diffusion limited aggregation and several widely used algorithms for equilibrating the Ising model are shown to be highly sequential; it is unlikely they can be simulated efficiently in parallel. This is in contrast to Mandelbrot percolation that can be simulated in constant parallel time. Our research helps shed light on the intrinsic complexity of these models relative to each other and to different growth processes that have been recently studied using complexity theory. In addition, the results may serve as a guide to simulation physics. Keywords: Cluster algorithms, computational complexity, diffusion limited aggregation, Ising model, Metropolis algorithm, P-completeness 1
The Complexity and Viability of DNA Computations
, 1997
"... In this paper we examine complexity issues in DNA computation. We believe that these issues are paramount in the search for so-called "killer applications", that is, applications of DNA computation that would establish the superiority of this paradigm over others in particular domains. An assured fu ..."
Abstract
-
Cited by 13 (4 self)
- Add to MetaCart
In this paper we examine complexity issues in DNA computation. We believe that these issues are paramount in the search for so-called "killer applications", that is, applications of DNA computation that would establish the superiority of this paradigm over others in particular domains. An assured future for DNA computation can only be established through the discovery of such applications. We demonstrate that current measures of complexity fall short of reality. Consequently, we define a more realistic model, a so-called strong model of computation which provides better estimates of the resources required by DNA algorithms. We also compare the complexities of published algorithms within this new model and the weaker, extant model which is commonly (often implicitly) assumed. 1 Introduction Following the inital promise and enthusiastic response to Adleman's seminal work [1] in DNA computation, progress towards the realisation of worthwhile computations in the laboratory has become st...

