Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parallel Computing Spring 2010

Similar presentations


Presentation on theme: "Parallel Computing Spring 2010"— Presentation transcript:

1 Parallel Computing Spring 2010
Sorting Parallel Computing Spring 2010

2 Sorting Algorithm Rearranging a list of numbers into increasing (strictly nondecreasing) order.

3 Potential Speedup O(nlogn) optimal for any sequential sorting algorithm without using special properties of the numbers. Best we can expect based upon a sequential sorting algorithm using n processors is Optimal parallel time complexity = O(n logn)/n= O(logn) Has been obtained but the constant hidden in the order notation extremely large.

4 Compare-and-Exchange Sorting Algorithms: Compare and Exchange
Form the basis of several, if not most, classical sequential sorting algorithms. Two numbers, say A and B, are compared. If A > B, A and B are exchanged, i.e.: if (A > B) { temp = A; A = B; B = temp; }

5 Message Passing Method
For P1 to send A to P2 and P2 to send B to P1. Then both processes perform compare operations. P1 keeps the larger of A and B and P2 keeps the smaller of A and B:

6 Merging Two Sublists

7 Bubble Sort First, largest number moved to the end of list by a series ofcompares and exchanges, starting at the opposite end. Actions repeated with subsequent numbers, stopping just before the previously positioned number. In this way, the larger numbers move (“bubble”) toward one end,

8 Bubble Sort

9 Time Complexity Number of compare and exchange operations
Indicates a time complexity of O(n^2) given that a single compare-and-exchange operation has a constant complexity, O(1).

10 Parallel Bubble Sort Iteration could start before previous iteration finished if doesnot overtake previous bubbling action:

11 Odd-Even (Transposition) Sort
Variation of bubble sort. Operates in two alternating phases, even phase and odd phase. Even phase Even-numbered processes exchange numbers with their right neighbor. Odd phase Odd-numbered processes exchange numbers with their right neighbor.

12 Sequential Odd-Even Transposition Sort

13 Parallel Odd-Even Transposition Sort Sorting eight numbers

14 Parallel Odd-Even Transposition Sort
Consider the one item per processor case. There are n iterations; in each iteration, each processor does one compare-exchange –which can all be done in parallel. The parallel run time of this formulation is Θ(n). This is cost optimal with respect to the base serial algorithm but not the optimal serial algorithm.

15 Parallel Odd-Even Transposition Sort

16 Parallel Odd-Even Transposition Sort
Consider a block of n/p elements per processor. The first step is a local sort. In each subsequent step, the compare exchange operation is replaced by the compare split operation. There are p phases with each phase performing Θ(n/p) compares and Θ(n/p) communication. The parallel run time of the formulation is The parallel formulation is cost-optimal for p= O(logn).

17 End Thank you!


Download ppt "Parallel Computing Spring 2010"

Similar presentations


Ads by Google