A Parallel Triple-Pivot Sorting (PTPSort) Algorithm: Preliminary Results - Rattanatranurak, Apisit; Kittitornkun, Surin (My University, 2020)
Parallel or multithreaded sorting algorithms can be useful for data science/analytics and other applications for manycore CPU systems. A Parallel Triple Pivot Sort (PTPSort) is devised based on the Hoare's partition algorithm. The input array is initially partitioned with two pivots, PLo and PHi in parallel with two threads. Subsequently, the middle pivot, PMi, is applied resulting in approximately two halves. Finally, four subarrays can be obtained from two independent threads partitioning each leftover half with PLo and PHi, respectively. The process is recursively forked as threads until the subarray is shorter than a cutoff threshold and then STLSorted in parallel. However, its preliminary execution time is a bit longer than that of our benchmark, a parallel original Hoare's algorithm, on a 24-thread AMD ThreadRipper 2920x Linux system.
Keywords: multithread; OpenMP; parallel; Sort; Triple Pivot