How to Sort N Items Using a Sorting Network of Fixed I/O Size

Sorting networks of fixed I/O size p have been used, thus far, for sorting a set of p elements. Somewhat surprisingly, the important problem of using such a sorting network for sorting arbitrarily large datasets has not been addressed in the literature. Our main contribution is to propose a simple sorting architecture whose main feature is the pipelined use of a sorting network of fixed I/O size p to sort an arbitrarily large data set of N elements. A noteworthy feature of our design is that no extra data memory space is required, other than what is used for storing the input. As it turns out, our architecture is feasible for VLSI implementation and its time performance is virtually independent of the cost and depth of the underlying sorting network. Specifically, we show that by using our design N elements can be sorted in /spl Theta/(N/p log N/p) time without memory access conflicts. Finally, we show how to use an AT/sup 2/-optimal sorting network of fixed I/O size p to construct a similar architecture that sorts N elements in /spl Theta/(N/p log N/p log p) time.

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

[2]  John Gill,et al.  Sorting n Objects with a K-Sorter , 1990, IEEE Trans. Computers.

[3]  Stephan Olariu,et al.  A Novel Deterministic Sampling Scheme with Applications to Broadcast-Efficient Sorting on the Reconfigurable Mesh , 1986, J. Parallel Distributed Comput..

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

[5]  Sartaj Sahni,et al.  Sorting n Numbers on n x n Reconfigurable Meshes with Buses , 1994, J. Parallel Distributed Comput..

[6]  Frank H. Young,et al.  Improved Divide/Sort/Merge Sorting Networks , 1975, SIAM J. Comput..

[7]  Franco P. Preparata,et al.  A Minimum Area VLSI Network for O(log n) Time Sorting , 1985, IEEE Transactions on Computers.

[8]  Viktor K. Prasanna,et al.  An Optimal Sorting Algorithm on Reconfigurable Mesh , 1995, J. Parallel Distributed Comput..

[9]  Ian M. Mitchell,et al.  Parallel Computation , 1999, Algorithms and Theory of Computation Handbook.

[10]  Stephan Olariu,et al.  An Optimal Hardware-Algorithm for Sorting Using a Fixed-Size Parallel Sorting Device , 2000, IEEE Trans. Computers.

[11]  D. S. SzyId,et al.  Parallel Computation: Models And Methods , 1998, IEEE Concurrency.

[12]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[13]  S. Lakshmivarahan,et al.  Parallel Sorting Algorithms , 1984, Adv. Comput..

[14]  Sartaj Sahni,et al.  Parallel permutation and sorting algorithms and a new generalized connection network , 1982, JACM.

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

[16]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[17]  Thompson The VLSI Complexity of Sorting , 1983, IEEE Transactions on Computers.

[18]  Kenneth E. Batcher On Bitonic Sorting Networks , 1990, ICPP.

[19]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[20]  János Komlós,et al.  Sorting in c log n parallel sets , 1983, Comb..

[21]  Gérard M. Baudet,et al.  Optimal Sorting Algorithms for Parallel Computers , 1978, IEEE Transactions on Computers.

[22]  Ian Parberry,et al.  Constructing Sorting Networks from k-Sorters , 1989, Inf. Process. Lett..

[23]  Richard Cole,et al.  Optimal VLSI circuits for sorting , 1988, JACM.

[24]  Mikhail J. Atallah,et al.  Sorting with Efficient Use of Special-Purpose Sorters , 1988, Inf. Process. Lett..

[25]  Si-Qing Zheng,et al.  Sorting N items using a p-sorter in optimal time , 1996, Proceedings of SPDP '96: 8th IEEE Symposium on Parallel and Distributed Processing.

[26]  Frank Thomson Leighton,et al.  Wafer-Scale Integration of Systolic Arrays , 1985, IEEE Trans. Computers.