scispace - formally typeset
Journal ArticleDOI

Efficient parallel algorithms for graph problems

Reads0
Chats0
TLDR
An efficient technique for parallel manipulation of data structures that avoids memory access conflicts is presented and is used in a new parallel radix sort algorithm that is optimal for keys whose values are over a small range.
Abstract
We present an efficient technique for parallel manipulation of data structures that avoids memory access conflicts. That is, this technique works on the Exclusive Read/Exclusive Write (EREW) model of computation, which is the weakest shared memory, MIMD machine model. It is used in a new parallel radix sort algorithm that is optimal for keys whose values are over a small range. Using the radix sort and known results for parallel prefix on linked lists, we develop parallel algorithms that efficiently solve various computations on trees and “unicycular graphs.” Finally, we develop parallel algorithms for connected components, spanning trees, minimum spanning trees, and other graph problems. All of the graph algorithms achieve linear speedup for all but the sparsest graphs.

read more

Citations
More filters
Proceedings ArticleDOI

Ligra: a lightweight graph processing framework for shared memory

TL;DR: This paper presents a lightweight graph processing framework that is specific for shared-memory parallel/multicore machines, which makes graph traversal algorithms easy to write and significantly more efficient than previously reported results using graph frameworks on machines with many more cores.
Book

Deterministic coin tossing with applications to optimal parallel list ranking

TL;DR: 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.
Journal ArticleDOI

The LRPD test: speculative run-time parallelization of loops with privatization and reduction parallelization

TL;DR: Experimental results from the PERFECT Benchmarks substantiate the claim that speculatively executing parallelizable loops as a doall and applying a fully parallel data dependence test to determine if it had any cross-iteration dependences can yield significant speedups which are often superior to those obtainable by inspector/executor methods.
Journal ArticleDOI

A complexity theory of efficient parallel algorithms

TL;DR: The relationship between various models of parallel computation is investigated, using a newly defined concept of efficient simulation, and it is proved that the class PE is invariant across the shared memory models (PRAM's) and fully connected message passing machines.
Proceedings ArticleDOI

The LRPD test: speculative run-time parallelization of loops with privatization and reduction parallelization

TL;DR: In this article, a framework for parallelizable loops is proposed, where the loop is run as a doall and a fully parallel data dependence test is applied to determine if it had any cross-iteration dependences.
References
More filters
Book

The Art of Computer Programming

TL;DR: The arrangement of this invention provides a strong vibration free hold-down mechanism while avoiding a large pressure drop to the flow of coolant fluid.
Book

The Design and Analysis of Computer Algorithms

TL;DR: 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.
Journal ArticleDOI

Parallel Prefix Computation

TL;DR: 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.
Proceedings ArticleDOI

Parallel tree contraction and its application

TL;DR: 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.
Journal ArticleDOI

Finding Minimum Spanning Trees

TL;DR: This paper studies methods for finding minimum spanning trees in graphs and results include relationships with other problems which might lead general lower bound for the complexity of the minimum spanning tree problem.