Merge sort can be parallelized, however, conventional algorithms using distributed memory computers have poor performance due to the successive reduction of the number of participating processors by a half, up to one in the last merging stage. Bucket sort is mainly useful when input is uniformly distributed over a range. For example, consider the following problem. Sort a large set of floating point numbers which are in range from 0.0 to 1.0 and are uniformly distributed across the range.
Jan 28, 2012 · For sorting than many elements, your best shot is Merge Sort. It's usually the algorithms used by databases. Even though is not as fast as Quick Sort, it uses intermediate storage so you don't need huge amounts of memory to perform the sort. Also, as pointed by sje397 and Scott in the comments, Merge Sort is highly parallelizable. –Sort: Want data to be read once; spilled to disk once –Merge: Want to do 1-pass merge of each partition •ut… –Since input is unsorted…any M can generate data for any R –This means…each R has to pull data from each M •Distributed merge sort is known to be seek intensive –# of seeks αM * R => I/O’s become small and random Introduction to Parallel and Distributed Computing PARALLEL QUICKSORT IMPLEMENTATION USING MPI AND PTHREADS This report describes the approach, implementation and experiments done for parallelizing sorting application using multiprocessors on cluster by message passing tool (MPI) and by using POSIX multithreading (Pthreads).