ABSTRACT
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 in- crementally processes various parallel modification requests and queries:
(1) parallel requests to add or delete leaves of T, or mod- ify labels of internal nodes or leaves of T, and also
(2) parallel tree contraction queries which require recom- puting 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 ran- domized algorithm that takes O(log(|U| log n)) expected par- allel time using O(log n (log(logn)) 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 par- allel 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
design of other parallel incremental algorithms. This algo- rithm uses an interesting persistent parallel data structure involving a non-trivial construction.
In a subsequent paper, we apply our dynamic paral- lel tree contraction technique to various incremental graph problems: maintaining various properties, (such as color- ing, 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.
|