A Comparison of Parallel Sorting Algorithms on Different Architectures Nancy M. Amato, Ravishankar Iyer, Sharad Sundaresan and Yan Wu Texas A&M University.

Slides:



Advertisements
Similar presentations
LINIER-TIME SORTING AND ORDER STATISTICS Bucket Sort Radix Sort Randomized-Select Selection in linier time.
Advertisements

PRAM Algorithms Sathish Vadhiyar. PRAM Model - Introduction Parallel Random Access Machine Allows parallel-algorithm designers to treat processing power.
Garfield AP Computer Science
Parallel Sorting Sathish Vadhiyar. Sorting  Sorting n keys over p processors  Sort and move the keys to the appropriate processor so that every key.
Analysis of Algorithms CS 477/677 Linear Sorting Instructor: George Bebis ( Chapter 8 )
CIS December '99 Introduction to Parallel Architectures Dr. Laurence Boxer Niagara University.
Sorting. Sorting Considerations We consider sorting a list of records, either into ascending or descending order, based upon the value of some field of.
Quick Sort, Shell Sort, Counting Sort, Radix Sort AND Bucket Sort
CSCE 3110 Data Structures & Algorithm Analysis
High Performance Comparison-Based Sorting Algorithm on Many-Core GPUs Xiaochun Ye, Dongrui Fan, Wei Lin, Nan Yuan, and Paolo Ienne Key Laboratory of Computer.
Parallel Sorting Algorithms Comparison Sorts if (A>B) { temp=A; A=B; B=temp; } Potential Speed-up –Optimal Comparison Sort: O(N lg N) –Optimal Parallel.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
1 Tuesday, November 14, 2006 “UNIX was never designed to keep people from doing stupid things, because that policy would also keep them from doing clever.
Overview Efficient Parallel Algorithms COMP308. COMP 308 Exam Time allowed : 2.5 hours Answer four questions (out of six). If you attempt to answer more.
Chapter 10 in textbook. Sorting Algorithms
1 Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
Algorithms and Applications
Design of parallel algorithms Sorting J. Porras. Problem Rearrange numbers (x 1,...,x n ) into ascending order ? What is your intuitive approach –Take.
Sorting Algorithms: Topic Overview
CS 584. Sorting n One of the most common operations n Definition: –Arrange an unordered collection of elements into a monotonically increasing or decreasing.
Sorting Algorithms Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text ``Introduction to Parallel Computing'', Addison Wesley,
CS 584. Sorting n One of the most common operations n Definition: –Arrange an unordered collection of elements into a monotonically increasing or decreasing.
Parallel Computation in Biological Sequence Analysis Xue Wu CMSC 838 Presentation.
Bitonic and Merging sorting networks Efficient Parallel Algorithms COMP308.
CSCI-455/552 Introduction to High Performance Computing Lecture 22.
1 CSE 326: Data Structures: Sorting Lecture 17: Wednesday, Feb 19, 2003.
Unit 1. Sorting and Divide and Conquer. Lecture 1 Introduction to Algorithm and Sorting.
1 Sorting Algorithms - Rearranging a list of numbers into increasing (strictly non-decreasing) order. ITCS4145/5145, Parallel Programming B. Wilkinson.
CSE 373 Data Structures Lecture 15
The Group Runtime Optimization for High-Performance Computing An Install-Time System for Automatic Generation of Optimized Parallel Sorting Algorithms.
Parallel Computing Basic Concepts Computational Models Synchronous vs. Asynchronous The Flynn Taxonomy Shared versus Distributed Memory Interconnection.
1 Lecture 2: Parallel computational models. 2  Turing machine  RAM (Figure )  Logic circuit model RAM (Random Access Machine) Operations supposed to.
Lecture 12: Parallel Sorting Shantanu Dutt ECE Dept. UIC.
1 Parallel Sorting Algorithms. 2 Potential Speedup O(nlogn) optimal sequential sorting algorithm Best we can expect based upon a sequential sorting algorithm.
1 Sorting in O(N) time CS302 Data Structures Section 10.4.
Linear Sorts Chapter 12.3, Last Updated: :39 AM CSE 2011 Prof. J. Elder Linear Sorts?
Adaptive Parallel Sorting Algorithms in STAPL Olga Tkachyshyn, Gabriel Tanase, Nancy M. Amato
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Outline  introduction  Sorting Networks  Bubble Sort and its Variants 2.
1 Joe Meehean.  Problem arrange comparable items in list into sorted order  Most sorting algorithms involve comparing item values  We assume items.
1. 2 Sorting Algorithms - rearranging a list of numbers into increasing (strictly nondecreasing) order.
1 Sorting. 2 Introduction Why is it important Where to use it.
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
1 Radix Sort. 2 Classification of Sorting algorithms Sorting algorithms are often classified using different metrics:  Computational complexity: classification.
Radix Sort and Hash-Join for Vector Computers Ripal Nathuji 6.893: Advanced VLSI Computer Architecture 10/12/00.
Data Structures and Algorithms in Parallel Computing Lecture 1.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Parallel Algorithms Continued Patrick Cozzi University of Pennsylvania CIS Spring 2012.
J. Harkins1 of 51MAPLD2005/C178 Sorting on the SRC 6 Reconfigurable Computer John Harkins, Tarek El-Ghazawi, Esam El-Araby, Miaoqing Huang The George Washington.
1 CSE 373 Sorting 4: Heap Sort, Bucket Sort, Radix Sort, Stooge Sort reading: Weiss Ch. 7 slides created by Marty Stepp
“Sorting networks and their applications”, AFIPS Proc. of 1968 Spring Joint Computer Conference, Vol. 32, pp
CSCI-455/552 Introduction to High Performance Computing Lecture 23.
Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar
Parallel Programming - Sorting David Monismith CS599 Notes are primarily based upon Introduction to Parallel Programming, Second Edition by Grama, Gupta,
Merge Sort Algorithm A pretty decent algorithm. What does it do? Takes an unsorted list Splits it into a bunch of tiny, one element lists Compares each.
Unit-8 Sorting Algorithms Prepared By:-H.M.PATEL.
Sorting: Parallel Compare Exchange Operation A parallel compare-exchange operation. Processes P i and P j send their elements to each other. Process P.
19 March More on Sorting CSE 2011 Winter 2011.
S ORTING ON P ARALLEL C OMPUTERS Dr. Sherenaz Al-Haj Baddar KASIT University of Jordan
Advanced Sorting 7 2  9 4   2   4   7
Engineering Problem Solving With C An Object Based Approach
Parallel Sorting Algorithms
Algorithm Design and Analysis (ADA)
Parallel Sorting Algorithms
Bitonic and Merging sorting networks
Part 2: Parallel Models (I)
Analysis of Algorithms
Sorting Algorithms - Rearranging a list of numbers into increasing (strictly non-decreasing) order. Sorting number is important in applications as it can.
Parallel Sorting Algorithms
Presentation transcript:

