Abstract
In previous work we have introduced an average case measure for the time complexity of Boolean circuits – that is the delay between feeding the input bits into a circuit and the moment when the results are ready at the output gates – and analysed this complexity measure for prefix computations. Here we consider the problem to sort large integers that are given in binary notation. Contrary to a word comparator sorting circuit C where a basic computational element, a comparator, is charged with a single time step to compare two elements, in a bit comparator circuit C′ a comparison of two binary numbers has to be implemented by a Boolean subcircuit CM called comparator module that is built from Boolean gates of bounded fanin. Thus, compared to C, the depth of C′ will be larger by a factor up to the depth of CM.
Our goal is to minimize the average delay of bit comparator sorting circuits. The worst-case delay can be estimated by the depth of the circuit. For this worst-case measure two topologically quite different designs seems to be appropriate for the comparator modules: a tree-like one if the inputs are long numbers, otherwise a linear array working in a pipelined fashion. Inserting these into a word comparator circuit we get bit level sorting circuits for binary numbers of length m for which the depth is either increased by a multiplicative factor of oder log m or by an additive term of order m.
We show that this obvious solution can be improved significantly by constructing efficient sorting and merging circuits for the bit model that only suffer a constant factor time loss on the average if the inputs are uniformly distributed. This is done by designing suitable hybrid architectures of tree compaction and pipelining. These results can also be extended to classes of nonuniform distributions if we put a bound on the complexity of the distributions themselves.
Supported by DFG research grant Re 672/3.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ajtai, M., Komlos, J., Szemeredi, E.: Sorting in c log n parallel steps. Combinatorica 3, 1–19 (1983)
Al-Hajery, M., Batcher, K.: On the bit-level complexity of bitonic sorting networks. In: Proc. 22. Int. Conf. on Parallel Processing, III.209–III.213 (1993)
Hatirnaz, I., Leblebici, Y.: Scalable binary sorting architecture based on rank ordering withlinear area-time complexity. In: Proc. 13. IEEE ASIC/SOC Conference, pp. 369–373 (2000)
Jakoby, A.: Die Komplexität von Präfixfunktionen bezüglich ihres mittleren Zeitverhaltens. Dissertation, Universität zu Lübeck (1998)
Jakoby, A., Reischuk, R., Schindelhauer, C.: Circuit complexity: from the worst case to the average case. In: Proc. 26. ACM STOC, pp. 58–67 (1994)
Jakoby, A., Reischuk, R., Schindelhauer, C.: Malign distributions for average case circuit complexity. In: Mayr, E.W., Puech, C. (eds.) STACS 1995. LNCS, vol. 900, pp. 628–639. Springer, Heidelberg (1995)
Jakoby, A., et al.: The average case complexity of the parallel prefix problem. In: Shamir, E., Abiteboul, S. (eds.) ICALP 1994. LNCS, vol. 820, pp. 593–604. Springer, Heidelberg (1994)
Jakoby, A., Schindelhauer, C.: Efficient Addition on Field Programmable Gate Arrays. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) FSTTCS 2001. LNCS, vol. 2245, pp. 219–231. Springer, Heidelberg (2001)
Leblebici, Y., Demirci, T., Hatirnaz, I.: Full-Custom CMOS Realization of a High-Performance Binary Sorting Engine with Linear Area-Time Complexity. In: Proc. IEEE Int. Symp. on Circuits and Systems (2003)
Leighton, T.: Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann Publishers, San Mateo (1992)
Leighton, T., Plaxton, C.G.: A (fairly) simple circuit that (usually) sorts. In: Proc. 31. IEEE FOCS, pp. 264–274 (1990)
Lin, R., Olariu, S.: Efficient VLSI architecture for Columnsort. IEEE Trans. on VLSI 7, 135–139 (1999)
Thompson, C.D.: Area-Time Complexity for VLSI. In: Proc. 11. ACM STOC, pp. 81–88 (1979)
Thompson, C.D.: The VLSI Complexity of Sorting. IEEE Trans. Comp. 32, 1171–1184 (1983)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jakoby, A., Liśkiewicz, M., Reischuk, R., Schindelhauer, C. (2007). Improving the Average Delay of Sorting. In: Cai, JY., Cooper, S.B., Zhu, H. (eds) Theory and Applications of Models of Computation. TAMC 2007. Lecture Notes in Computer Science, vol 4484. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72504-6_30
Download citation
DOI: https://doi.org/10.1007/978-3-540-72504-6_30
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72503-9
Online ISBN: 978-3-540-72504-6
eBook Packages: Computer ScienceComputer Science (R0)