Parallel General Prefix Computations with Geometric, Algebraic and Other Applications

We introduce here a generic problem component and algorithms for it on various parallel models, that captures the most common, difficult "kernel" of many types of problems, e.g. geometric dominance. This kernel involves general prefix computations (GPCs) that can, with insight, be done quickly in parallel and by iterative techniques. GPCs' lower bound complexity of Ω (n log n) time is established, and we give optimal solutions on the sequential model in0(n log n) time, on the CREW PRAM model in 0(log n) time with n processors, on the BSR (broadcasting with selective reduction) model in constant time using n processors, and on mesh-connected computers in 0(✓n) time with (✓n) processors. A solution in 0(log2n) time on the hypercube model is given which is the best possible given known sorting limitations. We show that general prefix techniques can be applied to a wide variety of geometric (point set and tree) problems, including triangulation of point sets, two-set dominance counting, ECDF searching, finding two- and three-dimensional maximal points, and the (classical) reconstruction of trees from their traversals. In sum, GPC techniques have many important consequences.

[1]  Arne Andersson,et al.  Construction of a Tree From its Traversals in Optimal Time and Space , 1990, Inf. Process. Lett..

[2]  Sartaj Sahni,et al.  Data broadcasting in SIMD computers , 1981, IEEE Transactions on Computers.

[3]  Frank Dehne,et al.  O(n^(1/2)) Algorithms for the Maximal Elements and ECDF Searching Problem on a Mesh-Connected Parallel Computer , 1986, Inf. Process. Lett..

[4]  C. Greg Plaxton,et al.  Deterministic sorting in nearly logarithmic time on the hypercube and related computers , 1990, STOC '90.

[5]  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).

[6]  Richard Cole,et al.  Faster Optimal Parallel Prefix Sums and List Ranking , 2011, Inf. Comput..

[7]  E. Mäkinen Constructing a binary tree from its traversals , 1989 .

[8]  Ivan Stojmenovic,et al.  An O(sqrt(n)) Time Algorithm for the ECDF Searching Problem for Arbitrary Dimensions on a Mesh-of-Processors , 1988, Inf. Process. Lett..

[9]  Gen-Huey Chen,et al.  Two Algorithms for Constructing a Binary Tree from its Traversals , 1988, Inf. Process. Lett..

[10]  Dorit S. Hochbaum,et al.  Database Location in Computer Networks , 1980, JACM.

[11]  Sartaj Sahni,et al.  Finding Connected Components and Connected Ones on a Mesh-Connected Parallel Computer , 1980, SIAM J. Comput..

[12]  Mikhail J. Atallah,et al.  Efficient plane sweeping in parallel , 1986, SCG '86.

[13]  Sushil Jajodia,et al.  Alternative methods for the reconstruction of trees from their traversals , 1987, BIT Comput. Sci. Sect..

[14]  Marvin H. Solomon,et al.  A Note on Enumerating Binary Trees , 1980, JACM.

[15]  Dan E. Willard,et al.  New Data Structures for Orthogonal Range Queries , 1985, SIAM J. Comput..

[16]  Robert E. Tarjan,et al.  Scaling and related techniques for geometry problems , 1984, STOC '84.

[17]  Selim G. Akl,et al.  Broadcasting with Selective Reduction , 1989, IFIP Congress.

[18]  Uzi Vishkin,et al.  Optimal parallel generation of a computation tree form , 1985, TOPL.

[19]  Jeffrey D Ullma Computational Aspects of VLSI , 1984 .

[20]  Richard Cole,et al.  Cascading divide-and-conquer: A technique for designing parallel algorithms , 1989, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[21]  Teruo Hikita Listing and Counting Subtrees of Equal Size of a Binary Tree , 1983, Inf. Process. Lett..

[22]  H. T. Kung,et al.  Sorting on a mesh-connected parallel computer , 1977, CACM.