Rawka-Kassamnath-Spr.. - Computer Science and Engineering

advertisement
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.
Download