Subscribe

Issue No.05 - May (1999 vol.10)

pp: 487-499

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.770195

ABSTRACT

<p><b>Abstract</b>—Sorting networks of fixed I/O size <tmath>p</tmath> have been used, thus far, for sorting a set of <tmath>p</tmath> elements. Somewhat surprisingly, the important problem of using such a sorting network for sorting arbitrarily large data sets 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 <it>fixed</it> I/O size <tmath>p</tmath> to sort an arbitrarily large data set of <tmath>N</tmath> 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 <tmath>N</tmath> elements can be sorted in <tmath>\Theta({\frac Np} \log {\frac Np})</tmath> time without memory access conflicts. Finally, we show how to use an <tmath>AT^2</tmath>-optimal sorting network of fixed I/O size <tmath>p</tmath> to construct a similar architecture that sorts <tmath>N</tmath> elements in <tmath>\Theta({\frac N{p}} \log {\frac N{p\log p}})</tmath> time.</p>

INDEX TERMS

Computer architecture, sorting, parallel processing, pipelined processing, sorting networks.

CITATION

Stephan Olariu, M. Cristina Pinotti, S.Q. Zheng, "How to Sort N Items Using a Sorting Network of Fixed I/O Size",

*IEEE Transactions on Parallel & Distributed Systems*, vol.10, no. 5, pp. 487-499, May 1999, doi:10.1109/71.770195