Partitioned parallel radix sort

  • Authors:
  • Shin-Jae Lee;Minsoo Jeon;Dongseung Kim;Andrew Sohn

  • Affiliations:
  • Department of Electrical Engineering, Korea University, Seoul 136-701, Korea;Department of Electrical Engineering, Korea University, Seoul 136-701, Korea;Department of Electrical Engineering, Korea University, Seoul 136-701, Korea;Department of Computer and Information Science, New Jersey Institute of Technology, Newark, New Jersey 07102-1982

  • Venue:
  • Journal of Parallel and Distributed Computing
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Load balanced parallel radix sort solved the load imbalance problem present in parallel radix sort. By redistributing the keys in each round of radix, each processor has exactly the same number of keys, thereby reducing the overall sorting time. Load balanced radix sort is currently known as the fastest internal sorting method for distributed-memory multiprocessors. However, as the computation time is balanced, the communication time emerges as the bottleneck of the overall sorting performance due to key redistribution. We present in this report a new parallel radix sorter that solves the communication problem of balanced radix sort, called partitioned parallel radix sort. The new method reduces the communication time by eliminating the redistribution steps. The keys are first sorted in a top-down fashion (left-to-right as opposed to right-to-left) by using some most significant bits. Once the keys are localized to each processor, the rest of sorting is confined within each processor, hence eliminating the need for global redistribution of keys. It enables well balanced communication and computation across processors. The proposed method has been implemented in three different distributed-memory platforms, including IBM SP2, Cray T3E, and PC Cluster. Experimental results with various key distributions indicate that partitioned parallel radix sort indeed shows significant improvements over balanced radix sort. IBM SP2 shows 13% to 30% improvement while Cray/SGI T3E does 20% to 100% in execution time. PC cluster shows over 2.4-fold improvement in execution time.