Improved parallel integer sorting without concurrent writing

We show that <italic>n</italic> integers in the range 1..<italic>n</italic> can be stably sorted on an EREW PRAM using <italic>O</italic>((log <italic>n</italic>)<supscrpt>1/2</supscrpt>) time, <italic>O</italic>(<italic>n</italic>(log <italic>n</italic>)<supscrpt>1/2</supscrpt>(log log <italic>n</italic>)<supscrpt>1/2</supscrpt>) operations and <italic>O</italic>(<italic>n</italic>) space. In addition, we are able to stably sort <italic>n</italic> integers in the range 1..<italic>n</italic> on a deterministic CREW PRAM in <italic>O</italic>((log <italic>n</italic>)<supscrpt>3/2</supscrpt>) time with <italic>O</italic>(<italic>n</italic>(log <italic>n</italic>)<supscrpt>1/2</supscrpt>) operations and <italic>O</italic>(<italic>n</italic>) space and to stably sort <italic>n</italic> arbitrary integers on a randomized CREW PRAM within the same complexity bounds with high probability. In each case our algorithm is closer to optimality than all previous algorithms for the stated problem in the stated model, and our third result matches the operation count of the best known sequential algorithm. We also show that <italic>m</italic> integers in the range 1..<italic>m</italic> can be sorted in <italic>O</italic>((log <italic>n</italic>)<supscrpt>2</supscrpt>) time with <italic>O</italic>(<italic>n</italic>) operations on an EREW PRAM using a nonstandard word length of <italic>O</italic>(log <italic>n</italic> log log <italic>n</italic> log <italic>m</italic>) bits, thereby greatly improving the upper bound on the word length necessary to sort integers with a linear time-processor product, even sequentially. Our algorithms were inspired by, and in one case directly use, the fusion trees recently introduced by Fredman and Willard.

[1]  Krzysztof Diks,et al.  Improved Deterministic Parallel Integer Sorting , 1991, Inf. Comput..

[2]  Rajeev Raman,et al.  Waste makes haste: tight bounds for loose parallel sorting , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[3]  Peter van Emde Boas,et al.  Preserving Order in a Forest in Less Than Logarithmic Time and Linear Space , 1977, Inf. Process. Lett..

[4]  E. Szemerédi,et al.  O(n LOG n) SORTING NETWORK. , 1983 .

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

[6]  Uzi Vishkin,et al.  Approximate parallel prefix computation and its applications , 1993, [1993] Proceedings Seventh International Parallel Processing Symposium.

[7]  Uzi Vishkin,et al.  Optimal parallel approximation for prefix sums and integer sorting , 1994, SODA '94.

[8]  Pramod K. Varshney,et al.  Towards optimal parallel radix sorting , 1993, [1993] Proceedings Seventh International Parallel Processing Symposium.

[9]  Michael L. Fredman,et al.  Surpassing the Information Theoretic Bound with Fusion Trees , 1993, J. Comput. Syst. Sci..

[10]  Michael L. Fredman,et al.  BLASTING through the information theoretic barrier with FUSION TREES , 1990, STOC '90.

[11]  Torben Hagerup,et al.  Prefix Graphs and Their Applications , 1994, WG.

[12]  Larry Rudolph,et al.  A Complexity Theory of Efficient Parallel Algorithms , 1990, Theor. Comput. Sci..

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

[14]  Uzi Vishkin,et al.  On Parallel Integer Merging , 1993, Inf. Comput..

[15]  S. Chaudhuri Pre x Graphs and Their Applications ? , 1994 .

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

[17]  Hong Shen,et al.  Improved Nonconservative Sequential and Parallel Integer Sorting , 1990, Inf. Process. Lett..

[18]  Pramod K. Varshney,et al.  Optimal Parallel Lexicographic Sorting using a Fine-Grained Decomposition , 1991 .

[19]  Sanguthevar Rajasekaran,et al.  Optimal and Sublogarithmic Time Randomized Parallel Sorting Algorithms , 1989, SIAM J. Comput..

[20]  Uzi Vishkin,et al.  Converting high probability into nearly-constant time—with applications to parallel hashing , 1991, STOC '91.

[21]  Clyde P. Kruskal,et al.  Searching, Merging, and Sorting in Parallel Computation , 1983, IEEE Transactions on Computers.

[22]  Rajeev Raman,et al.  The Power of Collision: Randomized Parallel Algorithms for Chaining and Integer Sorting , 1990, FSTTCS.

[23]  Uzi Vishkin,et al.  On Parallel Hashing and Integer Sorting , 1991, J. Algorithms.

[24]  Rajeev Raman,et al.  Fast deterministic approximate and exact parallel sorting , 1993, SPAA '93.

[25]  Torben Hagerup Constant-time parallel integer sorting , 1991, STOC '91.

[26]  Uzi Vishkin,et al.  Towards a theory of nearly constant time parallel algorithms , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

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

[28]  Yijie Han,et al.  : Parallel Algorithms for Bucket Sorting and the Data Dependent Prefix Problem , 1986, ICPP.

[29]  Peter van Emde Boas,et al.  Preserving order in a forest in less than logarithmic time , 1975, 16th Annual Symposium on Foundations of Computer Science (sfcs 1975).

[30]  David G. Kirkpatrick,et al.  Upper Bounds for Sorting Integers on Random Access Machines , 1984, Theor. Comput. Sci..

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

[32]  Richard Cole,et al.  Deterministic Coin Tossing with Applications to Optimal Parallel List Ranking , 2018, Inf. Control..