Results 1 - 10
of
95
Scans as Primitive Parallel Operations
- IEEE Transactions on Computers
, 1987
"... In most parallel random-access machine (P-RAM) models, memory references are assumed to take unit time. In practice, and in theory, certain scan operations, also known as prefix computations, can executed in no more time than these parallel memory references. This paper outline an extensive study of ..."
Abstract
-
Cited by 143 (12 self)
- Add to MetaCart
In most parallel random-access machine (P-RAM) models, memory references are assumed to take unit time. In practice, and in theory, certain scan operations, also known as prefix computations, can executed in no more time than these parallel memory references. This paper outline an extensive study of the effect of including in the P-RAM models, such scan operations as unit-time primitives. The study concludes that the primitives improve the asymptotic running time of many algorithms by an O(lg n) factor, greatly simplify the description of many algorithms, and are significantly easier to implement than memory references. We therefore argue that the algorithm designer should feel free to use these operations as if they were as cheap as a memory reference. This paper describes five algorithms that clearly illustrate how the scan primitives can be used in algorithm design: a radix-sort algorithm, a quicksort algorithm, a minimumspanning -tree algorithm, a line-drawing algorithm and a mergi...
Parallel Symmetry-Breaking in Sparse Graphs
- SIAM J. Disc. Math
, 1987
"... We describe efficient deterministic techniques for breaking symmetry in parallel. These techniques work well on rooted trees and graphs of constant degree or genus. Our primary technique allows us to 3-color a rooted tree in O(lg n) time on an EREW PRAM using a linear number of processors. We use th ..."
Abstract
-
Cited by 60 (2 self)
- Add to MetaCart
We describe efficient deterministic techniques for breaking symmetry in parallel. These techniques work well on rooted trees and graphs of constant degree or genus. Our primary technique allows us to 3-color a rooted tree in O(lg n) time on an EREW PRAM using a linear number of processors. We use these techniques to construct fast linear processor algorithms for several problems, including (\Delta + 1)-coloring constantdegree graphs and 5-coloring planar graphs. We also prove lower bounds for 2-coloring directed lists and for finding maximal independent sets in arbitrary graphs. 1 Introduction Some problems for which trivial sequential algorithms exist appear to be much harder to solve in a parallel framework. When converting a sequential algorithm to a parallel one, at each step of the parallel algorithm we have to choose a set of operations which may be executed in parallel. Often, we have to choose these operations from a large set A preliminary version of this paper appear...
The Boolean formula value problem is in ALOGTIME
- in Proceedings of the 19-th Annual ACM Symposium on Theory of Computing
, 1987
"... The Boolean formula value problem is in alternating log time and, more generally, parenthesis context-free languages are in alternating log time. The evaluation of reverse Polish notation Boolean formulas is also in alternating log time. These results are optimal since the Boolean formula value ..."
Abstract
-
Cited by 55 (7 self)
- Add to MetaCart
The Boolean formula value problem is in alternating log time and, more generally, parenthesis context-free languages are in alternating log time. The evaluation of reverse Polish notation Boolean formulas is also in alternating log time. These results are optimal since the Boolean formula value problem is complete for alternating log time under deterministic log time reductions. Consequently, it is also complete for alternating log time under AC reductions.
Efficient parallel graph algorithms for coarse grained multicomputers and BSP (Extended Abstract)
- in Proc. 24th International Colloquium on Automata, Languages and Programming (ICALP'97
, 1997
"... In this paper, we present deterministic parallel algorithms for the coarse grained multicomputer (CGM) and bulk-synchronous parallel computer (BSP) models which solve the following well known graph problems: (1) list ranking, (2) Euler tour construction, (3) computing the connected components and s ..."
Abstract
-
Cited by 55 (23 self)
- Add to MetaCart
In this paper, we present deterministic parallel algorithms for the coarse grained multicomputer (CGM) and bulk-synchronous parallel computer (BSP) models which solve the following well known graph problems: (1) list ranking, (2) Euler tour construction, (3) computing the connected components and spanning forest, (4) lowest common ancestor preprocessing, (5) tree contraction and expression tree evaluation, (6) computing an ear decomposition or open ear decomposition, (7) 2-edge connectivity and biconnectivity (testing and component computation), and (8) cordal graph recognition (finding a perfect elimination ordering). The algorithms for Problems 1-7 require O(log p) communication rounds and linear sequential work per round. Our results for Problems 1 and 2, i.e.they are fully scalable, and for Problems hold for arbitrary ratios n p 3-8 it is assumed that n p,>0, which is true for all commercially
Adaptive Functional Programming
- IN PROCEEDINGS OF THE 29TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES
, 2001
"... An adaptive computation maintains the relationship between its input and output as the input changes. Although various techniques for adaptive computing have been proposed, they remain limited in their scope of applicability. We propose a general mechanism for adaptive computing that enables one to ..."
Abstract
-
Cited by 52 (20 self)
- Add to MetaCart
An adaptive computation maintains the relationship between its input and output as the input changes. Although various techniques for adaptive computing have been proposed, they remain limited in their scope of applicability. We propose a general mechanism for adaptive computing that enables one to make any purely-functional program adaptive. We show
Optical Communication for Pointer Based Algorithms
, 1988
"... ) Abstract In this paper we study the Local Memory P-RAM. This model allows unit cost communication but assumes that the shared memory is divided into modules. This model is motivated by a consideration of potential optical computers. We show that fundamental problems such as list-ranking and parall ..."
Abstract
-
Cited by 51 (1 self)
- Add to MetaCart
) Abstract In this paper we study the Local Memory P-RAM. This model allows unit cost communication but assumes that the shared memory is divided into modules. This model is motivated by a consideration of potential optical computers. We show that fundamental problems such as list-ranking and parallel tree contraction can be implemented on this model in O(log n) time using n= log n processors. To solve the list-ranking problem we introduce a general asynchronous technique which has relevance to a number of problems. 1 Introduction We consider a model of parallel computation that is especially suited to pointer based computation. We motivate this model by showing that basic problems, like list-ranking and parallel tree contraction, can be performed in O(log n) time using only n= log n processors. We also show that any step on this model can be simulated in unit time on this model by a machine with an optical communication architecture. Thus we contend that the basic problem of list-ra...
Greatest Common Divisors of Polynomials Given by Straight-Line Programs
- J. ACM
, 1988
"... . F Algorithms on multivariate polynomials represented by straight-line programs are developed irst it is shown that most algebraic algorithms can be probabilistically applied to data that is given by y r a straight-line computation. Testing such rational numeric data for zero, for instance, is faci ..."
Abstract
-
Cited by 49 (17 self)
- Add to MetaCart
. F Algorithms on multivariate polynomials represented by straight-line programs are developed irst it is shown that most algebraic algorithms can be probabilistically applied to data that is given by y r a straight-line computation. Testing such rational numeric data for zero, for instance, is facilitated b andom evaluations modulo random prime numbers. Then auxiliary algorithms are constructed that a determine the coefficients of a multivariate polynomial in a single variable. The first main result is an lgorithm that produces the greatest common divisor of the input polynomials, all in straight-line r a representation. The second result shows how to find a straight-line program for the reduced numerato nd denominator from one for the corresponding rational function. Both the algorithm for that conl c struction and the greatest common divisor algorithm are in random polynomial-time for the usua oefficient fields and output a straight-line program, which with controllably high probab...
Parallel and distributed algorithms for finite constraint satisfaction problems
- in Proc. of Third IEEE Symposium on Parallel and Distributed Processing
, 1991
"... This paper develops two new algorithms for solv-ing a finite constraint satisfaction problem (FCSP) in parallel. In particular, we give a parallel algorithm for the EREW PRAM model and a distributed algorithm for networks of interconnected processors. If an FCSP can be represented by an acyclic cons ..."
Abstract
-
Cited by 38 (2 self)
- Add to MetaCart
This paper develops two new algorithms for solv-ing a finite constraint satisfaction problem (FCSP) in parallel. In particular, we give a parallel algorithm for the EREW PRAM model and a distributed algorithm for networks of interconnected processors. If an FCSP can be represented by an acyclic constraint network of sire n with width bounded by a constant then (1) the parallel algorithm takes O(1ogn) time using O(n) pro-cessors and (2) there is a mapping of this problem to a distributed computing network of poly(n) processors which stabilizes in O(1ogn) time. 1
The Accelerated Centroid Decomposition Technique For Optimal Parallel Tree Evaluation In Logarithmic Time
, 1986
"... A new general parallel algorithmic technique for computations on trees is presented. The new technique performs a reduction of the tree expression evaluation problem to list ranking; then, the list ranking provides a schedule for evaluating the tree operations. The technique needs logarithmic tim ..."
Abstract
-
Cited by 36 (3 self)
- Add to MetaCart
A new general parallel algorithmic technique for computations on trees is presented. The new technique performs a reduction of the tree expression evaluation problem to list ranking; then, the list ranking provides a schedule for evaluating the tree operations. The technique needs logarithmic time using an optimal number of processors and has applications to other tree problems. This new technique enables us to systematically order four basic ideas and techniques for parallel algorithms on tree: (1) The list ranking problem. (2) The Euler tour technique on trees. (3) The centroid decomposition technique. (4) The new accelerated centroid decomposition (ACD) technique. 1. Introduction The model of parallel computation used in this paper is the concurrent-read exclusive-write (CREW) parallel random access machine (PRAM). A PRAM employs p synchronous processors all having access to a common memory. A CREW PRAM allows concurrent access by several processors to the same common memo...
An Optimal Parallel Algorithm for Formula Evaluation
, 1992
"... A new approach to Buss’s NC¹ algorithm [Proc. 19thACM Symposium on Theory of Computing, Association for Computing Machinery, New York, 1987, pp. 123-131] for evaluation of Boolean formulas is presented. This problem is shown to be complete for NC¹ over AC¬ reductions. This approach is then used to s ..."
Abstract
-
Cited by 36 (6 self)
- Add to MetaCart
A new approach to Buss’s NC¹ algorithm [Proc. 19thACM Symposium on Theory of Computing, Association for Computing Machinery, New York, 1987, pp. 123-131] for evaluation of Boolean formulas is presented. This problem is shown to be complete for NC¹ over AC¬ reductions. This approach is then used to solve the more general problem of evaluating arithmetic formulas by using arithmetic circuits.

