0% found this document useful (0 votes)
81 views

Parallel Algorithms

This document outlines a Master's level course on Parallel Algorithms. The course introduces fundamental concepts in parallel computing and common parallel patterns. Students will learn about parallel computing models like PRAM and analyze the computational complexity of parallel algorithms. The course aims to help students properly assess the efficiency and scalability of parallel algorithms and applications. Topics covered include parallel sorting, searching, graph algorithms, and computational complexity measures for parallel algorithms. Assessment includes exams, practical assignments on implementing parallel algorithms using MPI and OpenMP, and achieving desired learning outcomes.

Uploaded by

Er Umesh Thoriya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views

Parallel Algorithms

This document outlines a Master's level course on Parallel Algorithms. The course introduces fundamental concepts in parallel computing and common parallel patterns. Students will learn about parallel computing models like PRAM and analyze the computational complexity of parallel algorithms. The course aims to help students properly assess the efficiency and scalability of parallel algorithms and applications. Topics covered include parallel sorting, searching, graph algorithms, and computational complexity measures for parallel algorithms. Assessment includes exams, practical assignments on implementing parallel algorithms using MPI and OpenMP, and achieving desired learning outcomes.

Uploaded by

Er Umesh Thoriya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

GUJARAT TECHNOLOGICAL UNIVERSITY

Master of Engineering
Subject Code: 3720222
Semester – II
Subject Name: Parallel Algorithms

Type of course: Elective

Prerequisite: Data Structures, Design and Analysis of Algorithms

Rationale: Parallel computing has become mainstream and very affordable today. This is mainly because
hardware costs have come down rapidly. Processing voluminous datasets is highly computation intensive.
Parallel computing has been fruitfully employed in numerous application domains to process large datasets
and handle other time-consuming operations of interest. As a result, unprecedented advances have been
made in such areas as biology, scientific computing, modeling and simulations, and so forth. Hence the
objective of this course is to introduce parallel algorithms and compare it with its sequential equivalent.

Teaching and Examination Scheme:

Teaching Scheme Credits Examination Marks Total


L T P C Theory Marks Practical Marks Marks
ESE (E) PA (M) ESE (V) PA (I)
3 0 2 4 70 30 30 20 150

Content:
Sr. Content Total %
No. Hrs Weightage
1 Computers Models of computation, Need for parallelism, Complexity measure 5 10
for parallel algorithms, parallel computational models such as PRAM, LMCC,
Hypercube, Cube Connected Cycle, Butterfly, Perfect Shuffle
Computers, Tree model, Pyramid model, Fully Connected model, PRAM,
CREW, EREW models, simulation of one model from another one, Expressing
parallel algorithms
2 Parallel combinatorial algorithms: permutations with and without repetitions 4 8
combinations, derangements
3 Maximum/Minimum, Median, Kth Largest/Smallest element, Matrix Vector 6 13
Multiplication,Matrix-Matrix Multiplication, Parallel discrete event simulation
Image dithering, Dense LU factorization
4 Parallel sorting algorithms: Hyper quick sort, Merge sort, Bitonic merge 11 23
Sort, odd even transposition, Enumeration sort (sorting on the CRCW model,
CREW model and EREW model)
5 Parallel searching algorithms: Searching on a sorted sequence 11 23
(EREW,CREW,CRCW), Searching on a random sequence (EREW, CREW,
CRCW, Tree and Mesh) Sequential selection algorithm, Parallel selection
algorithm (EREW parallel solution)

Page 1 of 3

w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Master of Engineering
Subject Code: 3720222
4 Parallel graph algorithms: parallel graph search &, tree traversal algorithms, 11 23
Graph coloring, Minimal spanning tree, Shortest path algorithm
Total 48 100%

Reference Books:

1. Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar, Introductionto Parallel Computing,
Second Edition, Addison Wesley, 2003. ISBN: 0-201-64865.
2. S. Akl. Design and Analysis of Parallel Algorithms, Prentice Hall Inc, 1992.
3. Michael Quinn, Parallel Computing Theory and Practice, McGraw Hill,Second Edition, 1994.
4. F.T.Leighton, Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes ,
MK Publishers, San Mateo California, 1992..
5. Wilkinson, M.Allen, Parallel Programming Techniques and Applications using networked
workstations and parallel computers, Prentice Hall, 1999
6. Joseph Jaja. An Introduction to Parallel Algorithms, Addison Wesley, 1992.
7. H. Sparkias and A. Gibbon. Lecture notes on Parallel Computation, Cambridge University Press,
1993.
8. K. Hwang and F. A. Briggs.Computer Architecture and Parallel Processing, McGraw Hill Inc.,
1985.

Course Outcomes:

After learning the course the students should be able to:

Sr. CO statement Marks


No. % weightage
CO-1 Gain basic understanding of fundamental concepts in parallel computing. 10%
CO-2 Be able to identify and leverage common parallel computing patterns. 20%
CO-3 know about parallel computing model like PRAM, LMCC etc. 20%
CO-4 analyze the computational complexity of parallel algorithms 20%
CO-5 Be able to properly assess efficiency and scalability of a parallel 30%
algorithm/application.
Distribution of marks weightage for cognitive level

Bloom’s Taxonomy for Cognitive Domain Marks


% weightage
Recall 5
Comprehension 10
Application 15
Analysis 25
Evaluate 25
Create 20

Page 2 of 3

w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Master of Engineering
Subject Code: 3720222
Practical List:
1) Compare the speedup of the parallel implementation of Quick sort using MPI (On a cluster of 5
Nodes) and OpenMP (Shared Memory Implementation on multicore machine).
2) Compare the speedup of the parallel implementation of Merge sort using MPI (On a cluster of 5
Nodes) and OpenMP (Shared Memory Implementation on multicore machine).
3) Compare the speedup of the parallel implementation of Bitonic sort using MPI (On a cluster of 5
Nodes) and OpenMP (Shared Memory Implementation on multicore machine).
4) Compare the speedup of the parallel implementation of Odd-Even transposition sort using MPI
(On a cluster of 5 Nodes) and OpenMP (Shared Memory Implementation on multicore machine).
5) Implement parallel list ranking algorithm on MPI cluster of 5 Nodes and find it speedup over the
sequential implementation.
6) Give parallel implementation (OpenMP/MPI) of Awerbuch-Shiloach algorithm for finding the
connected components of a graph.

Page 3 of 3

w.e.f. AY 2018-19

You might also like