Parallel algorithms for tree accumulations

Accumulations are abstract operations on trees useful in many applications involving trees. The upward accumulation problem is to aggregate data in the subtree under each node of the tree. The downward accumulation problem is to aggregate data at all the ancestors of each node. In this paper, we present parallel algorithms for these problems on coarse-grained distributed memory parallel computers. We first show that when the accumulation function and the set of possible values at nodes of the tree form an Abelian (commutative) group, this problem can be solved by a remarkably simple algorithm-Upward accumulation takes [email protected][email protected] time, where n is the number of nodes in the tree, p is the number of processors, @t is the communication latency and @m is the transfer time per unit message size. Downward accumulation takes Onp+(@[email protected])logp time, making it very communication efficient. For the general case, we present upward and downward accumulation algorithms that run in [email protected][email protected] time.

[1]  Mikhail J. Atallah,et al.  Solving tree problems on a mesh-connected processor array , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[2]  Jeremy Gibbons Algebras for tree algorithms , 1991 .

[3]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .

[4]  Arthur L. Delcher,et al.  Optimal Parallel Evaluation of Tree-Structured Computations by Raking , 1988, AWOC.

[5]  Gary L. Miller,et al.  Parallel tree contraction and its application , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[6]  Alan Gibbons,et al.  A Class of Problems Efficiently Solvable on Mesh-Connected Computers Including Dynamic Expression Evaluation , 1989, Inf. Process. Lett..

[7]  S. Teng,et al.  Optimal Tree Contraction in the EREW Model , 1988 .

[8]  Krzysztof Diks,et al.  More General Parallel Tree Contraction: Register Allocation and Broadcasting in a Tree , 1996, Theoretical Computer Science.

[9]  Wentong Cai,et al.  Efficient Parallel Algorithms for Tree Accumulations , 1994, Sci. Comput. Program..

[10]  David G. Kirkpatrick,et al.  A Simple Parallel Tree Contraction Algorithm , 1989, J. Algorithms.

[11]  David A. Bader,et al.  Evaluating Arithmetic Expressions Using Tree Contraction: A Fast and Scalable Parallel Implementation for Symmetric Multiprocessors (SMPs) (Extended Abstract) , 2002, HiPC.

[12]  Edward M. Reingold,et al.  Tidier Drawings of Trees , 1981, IEEE Transactions on Software Engineering.

[13]  Tsan-sheng Hsu,et al.  Efficient Massively Parallel Implementation of some Combinatorial Algorithms , 1996, Theor. Comput. Sci..

[14]  Srinivas Aluru,et al.  A provably optimal, distribution-independent parallel fast multipole method , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

[15]  Kwan Woo Ryu,et al.  The Block Distributed Memory Model , 1996, IEEE Trans. Parallel Distributed Syst..

[16]  Gary L. Miller,et al.  Parallel Tree Contraction, Part 2: Further Applications , 1991, SIAM J. Comput..

[17]  S. Sitharama Iyengar,et al.  Introduction to parallel algorithms , 1998, Wiley series on parallel and distributed computing.

[18]  Jeremy Gibbons,et al.  Computing Downwards Accumulations on Trees Quickly , 1996, Theor. Comput. Sci..

[19]  Robert E. Tarjan,et al.  An Efficient Parallel Biconnectivity Algorithm , 2011, SIAM J. Comput..

[20]  George Karypis,et al.  Introduction to Parallel Computing , 1994 .

[21]  Jop F. Sibeyn,et al.  Practical Parallel List Ranking , 1997, J. Parallel Distributed Comput..

[22]  Sanjay Ranka,et al.  Many-to-many personalized communication with bounded traffic , 1995, Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation.

[23]  Afonso Ferreira,et al.  Efficient Parallel Graph Algorithms for Coarse-Grained Multicomputers and BSP , 2002, Algorithmica.

[24]  Kwan Woo Ryu,et al.  Efficient Algorithms for List Ranking and for Solving Graph Problems on the Hypercube , 1990, IEEE Trans. Parallel Distributed Syst..