Preview Banner Image
MCA Syllabi Elective Course III- MCA10405-A. Parallel Processing

Unit I
Motivation for Parallelism: Parallel Computing, Speed Up, Moore's Law, Grand Challenge Problems, Trends Parallel and Distributed Computers: Flynn's Taxonomy, Distributed Memory Multicomputers, Shared Memory Multiprocesors, Networks of Workstations, Cluster and Grid Computing
Unit II
Message Passing Computing: Process Creation, Message Passing Routines, Point-to-Point, Collective Communication MPI and PVM: MPI Model of Computation, Basic Concepts, Message Passing Routines, Point-to-Point, Collective Communication, Comparison of MPI and PVM Performance Measures: Granularity, Speed Up, Efficiency, Cost, Amdahl's Law, Gustafson's Law, Isoefficiency Analysis of Parallel Programs: Parallel Computation Models, PRAM, Modeling Communication, Cluster Cost Model
Unit III
Embarassingly Parallel Computations: Low Level Image Processing, Mandelbrot Set, Monte Carlo Methods Simple Data Partitioning: Sum of Numbers, Bucket Sort, Numerical Integartion, N-Body Problem Divide-and-Conquer: Sum of Numbers, Merge Sort, Adaptive Quadrature, Barnes-Hut Algorithm
Unit IV
Pipelined Computations: Type 1, 2 and 3 Pipelines, Sum of Sequence, Insertion Sort, Prime Number Generation, Back Substitution Scheduling and Load Balancing: List Scheduling, Static Load Balancing, Dynamic Load Balancing, Moore's Algorithm Synchronous Computations: Data Parallel Programming, Global and Local Synchronization, Solving Linear Equations, Cellular Automata Shared Memory Programming: Threads, Compiler Directives, OpenMP
Unit V
Sorting Algorithms: Rank Sort, Compare and Exchange, Bubble Sort, Quicksort, Bitonic Mergesort Numerical Algorithms: Matrix Algorithms, Solving Linear Equations, Gaussian Elimination; Jacobi Iteration Image Processing: Low Level Image Procesing, High Level Image Procesing, Fourier Transform
Text Book(s)
1. Barry Wilkinson and Michael Allen. Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers (2nd Edition), Prentice Hall PTR (2005)
References
1. A. Grama, A. Gupta, G. Karypis and V. Kumar. Introduction to Parallel Computing (2nd edition), Addison Wesley (2002), ISBN 0-201-64865-2.
2. H. El-Rewini and T.G. Lewis. Distributed and Parallel Computing, Manning (1997), ISBN 0-13-795592-8.
3. I. Foster. Designing and Building Parallel Programs, Addison Wesley (1995), ISBN 0-201-57594-9.
4. Kai Hwang and Zhiwei Xu. Scalable Parallel Computing, McGraw Hill (1998), ISBN 0-07-031798-4.