The Distributed Selection Problem and the AKS Sorting Network

We consider the selection problem on a completely connected network of $n$ processors with no shared memory. Each processor initially holds a given numeric item of $b$ bits, allowed to send a $b$-bit message to another processor at a time. On such a communication network ${\cal G}$, we show that the $k^{th}$ smallest of the $n$ inputs can be detected in $O( \log n )$ time with $O ( n \log \log n )$ messages. The possibility of such a parallel algorithm for this distributed $k$-selection problem has been unknown despite the intensive investigation on many variations of the selection problem carried out since 1970s. Satisfying the constraint of total $O ( n \log \log n )$ messages, it improves on ${\cal G}$ the asymptotic running time of Kuhn, Locker and Wattenhofer's algorithm. Our parallel algorithm simulates the comparisons and swaps performed by the AKS sorting network, the one of logarithmic depth discovered by Ajtai, Koml\'os and Szemer\'edi in 1983. Simulation of such a sorting network is our main trick to achieve $O ( \log n )$ time and $O ( n \log \log n )$ messages simultaneously. Extending its correctness proof, we will be able improve by about 47% the upper bound found by Seiferas on the constant factor of the $O ( \log n )$ depth of an $n$-input sorting network. Furthermore, we show the universal time lower bound $\lg n$ for many basic data aggregation problems on ${\cal G}$. The class of problems having this lower bound is huge including the selection problem, the problem of finding the sum of $n$ items, and that of counting items exceeding a threshold. Thus the universal lower bound means the asymptotic time optimality of our parallel algorithm.

[1]  Greg N. Frederickson,et al.  Tradeoffs for selection in distributed networks (Preliminary Version) , 1983, PODC '83.

[2]  Nicola Santoro,et al.  A Distributed Selection Algorithm and its Expected Communication Complexity , 1992, Theor. Comput. Sci..

[3]  Christos H. Papadimitriou,et al.  Computational complexity , 1993 .

[4]  Kenneth E. Batcher,et al.  Designing Sorting Networks , 2011 .

[5]  Roger Wattenhofer,et al.  Tight bounds for distributed selection , 2007, SPAA '07.

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

[7]  Joel I. Seiferas,et al.  Sorting Networks of Logarithmic Depth, Further Simplified , 2009, Algorithmica.

[8]  Nicola Santoro,et al.  Reduction Techniques for Selection in Distributed Files , 1989, IEEE Trans. Computers.

[9]  Michael T. Goodrich,et al.  Zig-zag sort: a simple deterministic data-oblivious sorting algorithm running in O(n log n) time , 2014, STOC.

[10]  János Komlós,et al.  Optimal Parallel Selection has Complexity O(Log Log n) , 1989, J. Comput. Syst. Sci..

[11]  Zvi Galil,et al.  Explicit Constructions of Linear-Sized Superconcentrators , 1981, J. Comput. Syst. Sci..

[12]  Alexander Lubotzky,et al.  Explicit expanders and the Ramanujan conjectures , 1986, STOC '86.

[13]  Ronald L. Graham,et al.  Concrete mathematics - a foundation for computer science (2. ed.) , 1994 .

[14]  Donald B. Johnson,et al.  The Complexity of Selection and Ranking in X+Y and Matrices with Sorted Columns , 1982, J. Comput. Syst. Sci..

[15]  Sanguthevar Rajasekaran Handbook of randomized computing , 2001 .

[16]  Johannes Gehrke,et al.  Gossip-based computation of aggregate information , 2003, 44th Annual IEEE Symposium on Foundations of Computer Science, 2003. Proceedings..

[17]  Rajeev Raman,et al.  Approximate and Exact Deterministic Parallel Selection , 1993, MFCS.