Parallel tree contraction has been found to be a useful and quite powerful tool for the design of a wide class of efficient graph algorithms. We propose a corresponding technique for the parallel solution of incremental problems. As our computational model, we assume a variant of the CRCW PRAM where we can dynamically activate processors by a forking operation. We consider a dynamic binary tree T of ≤ n nodes and unbounded depth. We describe a procedure, which we call the dynamic parallel tree contraction algorithm, which incrementally processes various parallel modification requests and queries: (1) parallel requests to add or delete leaves of T , or modify labels of internal nodes or leaves of T , and also (2) parallel tree contraction queries which require recomputing values at specified nodes. Each modification or query is with respect to a set of nodes U in T . Our dynamic parallel tree contraction algorithm is a randomized algorithm that takesO(log(|U | logn)) expected parallel time using O( |U| log n log(|U| log n) ) processors. We give a large number of applications (with the same bounds), including: (a) maintaining the usual tree properties (such as number of ancestors, preorder, etc.), (b) Eulerian tour, (c) expression evaluation, (d) least common ancestor, and (e) canonical forms of trees. Previously, there where no known parallel algorithms for incrementally maintaining and solving such problems in parallel time less than Θ(log n). In deriving our incremental algorithms, we solve a key subproblem, namely a processor activation problem, within the same asymptotic bounds, which may be useful in the ∗This research was supported by DARPA/ISTO Grant N00014-91J-1985, Subcontract KI-92-01-0182 of DARPA/ISTO prime Contract N00014-92-C-0182, NSF Grant NSF-IRI-91-00681, and NASA subcontract 550-63 of prime Contract NAS5-30428. †Permanent address: Department of Computer Science, Duke University, Box 90129, Durham, NC 27708–0129 design of other parallel incremental algorithms. This algorithm uses an interesting persistent parallel data structure involving a non-trivial construction. In a subsequent paper, we apply our dynamic parallel tree contraction technique to various incremental graph problems: maintaining various properties, (such as coloring, minimum covering set, maximum matching, etc.) of parallel series graphs, outerplanar graphs, Helin networks, bandwidth-limited networks, and various other graphs with constant separator size.
[1]
Alfred V. Aho,et al.
The Design and Analysis of Computer Algorithms
,
1974
.
[2]
Robert E. Tarjan,et al.
A data structure for dynamic trees
,
1981,
STOC '81.
[3]
Richard Cole,et al.
Deterministic Coin Tossing with Applications to Optimal Parallel List Ranking
,
2018,
Inf. Control..
[4]
Xin He,et al.
Binary Tree Algebraic Computation and Parallel Algorithms for Simple Graphs
,
1988,
J. Algorithms.
[5]
S. Teng,et al.
Optimal Tree Contraction in the EREW Model
,
1988
.
[6]
Arthur L. Delcher,et al.
Optimal Parallel Evaluation of Tree-Structured Computations by Raking
,
1988,
AWOC.
[7]
J. Reif,et al.
Parallel Tree Contraction Part 1: Fundamentals
,
1989,
Adv. Comput. Res..
[8]
Richard M. Karp,et al.
Parallel Algorithms for Shared-Memory Machines
,
1991,
Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.
[9]
Gary L. Miller,et al.
Parallel Tree Contraction, Part 2: Further Applications
,
1991,
SIAM J. Comput..
[10]
J. Ian Munro,et al.
Deterministic skip lists
,
1992,
SODA '92.
[11]
Greg N. Frederickson,et al.
A data structure for dynamically maintaining rooted trees
,
1997,
SODA '93.
[12]
Greg N. Frederickson.
Ambivalent Data Structures for Dynamic 2-Edge-Connectivity and k Smallest Spanning Trees
,
1997,
SIAM J. Comput..
[13]
S. Sitharama Iyengar,et al.
Introduction to parallel algorithms
,
1998,
Wiley series on parallel and distributed computing.