A Comparison of Parallel Sorting Algorithms on Different Architectures Nancy M. Amato, Ravishankar Iyer, Sharad Sundaresan and Yan Wu Texas A&M University Hoang Bui CMPS 5443

Overview Introduction Machine Descriptions Parallel Sorting Algorithms Experimental Results Comparisons and Recommendations

Introduction Sorting is one of the fundamental problems. Sequential sorting and Parallel sorting. Variety of parallel architectures. Experimental study of three algorithms: Bitonic sort, sample sort & parallel radix sort. Apply to three different machines.

Machine Descriptions The MasPar MP1201. The nCUBE 2. The Sequent Balance.

The MasPar MP1201 SIMD machine. 2,048 processors, 1.8 MIPS, 16Kbytes RAM. Mesh based architecture. X-Net and Global Router for communication. Programming languages: C-Like and Fortran.

The nCUBE 2 MIMD machine. 64 processors, 7.5 MIPS 1Mbyte RAM. Hypercube architecture. Broadcasting. Language: C.

The Sequent Balance MIMD. Shared Memory 10 processors, 8 Kbytes RAM. Communicate through shared memory. Running Unix, language: C.

Parallel Sorting Algorithms Bitonic Sort. Sample Sort. Parallel Radix Sort.

Bitonic Sort Bitonic Sequence: Algorithm: Is the concatenation of an ascending and descending sequence of numbers. Example: 2,4,6,8,9,24,6,3,2,0. Algorithm: Convert n numbers into a bitonic sequence with n/2 numbers in an increasing subsequence. Merge into an ordered sequence (increasing or decreasing.)

Sample sort Algorithm: Select p-1 splitters  p buckets. Each number is put into the appropriate bucket. Sort each buckets.

Parallel Radix Sort Example list: Algorithm: 170, 45, 75, 90, 2, 24, 802, 66 Algorithm: sorting by least significant digit (1s place) gives: 170, 90, 2, 802, 24, 45, 75, 66. sorting by next digit (10s place) gives: 2, 802, 24, 45, 66, 170, 75, 90 . sorting by most significant digit (100s place) gives: 2, 24, 45, 66, 75, 90, 170, 802

Experimental Results Make modifications to each machine. Code was written in C. Keys are randomly generated 32 bit integers. Repeat 25 times and calculate the average.

The MasPar MP1202 – Bitonic sort Good speed-ups for all input size.

The MasPar MP1202 – Sample sort Also good speed-ups.

The MasPar MP1202 – Radix sort Shortest time for the MasPar MP1202.

The MasPar MP1202 Comparisons:

The nCUBE 2 – Bitonic Sort

The nCUBE 2 – Sample Sort

The nCUBE 2 – Radix Sort

The nCUBE 2

The Sequent Balance – Bitonic sort

The Sequent Balance – Sample sort

The Sequent Balance – Radix sort

The Sequent Balance

Comparisons and Recommendations MasPar MP1202: Bitonic Sort for smaller input size. Parallel Radix Sort for larger input size. nCUBBE 2: Sample Sort is the best. Sequent Balance: Sample Sort for smaller input size.

Question