2016
DOI: 10.1007/978-3-319-43659-3_41
|View full text |Cite
|
Sign up to set email alerts
|

Work-Efficient Parallel Union-Find with Applications to Incremental Graph Connectivity

Abstract: On an evolving graph that is continuously updated by a high-velocity stream of edges, how can one efficiently maintain if two vertices are connected? This is the connectivity problem, a fundamental and widely studied problem on graphs. We present the first shared-memory parallel algorithm for incremental graph connectivity that is both provably work-efficient and has polylogarithmic parallel depth. We also present a simpler algorithm with slightly worse theoretical properties, but which is easier to implement … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2017
2017
2022
2022

Publication Types

Select...
3
3
1

Relationship

3
4

Authors

Journals

citations
Cited by 15 publications
(10 citation statements)
references
References 20 publications
0
10
0
Order By: Relevance
“…The worst-case work and depth of their algorithm is the same as that of a breadth-first search on the graph. Simsiri et al give a work-efficient, logarithmic-depth algorithm for batch incremental (no deletions) dynamic connectivity [45]. Kopelowitz et al have recently shown that the sparsified version of Frederickson's algorithm [17,15] can be parallelized nearly work-efficiently for a single update [27].…”
Section: Parallel Dynamic Connectivitymentioning
confidence: 99%
“…The worst-case work and depth of their algorithm is the same as that of a breadth-first search on the graph. Simsiri et al give a work-efficient, logarithmic-depth algorithm for batch incremental (no deletions) dynamic connectivity [45]. Kopelowitz et al have recently shown that the sparsified version of Frederickson's algorithm [17,15] can be parallelized nearly work-efficiently for a single update [27].…”
Section: Parallel Dynamic Connectivitymentioning
confidence: 99%
“…An algorithm for a dynamic graph is called incremental if it can efficiently handle insertion of edges, decremental if it can handle deletion of edges, and fully dynamic if it can handle both insertions and deletions. For example, a parallel algorithm due to Simsiri et al [36] is an incremental algorithm for graph connectivity, an algorithm due to Thorup [40] is a decremental algorithm, and one due to Wulff-Nilsen [43] is a fully dynamic algorithm. Our algorithms can be viewed as a change-sensitive incremental algorithm for maximal cliques, and a change-sensitive decremental algorithm for maximal cliques.…”
Section: Preliminariesmentioning
confidence: 99%
“…Motivated by such dynamic applications, there has been recent interest in developing parallel batch-dynamic algorithms [2,57,1,62]. In the batch-dynamic framework, instead of applying one update or query at a time a whole batch is applied.…”
Section: Introductionmentioning
confidence: 99%
“…Understanding the connectivity structure of graphs is of significant practical interest, for example, due to its use as a primitive for clustering the vertices of a graph [52]. Existing batch-dynamic connectivity algorithms are designed for restricted settings, e.g., in the incremental setting when all updates are edge insertions [57], or when the underlying graph is a forest [50,1,62]. In practice, since most real-world graphs change over time, many implementations of parallel batch-dynamic connectivity algorithms have been implemented [40,32,65,33,53,64].…”
Section: Introductionmentioning
confidence: 99%