Parallel Pancake Sorting Using MPI and CUDA
摘要
Pancake sorting algorithm is a simple algorithmic problem of sorting the numbers by means of flipping arrays around in a way that looks like flipping pancakes into a sorted order. Even though the idea is simple, pancake sorting raises a number of serious computational issues as the length of the sequence grows which is a problem mainly for those who need efficient organization of sorted data. This paper implements the Pancake sorting in parallel with the use of both MPI and CUDA. The slow time efficiency posed by sequential sorting in the context of high-performance scenarios are focused and resolved in this study by deploying workload across several processing nodes through MPI and also enhancing with CUDA GPU architecture separately. In performance evaluation metrics based on speedup and efficiency, varying input size was also an excellent factor in reaching the limits of scalability for the parallel approach. Using MPI, we achieved up to 162 times speedup, while using CUDA, we reached up to 1513 times speedup.