Issue No.08 - August (1996 vol.7)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.532111
<p><b>Abstract</b>—In this paper, we analyze four parallel sorting algorithms (bitonic, column, radix, and sample sort) with the LogP model. LogP characterizes the performance of modern parallel machines with a small set of parameters: the communication latency (<it>L</it>), overhead (<it>o</it>), bandwidth (<it>g</it>), and the number of processors (<it>P</it>). We develop implementations of these algorithms in Split-C, a parallel extension to C, and compare the performance predicted by LogP to actual performance on a CM-5 of 32 to 512 processors for a range of problem sizes. We evaluate the robustness of the algorithms by varying the distribution and ordering of the key values. We also briefly examine the sensitivity of the algorithms to the communication parameters.</p><p>We show that the LogP model is a valuable guide in the development of parallel algorithms and a good predictor of implementation performance. The model encourages the use of data layouts which minimize communication and balanced communication schedules which avoid contention. With an empirical model of local processor performance, LogP predictions closely match observed execution times on uniformly distributed keys across a broad range of problem and machine sizes. We find that communication performance is oblivious to the distribution of the key values, whereas the local processor performance is not; some communication phases are sensitive to the ordering of keys due to contention. Finally, our analysis shows that overhead is the most critical communication parameter in the sorting algorithms.</p>
Massively parallel processing, models of parallel computation, sorting, algorithm implementation, communication performance, communication schedules, performance prediction, performance analysis, data layout.
Andrea C. Dusseau, David E. Culler, Klaus Erik Schauser, Richard P. Martin, "Fast Parallel Sorting Under LogP: Experience with the CM-5", IEEE Transactions on Parallel & Distributed Systems, vol.7, no. 8, pp. 791-805, August 1996, doi:10.1109/71.532111