Course Type Course Code Name of Course L T P Credit: Text Books
Course Type Course Code Name of Course L T P Credit: Text Books
Course Objective
This course is intended to cover a comprehensive introduction to parallel architecture, parallel computing,
parallel algorithms followed by brief coverage of distributed computing.
Learning Outcomes
The course will provide a strong foundation of parallel architecture, parallel algorithms and distributed
computing techniques.
Unit Lecture
Topics to be Covered Learning Outcome
No. Hours
Introduction to Parallel Computing: Parallel Computing 3 Understanding the importance of
1 Models, Multiprocessor and Multi-Cores parallel computing and various
parallel computing models.
Parallel Programming Platforms: Trends in 7 Understanding trends in
Microprocessor Architecture, Limitations of Memory, microprocessor architecture.
Physical Organization of Parallel Systems, Learning various communication
Communications Costs in Parallel Machines, Routing cost, decomposition routing and
2
Mechanism for Interconnections Networks, interconnection network techniques
Decomposition Techniques, Characteristics of Tasks and in parallel architecture.
Interaction, Impact of Processes-Processor Mapping
Techniques
Parallel algorithms Design: Preliminaries, Decomposition 4 Learning various techniques for
3 Techniques, Characteristics of Tasks and Interaction, designing parallel algorithms.
Mapping Techniques, Parallel Algorithm Models.
Communication Algorithms: One-to-All Broadcast and 5 Learning communication algorithms
All-to-one Reduction, All-to-All Broadcast and for parallel computation.
4 Reduction, All-Reduce and Prefix-Sum Operations,
Scatter and Gather, All-to-All Personalized
Communications
Modelling of Parallel Programs: Sources of Overhead in 3 Learning overheads involved in
5 Parallel Programs, Performance Metrics for Parallel designing parallel algorithms
Systems, Scalability in Parallel Systems
Dense Matrix Algorithms: Matrix-Vector Multiplication, 3 Learning how to design and evaluate
6
Matrix-Matrix Multiplication, Other Algorithms matrix multiplication algorithms
Parallel Sorting: Issues in sorting, Sorting Networks, 5 Understanding and learning popular
7 Bubble sort and its variants, Quicksort and Other sorting parallel sorting algorithms.
algorithms
Introduction to Distributed Computing: Models of 2 Understanding the importance of
Distributed Computation, Design Issues Distributed computing and about
8
various distributed computing models
and design issues.
Distributed Operating Systems: Distributed algorithms 8 Learning and understanding various
and applications, Clock Synchronization Algorithms, distributed algorithms, clock
9
Distributed Memory Systems, Message Passing, Fault synchronization algorithms, message
Tolerance passing and fault-tolerant techniques
Text Books:
1. Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar, Introduction to Parallel Computing, Second
Edition, Addison Wesley, 2003.
2. Pradeep Sinha, Distributed Operating Systems: PHI
Reference Books:
1: Hwang and Briggs, Computer Architecture and Parallel processing, MC-Graw Hill.
2: Tanenbaum et al., Distributed Systems: Principles and Paradigms, 2e, (c) 2007. Prentice-Hall