Minimizing Communication in the Bitonic Sort

This paper presents bitonic sorting schemes for special-purpose parallel architectures such as sorting networks and for general-purpose parallel architectures such as SIMD and/or MIMD computers. First, bitonic sorting algorithms for shared-memory SIMD and/or MIMD computers are developed. Shared-memory accesses through the interconnection network of shared memory SIMD and/or MIMD computers can be very time consuming. A scheme is introduced which reduces the number of such accesses. This scheme is based on the parity strategy which is the main idea of the paper. By reducing the communication through the network, a performance improvement is achieved. Second, a recirculating bitonic sorting network is presented, which is composed of one level of N/2 comparators plus an /spl Omega/-network of (log N-1) switch levels. This network reduces the cost complexity to O(N log N) compared with the O(N log/sup 2/ N) of the original bitonic sorting network, while preserving the same time complexity. Finally, a simplified multistage bitonic sorting network, is presented. For simplifying the interlevel wiring, the parity strategy is used, so N/2 keys are wired straight through the network.

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

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

[3]  M. J. Quinn,et al.  Parallel computing (2nd ed.): theory and practice , 1994 .

[4]  Jae-Dong Lee Design of General -Purpose Bitonic Sorting Algorithms with a Fixed Number of Processors for Shared-Memory Parallel Computers , 1999 .

[5]  Kathy J. Liszka Generalizing bitonic and odd-even merging networks , 1992 .

[6]  Ralph Grishman,et al.  The NYU Ultracomputer—Designing an MIMD Shared Memory Parallel Computer , 1983, IEEE Transactions on Computers.

[7]  Manoj Kumar,et al.  An Efficient Implementation of Batcher's Odd-Even Merge Algorithm and Its Application in Parallel Sorting Schemes , 1983, IEEE Transactions on Computers.

[8]  János Komlós,et al.  An 0(n log n) sorting network , 1983, STOC.

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

[10]  Duncan H. Lawrie,et al.  Access and Alignment of Data in an Array Processor , 1975, IEEE Transactions on Computers.

[11]  A. Yavuz Oruç,et al.  Adaptive Binary Sorting Schemes and Associated Interconnection Networks , 1994, IEEE Trans. Parallel Distributed Syst..

[12]  Gen-Huey Chen,et al.  Bitonic Sort with an Arbitrary Number of Keys , 1991, ICPP.

[13]  Harold S. Stone,et al.  Parallel Processing with the Perfect Shuffle , 1971, IEEE Transactions on Computers.

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

[15]  George Karypis,et al.  Introduction to Parallel Computing , 1994 .

[16]  Shing-Tsaan Huang,et al.  K-Way Bitonic Sort , 1989, IEEE Trans. Computers.

[17]  Kenneth E. Batcher,et al.  A bitonic sorting network with simpler flip interconnections , 1996, Proceedings Second International Symposium on Parallel Architectures, Algorithms, and Networks (I-SPAN'96).

[18]  Samuel E. Orcutt Implementation of Permutation Functions in Illiac IV-Type Computers , 1976, IEEE Transactions on Computers.

[19]  Howard Jay Siegel,et al.  The universality of various types of SIMD machine interconnection networks , 1977, ISCA '77.

[20]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

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

[22]  H. T. Kung,et al.  Sorting on a mesh-connected parallel computer , 1977, CACM.

[23]  Kai Hwang,et al.  Advanced computer architecture - parallelism, scalability, programmability , 1992 .

[24]  Sartaj Sahni,et al.  Bitonic Sort on a Mesh-Connected Parallel Computer , 1979, IEEE Transactions on Computers.

[25]  Howard Jay Siegel,et al.  Interconnection networks for large-scale parallel processing: theory and case studies (2nd ed.) , 1985 .

[26]  Kenneth E. Batcher,et al.  Simplifying Multistage Hardware Interconnection in the Bitonic Sorting Network , 1995, Parallel and Distributed Computing and Systems.

[27]  M. J. Quinn,et al.  Parallel Computing: Theory and Practice , 1994 .

[28]  Frank Thomson Leighton,et al.  Tight Bounds on the Complexity of Parallel Sorting , 1985, IEEE Trans. Computers.

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

[30]  Michael J. Flynn,et al.  Very high-speed computing systems , 1966 .

[31]  Vipin Kumar,et al.  Introduction to Par-allel Computing: Design and Analysis of Parallel Algorithms , 1994 .

[32]  Kenneth E. Batcher,et al.  Minimizing communication of a recirculating bitonic sorting network , 1996, Proceedings of the 1996 ICPP Workshop on Challenges for Parallel Processing.

[33]  Thomas L. Casavant,et al.  Experimental Analysis of a Mixed-Mode Parallel Architecture Using Bitonic Sequence Sorting , 1991, J. Parallel Distributed Comput..