Balanced parallel sort on hypercube multiprocessors
IEEE Transactions on Parallel and Distributed Systems
572 - 581
Item Usage Stats
MetadataShow full item record
A parallel sorting algorithm for sorting n elements evenly distributed over Zd = p nodes of a d-dimensional hypercube is presented. The average running time of the algorithm is O( (n log n)/p + p log2 n). The algorithm maintains a perfect load balance in the nodes by determining the (kn/p)th elements (k = 1,. . . , (p - 1)) of the final sorted list in advance. These p - 1 keys are used to partition the sorted sublists in each node to redistribute data to the nodes to be merged in parallel. The nodes finish the sort with an equal number of elements (n/p) regardless of the data distribution. A parallel selection algorithm for determining the balanced partition keys in O(p log2 n) time is presented. The speed of the sorting algorithm is further enhanced by the distanced communication capability of the iPSC/2 hypercube computer and a novel conflict-free routing algorithm. Experimental results on a 16-node hypercube computer show that the new sorting algorithm is competitive with the previous algorithms, and faster for skewed data distributions.