Report

Improving Quick Sort Algorithm Performance By Using Parallel Algorithms. Motivation: Sorting is among the fundamental problems of computer science. Sorting of different datasets is present in most applications, ranging from simple user applications to complex software. Today, in this modern age, the amount of data to be sorted is often so big, that even the most efficient sequential sorting algorithms become the bottleneck of the application. It may be a database or scientific data. With the appearance of parallel computing, new possibilities have appeared to remove this bottleneck and improve the performance of known sorting algorithms by modifying them for parallel execution. AIM: We wanted to find the trade off point after which parallel quick sort and Hyper Quick sort’s performance started decreasing as the number of processors increases. 10^4! 436! 10^5! 278! HyperQuick! 10^5! Sort! 558! 10^6! 348! !10^6! 612! 416! Observations: ! !! Sequential!Quick! ! sort! ! !Input! 10^3! 10^4! 10^5! 10^6! Parallel! 10^3! 10^4! HyperQuick! 10^5! 10^6! Sort! !! 137! 217! 254! 158! 393! 142! 196! 416! 67!650! 78!778! 195! 450! 813! 10^3! 10^4! 1424! N=2! ! N= number of processors Time is in msec. N=4! 418! 436! 558! 612! 188! 194! 217! 254! 10^5! 1928! N=8! 206! 278! 348! 416! 98! 119! 142! 196! 121! 137! 158! 195! 48! 61! 67! 78! 2413! 152! 1610! 2 164! 1812! 3 2002! 10^6! 2896! N=16! N=32! N=64! 382! 613! 1168! 393! 650! 1610! 416! 778! 1812! 450! 813! 2002! 98! 213! 482! 112! 233! 548! 152! 278! 645! 164! 398! 831! ‘ Speed up achieved by Parallel Quick Sort over Sequential Sort. Speed up(N=8) = Running time of sequential Sort algorithm Best case run time achieved by Parallel Sort = 2896 = 14.85 195 Speed up achieved by Hyper Quick Sort over Sequential Sort. Speed up(N=8) = Running time of sequential Sort algorithm Best case run time achieved by Hyper Quick Sort = 2896 = 37.12 78 Speed Up calculated over data set of size 10^6 Speed up achieved by Hyper Quick Sort over Parallel Sort. Speed up(N=8) = Running time of Parallel Sort algorithm Running time achieved by Hyper Quick Sort = 195 = 2.5 78 Conclusion: The basis of comparison is the running time, number of comparison and speed up achieved. 1) From the graphs it is obvious that Hyper Quick Sort and Parallel Quick Sort performs much more better than Sequential sort as they take the advantage of parallelism to reduce the waiting time. 2) The performance of Parallel Quick Sort is low as compared to Hyper Quick Sort due to the improper load balancing. 3) It is observed that when the number of processors increases after a particular number the performance of Parallel and Hyper Quick Sort decreases because of MPI communication overheads.