Sorting on a parallel pointer machine with applications to set expression evaluation

We present optimal algorithms for sorting on parallel CREW and EREW versions of the pointer machine model. Intuitively, one can view our methods as being based on a parallel mergesort using linked lists rather than arrays (the usual parallel data structure). We also show how to exploit the “locality” of our approach to solve the set expression evaluation problem, a problem with applications to database querying and logic-programming in <italic>O</italic>(log <italic>n</italic>) time using <italic>O</italic>(<italic>n</italic>) processors. Interestingly, this is an asymptotic improvement over what seems possible using previous techniques.

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

[2]  Arnold L. Rosenberg,et al.  Cost Trade-offs in Graph Embeddings, with Applications , 1983, JACM.

[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]  János Komlós,et al.  Sorting in c log n parallel sets , 1983, Comb..

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

[7]  Uzi Vishkin,et al.  Finding the maximum, merging and sorting in a parallel computation model , 1981, CONPAR.

[8]  Bernard Chazelle Slimming down search structures: A functional approach to algorithm design , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[9]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[10]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

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

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

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

[14]  Frank Thomson Leighton,et al.  Tight Bounds on the Complexity of Parallel Sorting , 1984, IEEE Transactions on Computers.

[15]  E. Szemerédi,et al.  Sorting inc logn parallel steps , 1983 .

[16]  David J. DeWitt,et al.  A taxonomy of parallel sorting , 1984, CSUR.

[17]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[18]  Alexandru Nicolau,et al.  Adaptive Bitonic Sorting: An Optimal Parallel Algorithm for Shared-Memory Machines , 1989, SIAM J. Comput..

[19]  Uzi Vishkin,et al.  Finding the Maximum, Merging, and Sorting in a Parallel Computation Model , 1981, J. Algorithms.

[20]  Robert E. Tarjan,et al.  A Class of Algorithms which Require Nonlinear Time to Maintain Disjoint Sets , 1979, J. Comput. Syst. Sci..

[21]  John H. Reif,et al.  Synthesis of Parallel Algorithms , 1993 .

[22]  Michael Ben-Or,et al.  Lower bounds for algebraic computation trees , 1983, STOC.

[23]  Bernard Chazelle,et al.  A Functional Approach to Data Structures and Its Use in Multidimensional Searching , 1988, SIAM J. Comput..

[24]  Torben Hagerup,et al.  Optimal Merging and Sorting on the Erew Pram , 1989, Inf. Process. Lett..

[25]  Frank Thomson Leighton,et al.  Tight Bounds on the Complexity of Parallel Sorting , 1985, IEEE Trans. Computers.

[26]  Gary L. Miller,et al.  Deterministic Parallel List Ranking , 1988, AWOC.

[27]  Donald E. Knuth,et al.  Sorting and Searching , 1973 .

[28]  Donald E. Knuth,et al.  The Art of Computer Programming, Vol. 3: Sorting and Searching , 1974 .

[29]  P. Gács,et al.  Algorithms , 1992 .

[30]  J. Reif,et al.  Parallel Tree Contraction Part 1: Fundamentals , 1989, Adv. Comput. Res..

[31]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.