1985 · 411 citations · 22 references
ComputingComputer ScienceAlgorithmsParallel AlgorithmsParallel ComputingAlgorithm AnalysisParallel Algorithm DesignParallel ComputationParallel Data StructuresParallel Divide And ConquerTree Contraction
Trees are fundamental to many computations, and parallel algorithms have traditionally used a divide‑conquer, 1/3‑2/3 separator strategy exemplified by Brent’s parallel evaluation of arithmetic expressions, but this top‑down approach is complicated by the need to find separators. The authors define dynamic expression evaluation—evaluating expressions without preprocessing—and propose a bottom‑up algorithm to handle trees. Their bottom‑up method performs local tree modifications, avoiding the log n overhead of separator discovery inherent in Brent’s approach. The resulting CONTRACT algorithm simplifies control, reduces processor count and runtime, and enables efficient parallel solutions to problems that were previously too difficult for polylogarithmic algorithms.
Abstract : Trees play a fundamental role in many computations, both for sequential as well as parallel problems. The classic paradigm applied to generate parallel algorithms in the presence of trees has been divide-conquer; finding a 1/3 - 2/3 separator and recursively solving the two subproblems. A now classic example is Brent's work on parallel evaluation of arithmetic expressions. This top-down approach has several complications, one of which is finding the separators. We define dynamic expression evaluation as the task of evaluating the expression with no free preprocessing. If we apply Brent's method, finding the separators seems to add a factor of log n to the running time. We give a bottom-up algorithm to handle trees. That is, all modifications to the tree are done locally. This bottom-up approach which we call CONTRACT has two major advantages over the top-down approach: (1) the control structure is straight forward and easier to implement facilitating new algorithms using fewer processors and less time; and (2) problems for which it was too difficult or too complicated to find polylog parallel algorithms are now easy.
22
Dividing a Graph into Triconnected Components
John E. Hopcroft, Robert E. Tarjan · SIAM Journal on Computing · 1973 · 841 citations
The Parallel Evaluation of General Arithmetic Expressions
Richard P. Brent · Journal of the ACM · 1974 · 818 citations · Full text
Random walks, universal traversal sequences, and the complexity of maze problems
Romas Aleliunas, Richard M. Karp, Richard J. Lipton et al. · 1979 · 705 citations
Miklós Ajtai, János Komlós, Endre Szemerédi · 1983 · 671 citations