Parallel Algorithmic Techniques For CombinationalComputation
Annual Review of Computer SciencePublished 1 June 1988
David Eppstein, Zvi Galil
Citations100
Generate an AI Snapshot to get a quick, structured summary of this paper.
Study Snapshot
ObjectiveStudy objective
MethodsResearch methodology
PopulationPopulation studied
Sample sizeSample sizes
OutcomesStudy outcomes here
ResultsStudy results comes here
LimitationsResearch study limitations comes here
A concise AI-generated summary of the paper will appear here once you click Generate AI Snapshot.
Abstract
We have described a number of algorithmic tools that have been found useful in the construction of parallel algorithms; among these are prefix computation, ranking, Euler tours, ear decomposition, and matrix calculations. We have also described some of the applications of these tools, and listed many other applications. These algorithms seem likely to be useful not only in their own right, but also as examples of ways to break up other problems into parts suitable for parallel solution.
Keywords
Computer Science
The Design and Analysis of Computer Algorithms
9,456 Citations1974Alfred V. Aho, John E. Hopcroft
This text introduces the basic data structures and programming techniques often used in efficient algorithms, and covers use of lists, push-down stacks, queues, trees, and graphs.
SIAM Journal on ComputingDepth-First Search and Linear Graph Algorithms
6,021 Citations1972Robert E. Tarjan
The value of depth-first search or “backtracking” as a technique for solving problems is illustrated by two examples of an improved version of an algorithm for finding the strongly connected components of a directed graph.
Journal of the ACMParallel Prefix Computation
1,282 Citations1980Richard E. Ladner, Michael J. Fischer
A recurstve construction is used to obtain a product circuit for solving the prefix problem and a Boolean clrcmt which has depth 2[Iog2n] + 2 and size bounded by 14n is obtained for n-bit binary addmon.
SIAM Journal on ComputingA Simple Parallel Algorithm for the Maximal Independent Set Problem
1,134 Citations1986Michael Luby
Communications of the ACMData parallel algorithms
891 Citations1986W. Daniel Hillis, Guy L. Steele
The success of data parallel algorithms—even on problems that at first glance seem inherently serial—suggests that this style of programming has much wider applicability than was previously thought.
Parallelism in random access machines
880 Citations1978Steven Fortune, James Wyllie
A model of computation based on random access machines operating in parallel and sharing a common memory is presented and can accept in polynomial time exactly the sets accepted by nondeterministic exponential time bounded Turing machines.
An O(v|v| c |E|) algoithm for finding maximum matching in general graphs
819 Citations1980Silvio Micali, Vijay V. Vazirani
An 0(√|V|¿|E|) algorithm for finding a maximum matching in general graphs works in 'phases'.
Journal of the ACMThe Parallel Evaluation of General Arithmetic Expressions
818 Citations1974Richard P. Brent
It is shown that arithmetic expressions with n ≥ 1 variables and constants; operations of addition, multiplication, and division; and any depth of parenthesis nesting can be evaluated in time 4 log 2 + 10(n - 1) using processors which can independently perform arithmetic operations in unit time.
An 0(n log n) sorting network
665 Citations1983Miklós Ajtai, János Komlós +1 more
A sorting network of size 0(n log n) and depth 0(log n) is described, and a derived procedure (&egr;-nearsort) are described below, and the sorting network will be centered around these elementary steps.
Matrix multiplication via arithmetic progressions
635 Citations1987Don Coppersmith, S. Winograd
A new method for accelerating matrix multiplication asymptotically is presented, by using a basic trilinear form which is not a matrix product, and making novel use of the Salem-Spencer Theorem.
Journal of the ACMApplying Parallel Computation Algorithms in the Design of Serial Algorithms
632 Citations1983Nimrod Megiddo
It is pointed out that analyses of parallelism in computational problems have practical implications even when multi-processor machines are not available, and a unified framework for cases like this is presented.
Matching is as easy as matrix inversion
617 Citations1987Ketan Mulmuley, Umesh Vazirani +1 more
A new algorithm for finding a maximum matching in a general graph with special feature is that its only computationally non-trivial step is the inversion of a single integer matrix, the isolating lemma.
SIAM Journal on ComputingOn Finding Lowest Common Ancestors: Simplification and Parallelization
535 Citations1988Baruch Schieber, Uzi Vishkin
Transactions of the American Mathematical SocietyNon-separable and planar graphs
501 Citations1932Hassler Whitney
Journal of Computer and System SciencesOn uniform circuit complexity
434 Citations1981Walter L. Ruzzo
It is shown that simultaneous size/depth of uniform circuits is the same as space/time of alternating Turing machines, with depth and time within a constant factor and likewise log(size) and space.
Information and ControlDeterministic coin tossing with applications to optimal parallel list ranking
424 Citations1986Richard Cole, Uzi Vishkin
The algorithms apply a novel “random-like” deterministic technique that provides for a fast and efficient breaking of an apparently symmetric situation in parallel and distributed computation.
Parallel tree contraction and its application
409 Citations1985Gary L. Miller, John H. Reif
A bottom-up algorithm to handle trees which has two major advantages over the top-down approach: the control structure is straight forward and easier to implement facilitating new algorithms using fewer processors and less time; and problems for which it was too difficult or too complicated to find polylog parallel algorithms are now easy.
SIAM Journal on ComputingParallelism in Comparison Problems
400 Citations1975Leslie G. Valiant
The worst-case time complexity of algorithms for multiprocessor computers with binary comparisons as the basic operations is investigated and the algorithm for finding the maximum is shown to be optimal for all values of k and n.
Parallel merge sort
363 Citations1986Richard Cole
A parallel implementation of merge sort on a CREW PRAM that uses n processors and O(logn) time; the constant in the running time is small.
Information Processing LettersOn computing the determinant in small parallel time using a small number of processors
348 Citations1984S. J. Berkowitz
The determinant, characteristic polynomial and adjoint over an arbitrary commutative ring with unity can be computed by a circuit with size O(n3.496) and depth O(log2n).
IEEE Transactions on ComputersData broadcasting in SIMD computers
266 Citations1981David Nassimi, Sartaj Sahni
Considers the data broadcasting problem for single instruction stream, multiple data stream (SIMD) computers and two versions of this problem, i.e., random access read (RAR) and random access write (RAW) are considered.
COMBINATORICAConstructing a perfect matching is in random NC
254 Citations1986Richard M. Karp, Eli Upfal +1 more
Theoretical Computer ScienceComputing an st-numbering
252 Citations1976Shimon Even, Robert E. Tarjan
This paper provides a linear-time algorithm for computing an st-numbering for any biconnected graph and can be combined with some new results by Booth and Lueker to provide alinear-time implementation of the Lempel-Even-Cederbaum planarity-testing algorithm.
Lecture notes in computer scienceFinding the maximum, merging and sorting in a parallel computation model
236 Citations2007Yossi Shiloach, Uzi Vishkin
A model for synchronized parallel computation is described in which all p processors have access to a common memory and this model is used to solve the problems of finding the maximum, merging, and sorting by p processors.
IEEE Transactions on ComputersThe power of parallel prefix
230 Citations1985Clyde P. Kruskal, Larry Rudolph +1 more
This study assumes the weakest PRAM model, where shared memory locations can only be exclusively read or written (the EREW model) to solve the prefix computation problem, when the order of the elements is specified by a linked list.
Information Processing LettersA fast and simple randomized parallel algorithm for maximal matching
227 Citations1986Amos Israeli, Alon Itai
A parallel randomized algorithm to find a maximal matching is presented that improves the best known deterministic algorithm by a factor of log 2 vbEvb.
How to emulate shared memory
219 Citations1987Abhiram Ranade
This work presents a simple algorithm for emulating an N processor CRCW PRAM on an N node butterfly that improves the result of Pippenger by routing permutations with bounded queues in logarithmic time, without the possibility of deadlock.
Acta InformaticaRandomized and deterministic simulations of PRAMs by parallel machines with restricted granularity of parallel memories
211 Citations1984Kurt Mehlhorn, Uzi Vishkin
The present paper provides a comprehensive study of algorithms which are designed for shared memory models of parallel computation (PRAMs) in which processors are allowed to have fairly unrestricted access patterns to the shared memory.
SIAM Journal on Discrete MathematicsParallel Symmetry-Breaking in Sparse Graphs
201 Citations1988Andrew V. Goldberg, Serge Plotkin +1 more
eCommons (Cornell University)The Complexity of Parallel Computations
200 Citations1979James Wyllie
This thesis describes an algorithm for the off-line MIN that organizes its computation in the form of a complete binary tree that relies on redundancy in its representation of the input graph, and introduces three techniques that permit the design of parallel algorithms that are efficient in terms of both their time and processor requirements.
Finding biconnected componemts and computing tree functions in logarithmic parallel time
186 Citations1984Robert E. Tarjan, Uzi Vishkin
A general algorithmic technique which simplifies and improve computation of various functions on tress is introduced, which typically requires 0(log n) time using 0(n) space on an exclusive-read exclusive-write parallel RAM.
Deterministic coin tossing and accelerating cascades: micro and macro techniques for designing parallel algorithms
182 Citations1986Richard Cole, Uzi Vishkin
A new deterministic coin tossing technique that provides for a fast and eff ient b reak ing of a symmetr ic s i tuat ion in paral le l is introduced.
Approximate and exact parallel scheduling with applications to list, tree and graph problems
176 Citations1986Richard Cole, Uzi Vishkin
A novel scheduling problem is defined; it is solved by repeated, rapid, approximate reschedulings, which leads to a first optimal PRAM algorithm for list ranking, which runs in logarithmic time.
SIAM Journal on ComputingRelations between Concurrent-Write Models of Parallel Computation
134 Citations1988Faith E. Fich, Prabhakar Ragde +1 more
Information Processing LettersParallel computation and conflicts in memory access
132 Citations1982Luděk Kučera
An optimal parallel algorithm for integer sorting
124 Citations1985John H. Reif
This work gives a new parallel algorithm for integer sorting where the integer keys are restricted to at most polynomial magnitude and is the first known where the product of the time and processor bounds are bounded by a linear function of the input size.
Lecture notes in computer scienceDeterministic parallel list ranking
120 Citations2006Richard Anderson, Gary L. Miller
Information Processing LettersAn improved parallel algorithm for maximal matching
117 Citations1986Amos Israeli, Yossi Shiloach
A parallel O(log 3 vbEvb) algorithm for finding a maximal matching in a graph G(V, E) is presented, and the model of computation is the CRCW-PRAM, and vbVvb + vb Evb processors are used.
Theoretical Computer ScienceParallel ear decomposition search (EDS) and st-numbering in graphs
114 Citations1986Yael Maon, Baruch Schieber +1 more
A general method for searching efficiently in parallel undirected graphs, called ear-decomposition search (EDS), based on depth-first search (DFS), is presented.
AlgorithmicaThe accelerated centroid decomposition technique for optimal parallel tree evaluation in logarithmic time
112 Citations1988Richard Cole, Uzi Vishkin
A new general parallel algorithmic technique for computations on trees is presented, which provides the firstn/logn processor,O(logn)-time deterministic EREW PRAM algorithm for expression tree evaluation.
Journal of AlgorithmsImplementation of simultaneous memory address access in models that forbid it
100 Citations1983Uzi Vishkin
A universal algorithm that implements this algorithm in models that forbid simultaneous access to the same memory location, using p processors, O ( d log 2 p ) time units, and O ( s + p ) memory space is presented.
SIAM Journal on ComputingParallel Algorithms for Algebraic Problems
98 Citations1984Joachim von zur Gathen
Journal of Computer and System SciencesAn efficient parallel algorithm for planarity
80 Citations1988Philip N. Klein, John H. Reif
A parallel algorithm for testing a graph for planarity, and for finding an embedding of a planar graph, which uses a sophisticated data structure for representing sets of embeddings, the PQ-tree of [Booth and Lueker, 76].
A new graphy triconnectivity algorithm and its parallelization
76 Citations1987Gary L. Miller, Vijaya Ramachandran
This work presents a new algorithm for finding the tri-connected components of an undirected graph based on ear decomposition and has linear sequential running time, and is the first efficient parallel algorithm for graph tri-connectivity.
Computing ears and branchings in parallel
72 Citations1985László Lovász
It is proved that finding an ear-decomposition of a strongly directed graph is in NC, i.e. an eardecomposition can be constructed in parallel in polylog time, using a polynomial number of processors.
Optimal Tree Contraction in the EREW Model
71 Citations1988Hillel Gazit, Gary L. Miller +1 more
A deterministic parallel algorithm for parallel tree contraction that is optimal in the sense that the product P · T is equal to the input size and gives an O(log n) time algorithm when P = n/log n.
A random NC algorithm for depth first search
69 Citations1987Alok Aggarwal, Richard Anderson
This paper presents a fast parallel algorithm for constructing a depth first search tree for an undirected graph using a polynomial number of processors on a P-RAM.
Randomized speed-ups in parallel computation
68 Citations1984Uzi Vishkin
Three randomized parallel algorithms are presented for the problem: one of these algorithms runs almost-surely in time of O(n/p + log nlog*n) using p processors on an exclusive-read exclusive-write parallel RAM.
Information Processing LettersOn efficient parallel strong orientation
64 Citations1985Uzi Vishkin
La famille de modeles de calcul utilisee dans cet article est la famille des machines a acces aleatoire parallele (PRAM).
Parallel algorithms for the transitive closure and the connected component problems
63 Citations1976D. S. Hirschberg
Parallel programs are presented that determine the transitive closure of a matrix using n 3 processors and connected components of an undirected graph using n 2 processors and in both cases the desired results are obtained in time 0(log2n).
Journal of Computer and System SciencesFinding Euler tours in parallel
60 Citations1984Mikhail J. Atallah, Uzi Vishkin
O (log | V |) time algorithms are given using a linear number of processors on a concurrent-read concurrent-write parallel RAM to solve the problem of finding Euler tours in directed and undirected Euler graphs.
Information Processing LettersA simple randomized parallel algorithm for list-ranking
55 Citations1990Richard Anderson, Gary L. Miller
The algorithm is a randomized O(log n) time, n/log n processor algorithm for an EREW PRAM that is substantially simpler than other optimal algorithms for list-ranking.
SIAM Journal on ComputingParallel Algorithms for Depth-First Searches I. Planar Graphs
55 Citations1986Justin R Smith
This paper presents an unbounded-parallel algorithm for performing a depth-first search of a planar undirected graph that uses n processors and executes in O(\log ^3 n)-time.
Information and ComputationParallel recognition and decomposition of two terminal series parallel graphs
55 Citations1987Xin He, Yaacov Yesha
A parallel recognition and decomposition algorithm for two-terminal series parallel (TTSP) graphs given a directed acyclic graph G in edge list form and constructed a decomposition tree for G.
An optimal randomized parallel algorithm for finding connected components in a graph
54 Citations1986Hillel Gazit
This work presents a parallel randomized algorithm for finding the connected components of an undirected graph that is Optimal in space as well.
A fast probabilistic parallel sorting algorithm
54 Citations1981Rüdiger Reischuk
A probabilistic parallel algorithm to sort n keys drawn from some arbitrary total ordered set such that the average runtime is bounded by O(log n), which means the product of time and number of processors meets the information theoretic lower bound for sorting.
Journal of the ACMParallel hashing
52 Citations1988Anna R. Karlin, Eli Upfal
A probabilistic scheme for implementing shared memory on a bounded-degree network of processors that enables n processors to store and retrieve an arbitrary set of n data items in O(logn) parallel steps is presented.
Are search and decision programs computationally equivalent?
50 Citations1985Richard M. Karp, Eli Upfal +1 more
It is proved that randomization can be exponentially more powerful than determinism in the model, and suggests that NC ≠ Random NC.
AlgorithmicaSimulations among concurrent-write PRAMs
50 Citations1988Faith E. Fich, Prabhakar Ragde +1 more
It is shown that one step of a PRIORITY machine can be simulated byO(logn/(log logn) steps of a COMMON machine with the same number of processors (and more memory) and it is proved that this is optimal, if processor communication is restricted in a natural way.
Finding euler circuits in logarithmic parallel time
50 Citations1984Baruch Awerbuch, Amos Israeli +1 more
This algorithm is a nice example of utilizing another parallel algorithm that does not seem to be closely related to the problem, namely the algorithm for finding the connected components and a spanning forest of an undirected graph.
Foundations of Computer ScienceFinding Biconnected Components and Computing Tree Functions in Logarithmic Parallel Time (Extended Summary)
48 Citations1984Robert E. Tarjan, Uzi Vishkin
Theoretical Computer ScienceA parallel-design distributed-implementation (PDDI) general-purpose computer
45 Citations1984Uzi Vishkin
The implementation space of an efficient general-purpose parallel computer is presented as a scheme of a synchronous distributed machine which is not more involved than a sorting network followed by a merging network.
Incomparability in parallel computation
38 Citations1987Vince Grolmusz, Prabhakar Ragde
Lecture notes in computer scienceEfficient parallel triconnectivity in logarithmic time
37 Citations1988Vijaya Ramachandran, Uzi Vishkin
Two new techniques for trimming a logarithmic factor from the running time of efficient parallel algorithms for graph problems are presented, leading to an improvement in running time from O (log2 n) to O(logn) for efficient triconnectivity testing in parallel.
Improved algorithms for graph four-connectivity
34 Citations1987Arkady Kanevsky, Vijaya Ramachandran
A new parallel algorithm for the maximal independent set problem
32 Citations1987Mark Goldberg, Thomas H. Spencer
Lecture notes in computer scienceOptimal parallel algorithms for expression tree evaluation and list ranking
30 Citations2006Richard Cole, Uzi Vishkin
This paper presents a general parallel algorithmic technique for computations on trees that yields the first n/log n processor, O(log n) time deterministic parallel algorithm for expression tree evaluation, and solves many other tree problems within the same complexity bounds.
An efficient parallel algorithm for planarity
30 Citations1986Philip N. Klein, John H. Reif
Lecture notes in computer scienceEfficient simulations between concurrent-read concurrent-write pram models
28 Citations2005Bogdan S. Chlebus, K. Diks +2 more
Several simple and efficient algorithms for simulations of stronger CRCW PRAMs on weaker ones are given, defined by the property that a special collision symbol is stored in each memory cell into which more than one processor attempts to write, or more than two value is attempted to be written, respectively, in a given step.
Lecture notes in computer scienceNew simulations between CRCW PRAMs
26 Citations1989Bogdan S. Chlebus, Krzysztof Diks +2 more
This paper describes several new results for the simulation of an n-processor Priority PRAM on weaker machines, and examines the relative power of different variants of the CRCW PRAM with infinite global memory.
Journal of the ACMOn the Parallel Evaluation of Certain Arithmetic Expressions
23 Citations1975S. Winograd
The time required to evaluate arithmetic expressions using parallel processing is investigated and it is shown that for the evaluation of an arithmetic expression of n variables without division, at most 3n/2p ~ o(n) time umts are required.
Annual Review of Computer ScienceSequential and Parallel Algorithms for Finding Maximum Matchings in Graphs
10 Citations1986Zvi Galil
This review exemplifies the design and analysis of efficient graph algorithms by surveying algorithms for the four closely related problems of finding a maximum cardinality or weighted matching in general or bipartite graphs.
A parallel algorithm for the maximal path problem
9 Citations1985Richard Anderson
This paper presents anO (log5n) time parallel algorithm for constructing a Maximal Path in an undirected graph and also gives an O (log1/2+ε) timeallel algorithm for construction of a depth first search tree in an Undirected Graph.
Information Processing LettersAn optimal parallel processor bound in strong orientation of an undirected graph
6 Citations1985Yung H. Tsin
An implementa t ion which takes O(log 2 n) t ime with n [ n / l o g 2 n] processors on the PRAM is presented, which reduces the number of processors used by a factor of n log 2 n and is optimal for dense graphs.
IEEE Transactions on ComputersA Direct Approach to the Parallel Evaluation of Rational Expressions with a Small Number of Processors
3 Citations1977Snir, Barak
Algorithms which compute a polynomial with n operations in 3n/(2p + 1) + Q(p2) time units with p processors and a general rational expression with n operato in 5n/( 2p + 3) + 0( p2)Time units are defined.
…
