Results 1 - 10
of
32
External-Memory Graph Algorithms
, 1995
"... We present a collection of new techniques for designing and analyzing efficient external-memory algorithms for graph problems and illustrate how these techniques can be applied to a wide variety of specific problems. Our results include: ffl Proximate-neighboring. We present a simple method for der ..."
Abstract
-
Cited by 159 (22 self)
- Add to MetaCart
We present a collection of new techniques for designing and analyzing efficient external-memory algorithms for graph problems and illustrate how these techniques can be applied to a wide variety of specific problems. Our results include: ffl Proximate-neighboring. We present a simple method for deriving external-memory lower bounds via reductions from a problem we call the "proximate neighbors" problem. We use this technique to derive non-trivial lower bounds for such problems as list ranking, expression tree evaluation, and connected components. ffl PRAM simulation. We give methods for efficiently simulating PRAM computations in external memory, even for some cases in which the PRAM algorithm is not work-optimal. We apply this to derive a number of optimal (and simple) external-memory graph algorithms. ffl Time-forward processing. We present a general technique for evaluating circuits (or "circuit-like" computations) in external memory. We also use this in a deterministic list rank...
Planar Separators and Parallel Polygon Triangulation
, 1992
"... We show how to construct an O( p n)-separator decomposition of a planar graph G in O(n) time. Such a decomposition defines a binary tree where each node corresponds to a subgraph of G and stores an O( p n)-separator of that subgraph. We also show how to construct an O(n ffl )-way decomposition tree ..."
Abstract
-
Cited by 46 (7 self)
- Add to MetaCart
We show how to construct an O( p n)-separator decomposition of a planar graph G in O(n) time. Such a decomposition defines a binary tree where each node corresponds to a subgraph of G and stores an O( p n)-separator of that subgraph. We also show how to construct an O(n ffl )-way decomposition tree in parallel in O(log n) time so that each node corresponds to a subgraph of G and stores an O(n 1=2+ffl )-separator of that subgraph. We demonstrate the utility of such a separator decomposition by showing how it can be used in the design of a parallel algorithm for triangulating a simple polygon deterministically in O(log n) time using O(n= log n) processors on a CRCW PRAM. Keywords: Computational geometry, algorithmic graph theory, planar graphs, planar separators, polygon triangulation, parallel algorithms, PRAM model. 1 Introduction Let G = (V; E) be an n-node graph. An f(n)-separator is an f(n)-sized subset of V whose removal disconnects G into two subgraphs G 1 and G 2 each...
Communication-Efficient Parallel Algorithms for Distributed Random-Access Machines
- Algorithmica
, 1988
"... This paper introduces a model for parallel computation, called the distributed random-access machine (DRAM), in which the communication requirements of parallel algorithms can be evaluated. A DRAM is an abstraction of a parallel computer in which memory accesses are implemented by routing messages ..."
Abstract
-
Cited by 34 (1 self)
- Add to MetaCart
This paper introduces a model for parallel computation, called the distributed random-access machine (DRAM), in which the communication requirements of parallel algorithms can be evaluated. A DRAM is an abstraction of a parallel computer in which memory accesses are implemented by routing messages through a communication network. A DRAM explicitly models the congestion of messages across cuts of the network. We introduce the notion of a conservative algorithm as one whose communication requirements at each step can be bounded by the congestion of pointers of the input data structure across cuts of a DRAM. We give a simple lemma that shows how to "shortcut" pointers in a data structure so that remote processors can communicate without causing undue congestion. We give O(lg n)-step, linear-processor, linear-space, conservative algorithms for a variety of problems on n- node trees, such as computing treewalk numberings, finding the separator of a tree, and evaluating all subexpressions ...
Parallel Algorithmic Techniques for Combinatorial Computation
- Ann. Rev. Comput. Sci
, 1988
"... this paper and supplied many helpful comments. This research was supported in part by NSF grants DCR-85-11713, CCR-86-05353, and CCR-88-14977, and by DARPA contract N00039-84-C-0165. ..."
Abstract
-
Cited by 29 (3 self)
- Add to MetaCart
this paper and supplied many helpful comments. This research was supported in part by NSF grants DCR-85-11713, CCR-86-05353, and CCR-88-14977, and by DARPA contract N00039-84-C-0165.
Optimal Parallel All-Nearest-Neighbors Using the Well-Separated Pair Decomposition
- In Proc. 34th IEEE Symposium on Foundations of Computer Science
, 1993
"... We present an optimal parallel algorithm to construct the well-separated pair decomposition of a point set P in ! d . We show how this leads to a deterministic optimal O(logn) time parallel algorithm for finding the k-nearest-neighbors of each point in P , where k is a constant. We discuss severa ..."
Abstract
-
Cited by 25 (1 self)
- Add to MetaCart
We present an optimal parallel algorithm to construct the well-separated pair decomposition of a point set P in ! d . We show how this leads to a deterministic optimal O(logn) time parallel algorithm for finding the k-nearest-neighbors of each point in P , where k is a constant. We discuss several additional applications of the well-separated pair decomposition for which we can derive faster parallel algorithms. 1 Introduction In [4] we introduced the well-separated pair decomposition of a set P of n points in ! d , and showed how to apply this decomposition to develop efficient parallel algorithms for two problems posed on multidimensional point sets. One of these applications led to the fastest known deterministic parallel algorithm for finding the k-nearest-neighbors of each point in P using O(n) processors. The time required for this algorithm is \Theta(log 2 n), which is within a log n factor of optimal. In this paper, we close the gap by developing an optimal O(log n) ti...
Efficient parallel algorithms for chordal graphs
"... We give the first efficient parallel algorithms for recognizing chordal graphs, finding a maximum clique and a maximum independent set in a chordal graph, finding an optimal coloring of a chordal graph, finding a breadth-first search tree and a depth-first search tree of a chordal graph, recognizing ..."
Abstract
-
Cited by 23 (0 self)
- Add to MetaCart
We give the first efficient parallel algorithms for recognizing chordal graphs, finding a maximum clique and a maximum independent set in a chordal graph, finding an optimal coloring of a chordal graph, finding a breadth-first search tree and a depth-first search tree of a chordal graph, recognizing interval graphs, and testing interval graphs for isomorphism. The key to our results is an efficient parallel algorithm for finding a perfect elimination ordering.
A new graph triconnectivity algorithm and its parallelization
- Combinatorica
, 1987
"... We present a new algorithm for finding the triconnected components of an undirected graph. The algorithm is based on a method of searching graphs called ‘open ear decomposition’. A parallel implementation of the algorithm on a CRCW PRAM runs in O(log 2 n) parallel time using O(n + m) processors, whe ..."
Abstract
-
Cited by 22 (3 self)
- Add to MetaCart
We present a new algorithm for finding the triconnected components of an undirected graph. The algorithm is based on a method of searching graphs called ‘open ear decomposition’. A parallel implementation of the algorithm on a CRCW PRAM runs in O(log 2 n) parallel time using O(n + m) processors, where n is the number of vertices and m is the number of edges in the graph.
The Owner Concept for PRAMs
, 1991
"... We analyze the owner concept for PRAMs. In OROW-PRAMs each memory cell has one distinct processor that is the only one allowed to write into this memory cell and one distinct processor that is the only one allowed to read from it. By symmetric pointer doubling, a new proof technique for OROW-PRAMs, ..."
Abstract
-
Cited by 17 (5 self)
- Add to MetaCart
We analyze the owner concept for PRAMs. In OROW-PRAMs each memory cell has one distinct processor that is the only one allowed to write into this memory cell and one distinct processor that is the only one allowed to read from it. By symmetric pointer doubling, a new proof technique for OROW-PRAMs, it is shown that list ranking can be done in O(log n) time by an OROWPRAM and that LOGSPACE ` OROW-TIME(log n). Then we prove that OROW-PRAMs are a fairly robust model and recognize the same class of languages when the model is modified in several ways and that all kinds of PRAMs intertwine with the NC -hierarchy without timeloss. Finally it is shown that EREWPRAMs can be simulated by OREW-PRAMs and ERCW-PRAMs by ORCW-PRAMs. 3 This research was partially supported by the Deutsche Forschungsgemeinschaft, SFB 342, Teilprojekt A4 "Klassifikation und Parallelisierung durch Reduktionsanalyse" y E-mail: rossmani@lan.informatik.tu-muenchen.dbp.de Introduction Fortune and Wyllie introduced in...
Ultimate Parallel List Ranking?
- Journal of Parallel and Distributed Computing
, 2000
"... Two improved list-ranking algorithms are presented. The "peeling-off" algorithm leads to an optimal PRAM algorithm, but was designed with application on a real parallel machine in mind. It is simpler than earlier algorithms, and in a range of problem sizes, where previously several algorithms wher ..."
Abstract
-
Cited by 17 (4 self)
- Add to MetaCart
Two improved list-ranking algorithms are presented. The "peeling-off" algorithm leads to an optimal PRAM algorithm, but was designed with application on a real parallel machine in mind. It is simpler than earlier algorithms, and in a range of problem sizes, where previously several algorithms where required for the best performance, now this single algorithm suffices. If the problem size is much larger than the number of available processors, then the "sparse-ruling-sets" algorithm is even better. In previous versions this algorithm had very restricted practical application because of the large number of communication rounds it was performing. This main weakness of this algorithm is overcome by adding two new ideas, each of which reduces the number of communication rounds by a factor of two. 1 Introduction A list is a basic data structure: it consists of nodes which are linked together, so that every node has precisely one predecessor and one successor, except for the initial n...
Optimal Parallel Suffix Tree Construction
, 1997
"... An O(m)-work, O(m)-space, O(log m)-time CREW-PRAM algorithm for constructing the suffix tree of a string s of length m drawn from any fixed alphabet set is obtained. This is the first known work and space optimal parallel algorithm for this problem. It can be generalized to a string s drawn fr ..."
Abstract
-
Cited by 16 (1 self)
- Add to MetaCart
An O(m)-work, O(m)-space, O(log m)-time CREW-PRAM algorithm for constructing the suffix tree of a string s of length m drawn from any fixed alphabet set is obtained. This is the first known work and space optimal parallel algorithm for this problem. It can be generalized to a string s drawn from any general alphabet set to perform in O(log m) time and O(m log j\Sigmaj) work and space, after the characters in s have been sorted alphabetically, where j\Sigmaj is the number of distinct characters in s. In this case too, the algorithm is work-optimal.

