Results 1 - 10
of
16
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
Parallel Implementation of Algorithms for Finding Connected Components in Graphs
, 1997
"... In this paper, we describe our implementation of several parallel graph algorithms for finding connected components. Our implementation, with virtual processing, is on a 16,384-processor MasPar MP-1 using the language MPL. We present extensive test data on our code. In our previous projects [21, 22, ..."
Abstract
-
Cited by 22 (1 self)
- Add to MetaCart
In this paper, we describe our implementation of several parallel graph algorithms for finding connected components. Our implementation, with virtual processing, is on a 16,384-processor MasPar MP-1 using the language MPL. We present extensive test data on our code. In our previous projects [21, 22, 23], we reported the implementation of an extensible parallel graph algorithms library. We developed general implementation and fine-tuning techniques without expending too much effort on optimizing each individual routine. We also handled the issue of implementing virtual processing. In this paper, we describe several algorithms and fine-tuning techniques that we developed for the problem of finding connected components in parallel; many of the fine-tuning techniques are of general interest, and should be applicable to code for other problems. We present data on the execution time and memory usage of our various implementations.
Using PRAM Algorithms on a Uniform-Memory-Access Shared-Memory Architecture
- Proc. 5th Int’l Workshop on Algorithm Engineering (WAE 2001), volume 2141 of Lecture Notes in Computer Science
, 2001
"... The ability to provide uniform shared-memory access to a significant number of processors in a single SMP node brings us much closer to the ideal PRAM parallel computer. In this paper, we develop new techniques for designing a uniform shared-memory algorithm from a PRAM algorithm and present the res ..."
Abstract
-
Cited by 20 (11 self)
- Add to MetaCart
The ability to provide uniform shared-memory access to a significant number of processors in a single SMP node brings us much closer to the ideal PRAM parallel computer. In this paper, we develop new techniques for designing a uniform shared-memory algorithm from a PRAM algorithm and present the results of an extensive experimental study demonstrating that the resulting programs scale nearly linearly across a significant range of processors (from 1 to 64) and across the entire range of instance sizes tested. This linear speedup with the number of processors is, to our knowledge, the first ever attained in practice for intricate combinatorial problems. The example we present in detail here is a graph decomposition algorithm that also requires the computation of a spanning tree; this problem is not only of interest in its own right, but is representative of a large class of irregular combinatorial problems that have simple and efficient sequential implementations and fast PRAM algorithms, but have no known efficient parallel implementations. Our results thus offer promise for bridging the gap between the theory and practice of shared-memory parallel algorithms.
The Complexity of Planarity Testing
, 2000
"... We clarify the computational complexity of planarity testing, by showing that planarity testing is hard for L, and lies in SL. This nearly settles the question, since it is widely conjectured that L = SL [25]. The upper bound of SL matches the lower bound of L in the context of (nonuniform) circ ..."
Abstract
-
Cited by 16 (5 self)
- Add to MetaCart
We clarify the computational complexity of planarity testing, by showing that planarity testing is hard for L, and lies in SL. This nearly settles the question, since it is widely conjectured that L = SL [25]. The upper bound of SL matches the lower bound of L in the context of (nonuniform) circuit complexity, since L/poly is equal to SL/poly. Similarly, we show that a planar embedding, when one exists, can be found in FL SL . Previously, these problems were known to reside in the complexity class AC 1 , via a O(log n) time CRCW PRAM algorithm [22], although planarity checking for degree-three graphs had been shown to be in SL [23, 20].
A Linear Time Algorithm for Triconnectivity Augmentation (Extended Abstract)
- IN PROC. 32TH ANNUAL IEEE SYMP. ON FOUNDATIONS OF COMP. SCI
, 1991
"... We consider the problem of finding a smallest set of edges whose addition triconnects an undirected graph. This is a fundamental graph-theoretic problem that has applications in designing reliable networks and faulttolerant computing. We present a linear time sequential algorithm for the problem. Th ..."
Abstract
-
Cited by 15 (5 self)
- Add to MetaCart
We consider the problem of finding a smallest set of edges whose addition triconnects an undirected graph. This is a fundamental graph-theoretic problem that has applications in designing reliable networks and faulttolerant computing. We present a linear time sequential algorithm for the problem. This is a substantial improvement over the best previous algorithm for this problem, which runs in O(n(n+m)²) time on a graph with n vertices and m edges.
On Finding a Smallest Augmentation to Biconnect a Graph
, 1993
"... . We consider the problem of finding a minimum number of edges whose addition biconnects an undirected graph. This problem has been studied by several other researchers, two of whom presented a linear time algorithm for this problem in an earlier volume of this journal. However that algorithm contai ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
. We consider the problem of finding a minimum number of edges whose addition biconnects an undirected graph. This problem has been studied by several other researchers, two of whom presented a linear time algorithm for this problem in an earlier volume of this journal. However that algorithm contains an error which we expose in this paper. We present a corrected linear time algorithm for this problem as well as a new efficient parallel algorithm. The parallel algorithm runs in O(log 2 n) time using a linear number of processors on an EREW PRAM, where n is the number of vertices in the input graph. Key words. algorithm, linear time, graph augmentation, biconnected graph, parallel computation, poly-log time, EREW PRAM AMS(MOS) subject classifications. 68Q20, 68R10, 94C15, 05C40 This work was supported in part by NSF Grant CCR-89-10707. This paper appears in SIAM Journal on Computing, 1993, pp. 889-912. 1 Introduction The problem of augmenting a graph to reach a certain connectiv...
Implementation of Parallel Graph Algorithms on a Massively Parallel SIMD Computer with Virtual Processing
, 1995
"... We describe our implementation of several PRAM graph algorithms on the massively parallel computer MasPar MP-1 with 16,384 processors. Our implementation incorporated virtual processing and we present extensive test data. In a previous project [13], we reported the implementation of a set of paralle ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
We describe our implementation of several PRAM graph algorithms on the massively parallel computer MasPar MP-1 with 16,384 processors. Our implementation incorporated virtual processing and we present extensive test data. In a previous project [13], we reported the implementation of a set of parallel graph algorithms with the constraint that the maximum input size was restricted to be no more than the physical number of processors on the MasPar. The MasPar language MPL that we used for our code does not support virtual processing. In this paper, we describe a method of simulating virtual processors on the MasPar. We re-coded and fine-tuned our earlier parallel graph algorithms to incorporate the usage of virtual processors. Under the current implementation scheme, there is no limit on the number of virtual processors that one can use in the program as long as there is enough main memory to store all the data required during the computation. We also give two general optimization techniq...
Computing Minimal Spanning Subgraphs in Linear Time
, 1995
"... Let P be a property of undirected graphs. We consider the following problem: given a graph G that has property P , find a minimal spanning subgraph of G with property P . We describe general algorithms for this problem and prove their correctness under fairly weak assumptions about P . We establi ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
Let P be a property of undirected graphs. We consider the following problem: given a graph G that has property P , find a minimal spanning subgraph of G with property P . We describe general algorithms for this problem and prove their correctness under fairly weak assumptions about P . We establish that the worst-case running time of these algorithms is \Theta(m +n log n) for 2-edge-connectivity and biconnectivity where n and m denote the number of vertices and edges, respectively, in the input graph. By refining the basic algorithms we obtain the first linear time algorithms for computing a minimal 2-edge-connected spanning subgraph and for computing a minimal biconnected spanning subgraph. We also devise general algorithms for computing a minimal spanning subgraph in directed graphs. These algorithms allow us to simplify an earlier algorithm of Gibbons, Karp, Ramachandran, Soroker and Tarjan for computing a minimal strongly connected spanning subgraph. We also provide the ...
Optimal randomized EREW PRAM algorithms for finding spanning forests
- J. Algorithms
, 2000
"... We present the first randomized O(log n) time and O(m+n) work EREW PRAM algorithm for finding a spanning forest of an undirected graph G = (V; E) with n vertices and m edges. Our algorithm is optimal with respect to time, work and space. As a consequence we get optimal randomized EREW PRAM algori ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
We present the first randomized O(log n) time and O(m+n) work EREW PRAM algorithm for finding a spanning forest of an undirected graph G = (V; E) with n vertices and m edges. Our algorithm is optimal with respect to time, work and space. As a consequence we get optimal randomized EREW PRAM algorithms for other basic connectivity problems such as finding a bipartite partition, finding bridges and biconnected components, finding Euler tours in Eulerian graphs, finding an ear decomposition, finding an open ear decomposition, finding a strong orientation, and finding an st-numbering.

