There are two kind of sorting algorithm as sequential and parallel. The slide is depending on the paper "Performance Evaluation Of Parallel Bubble Sort Algorithm on Supercomputer IMAN1" by Reem Saadeh and Mohammad Qatawneh from The University of Jordan, Jordan.
Performance evaluation of parallel bubble sort algorithm on supercomputer IMAN1.
1. A PAPER BASED PRESENTATION –
“PERFORMANCE EVALUATION OF PARALLEL
BUBBLE SORT ALGORITHM ON SUPER
COMPUTER IMAN1.”
2. Introductory
Prepared By
Shakil Ahmed 19-91472-3
Nazia Alfaz 19-91493-3
Submitted To
Dr. Ashraf Uddin
Assistant Professor
Department of Computer Science
American International University - Bangladesh
3. Course Outline
Lesson 1.
Overview Of The Paper.
Lesson 2.
Background Study.
Lesson 3.
Objective of this Paper.
Lesson 4.
Usefulness/Applications
Lesson 5.
Algorithm Used in this Paper.
4. Overview
• This paper published the running time,
parallel speedup and parallel efficiency of
parallel bubble sort.
• The parallel bubble sort is evaluated in
Message Passing Interface (MPI) and
measured in supercomputer IMAN1.
• The parallel bubble sort has the better
running time as the number of processors
increases.
• Over small number of processors parallel
bubble sort is also more efficient.
5. Background Study
◦ Mm. Jiang and D. Crookes. (2006), proposed high-sample rate 3-Dimention (3D) median filtering
processor architecture that can reduce the computation complexity in comparison with the traditional bubble
sorting algorithm.
◦ Kale V, Solomonik E. (2010), proposed a method for common patterns of parallel sorting algorithms in
terms of load balancing, keys distribution, communication cost, and computations cost.
◦ A. I. Elnashar. (2011), used a Massage Passing Interface Chameleon (MPICH2) in a dual-core processor
machine which had the windows operating system in order to explore how the number of cores and the
processes affect the performance of a parallel bubble sort algorithm.
◦ N. Sismanis, N. Pitsianis, and X. Sun, (2012), had done a study of parallel bubble sort algorithm for K-
Nearest Neighbor (KNN) search in introduces. The study is conducted on a parallel processor or accelerator
that favors synchronous operations and has high synchronization cost.
◦ O. AbuAlghanam, M. Qatawneh, H.al Ofeishat, O. adwan, A. Huneiti. (2017), several mechanisms for
secured message passing use bubble sort algorithm to tackle security problems of information by enhancing
the process of encryption and decryption the text message.
6. Objectives
• Run Time Evaluation: As the number of processors increase, the run time is reduced due to
parallelism (2 to 32 processors).
7. Objectives
◦ Speedup Evaluation: Parallel speedup increases when the number of processors increases. The
parallel algorithm achieves the best speedup on a large number of processors. It is the ratio of
sequential bubble sort time and parallel bubble sort time.
10. Application & Usefulness
1. The parallel bubble sort is mainly useful for the supercomputers that works with too many
processors. Supercomputers have been used primarily for scientific and engineering work requiring
exceedingly high-speed computations. By using parallel bubble sort algorithm the processors can
work in parallel.
2. As the number of processors increases the run time is reduced due to better parallelism and better
load distribution among more processors.
3. The parallel algorithm achieves the best speedup on a large number of processors.
4. When the number of processors is equal to two, the parallel bubble sort achieves about 26%
parallel efficiency. So for small number of processor the algorithm has high efficiency.
5. When parallel bubble sort algorithm works with 2,4 or 8 processor the cost is reduced. So if we
want to work with smaller number of processor in a cost effective way, the algorithm is useful.
6. The complexity of parallel bubble sort equals to O(n) which is much better than the complexity
of the fastest known sequential sorting algorithm with O(n log n) complexity
11. Algorithm
#initialization of input n
For i in 1 to n do
If i is odd then
For j in 0 to n/2-1
do
Compare input (2 * j+1) with input (2 *
j+2);
If input(2 * j+1)> input (2 * j+2)
then swap;
end for;
If i is even then
For j in 1 to n/2-1
do
Compare input (2 * j) with input (2 *
j+1);
If input(2 * j)> input (2 * j+1)
then swap;
end for;
end for
12. Explanation
◦ 1.The parallel version of bubble sort will perform n iterations of the main loop and for each
iteration.
◦ 2. For each iteration, n-1 comparisons and (n-1)/2 exchanges
◦ 3. There are two loops, the outer loop will take n steps and the inner loop depends on the odd or
even phase which takes n/2 steps and that time will be divided by the number of processors. So
the time complexity that is required for all processors to sort the dataset is O (n2 /2p).
◦ 4. When the number of processor is greater that n/2, The complexity of the inner loop will be
O(1) because all the iteration will be performed in parallel and the complexity of the algorithm
will be O(n).