Concurrent threads and optimal parallel minimum spanning trees algorithm

@article{Chong2001ConcurrentTA,
  title={Concurrent threads and optimal parallel minimum spanning trees algorithm},
  author={Ka Wong Chong and Yijie Han and Tak Wah Lam},
  journal={J. ACM},
  year={2001},
  volume={48},
  pages={297-323}
}
This paper resolves a long-standing open problem on whether the concurrent write capability of parallel random access machine (PRAM) is essential for solving fundamental graph problems like connected components and minimum spanning trees in <italic>O</italic>(log<italic>n</italic>) time. Specifically, we present a new algorithm to solve these problems in <italic>O</italic>(log<italic>n</italic>) time using a linear number of processors on the exclusive-read exclusive-write PRAM. The logarithmic… 

Figures from this paper

Parallel Connectivity and Minimum Spanning Trees

  • T. Lam
  • Computer Science
    Encyclopedia of Algorithms
  • 2016
Given a weighted undirected graph G with n vertices and m edges, compute a minimum spanning tree (or spanning forest) of G on a parallel random access machine (PRAM) without concurrent write

A fast, parallel spanning tree algorithm for symmetric multiprocessors

  • David A. BaderGuojing Cong
  • Computer Science
    18th International Parallel and Distributed Processing Symposium, 2004. Proceedings.
  • 2004
A new randomized algorithm and implementation with superior performance that for the first-time achieves parallel speedup on arbitrary graphs (both regular and irregular topologies) when compared with the best sequential implementation for finding a spanning tree.

A fast, parallel spanning tree algorithm for symmetric multiprocessors (SMPs)

A Practical Scalable Shared-Memory Parallel Algorithm for Computing Minimum Spanning Trees

A new simple, elegant and practical algorithm based on Borůvka’s algorithm for parallel MST computation on shared-memory machines is developed that offers good performance even with few processors and therefore can be used as a sole universal implementation.

On the architectural requirements for efficient execution of graph algorithms

This paper considers the performance and scalability of two graph algorithms, list ranking and connected components, on two classes of shared-memory computers: symmetric multiprocessors such as the Sun Enterprise servers and multithreaded architectures (MTA)such as the Cray MTA-2.

Fast shared-memory algorithms for computing the minimum spanning forest of sparse graphs

  • David A. BaderGuojing Cong
  • Computer Science
    18th International Parallel and Distributed Processing Symposium, 2004. Proceedings.
  • 2004
Four parallel MST algorithms are designed and implemented for arbitrary sparse graphs that for the first time give speedup when compared with the best sequential algorithm, and also solve the minimum spanning forest problem.

A Randomized Time-Work Optimal Parallel Algorithm for Finding a Minimum Spanning Forest

This work presents a randomized algorithm to find a minimum spanning forest (MSF) in an undirected graph that is optimal w.r.t. both work and parallel time, and is the first provably optimal parallel algorithm for this problem under both measures.

A Comparison of the Performance of List Ranking and Connected Components Algorithms on SMP and MTA Shared-Memory Systems

This paper presents a performance model for each machine, and uses it to analyze the performance of the two important combinatorial algorithms, list ranking and connected components, on two types of shared-memory computers: symmetric multiprocessors (SMP) and multithreaded architectures (MTA) such as the Cray MTA-2.

REVIEW : — Parallel Computing Approach of the Reverse-Delete Algorithm for finding Minimum Bottleneck Spanning Tree and Minimum Spanning Trees —

One of the classical graph optimization problems is Minimum Spanning Trees (MST) and another related problem this paper will be addressing and considering is the Minimum Bottleneck Spanning Tree Problem (MBST).

Deterministic massively parallel connectivity

A deterministic MPC low local space algorithm that in O(logD + loglogn) rounds determines connected components of the input graph is presented, which matches the complexity of state of the art randomized algorithms for this task.
...

References

SHOWING 1-10 OF 44 REFERENCES

Fibonacci heaps and their uses in improved network optimization algorithms

Using F-heaps, a new data structure for implementing heaps that extends the binomial queues proposed by Vuillemin and studied further by Brown, the improved bound for minimum spanning trees is the most striking.

Computing connected components on parallel computers

A parallel algorithm which uses n=2 processors to find the connected components of an undirected graph with n vertices in time in time O(n), which can be used to finding the transitive closure of a symmetric Boolean matrix.

Upper and Lower Time Bounds for Parallel Random Access Machines without Simultaneous Writes

It is shown that even if the authors allow nonuniform algorithms, an arbitrary number of processors, and arbitrary instruction sets, $\Omega (\log n)$ is a lower bound on the time required to compute various simple functions, including sorting n keys and finding the logical “or” of n bits.

Fast connected components algorithms for the EREW PRAM

We present fast and efficient parallel algorithms for finding the connected components of an undirected graph. These algorithms run on the exclusive-read, exclusive-write (EREW) PRAM. On a graph with

A Randomized Time-Work Optimal Parallel Algorithm for Finding a Minimum Spanning Forest

This work presents a randomized algorithm to find a minimum spanning forest (MSF) in an undirected graph that is optimal w.r.t. both work and parallel time, and is the first provably optimal parallel algorithm for this problem under both measures.

An Efficient Parallel Biconnectivity Algorithm

A new algorithm for finding the blocks (biconnected components) of an undirected graph and a general algorithmic technique that simplifies and improves computation of various functions on trees is introduced.

New Connectivity and MSF Algorithms for Shuffle-Exchange Network and PRAM

Parallel algorithms for finding the connected components (CC) and a minimum spanning FOREST of an undirected graph are presented and the PRAM algorithm is a simplification of the one appearing in [17].

Finding connected components in O(log n loglog n) time on the EREW PRAM

A parallel algorithm for finding the connected components of an undirected graph on a graph with n vertices and m edges runs in O(log n log log log n) time using n + m processors on an EREW (exclusive-read and exclusive-write) PRAM.

A minimum spanning tree algorithm with inverse-Ackermann type complexity

A deterministic algorithm for computing a minimum spanning tree of a connected graph that uses pointers, not arrays, and it makes no numeric assumptions on the edge costs.

Approximate and exact parallel scheduling with applications to list, tree and graph problems

  • R. ColeU. Vishkin
  • Computer Science
    27th Annual Symposium on Foundations of Computer Science (sfcs 1986)
  • 1986
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.