COURSE SUMMARY
Course Title: 
Parallel and Distributed Computing
Course Code: 
18CS731
Year Taught: 
2018
Degree: 
Postgraduate (PG)
School: 
School of Engineering
Campus: 
Coimbatore

'Parallel and Distributed Computing' is an elective course offered in M. Tech. in Computer Science and Engineering program at School of Engineering, Amrita Vishwa Vidyapeetham.

Introduction-Asynchronous/synchronous computation/communication, concurrency control, fault tolerance, GPU architecture and programming, heterogeneity, interconnection topologies, load balancing, memory consistency model, memory hierarchies, Message passing interface (MPI), MIMD/SIMD examples.

Multithreaded programming, parallel algorithms & architectures, parallel I/O, performance analysis and tuning, power, programming models (data parallel, task parallel, process-centric, shared/distributed memory), scalability and performance studies, scheduling, storage systems, synchronization, and tools

TEXTBOOKS/REFERENCES

  1. Kai Hwang, Jack Dongarra & Geoffrey C. Fox, “Distributed and Cloud Computing: Clusters, Grids, Clouds, and the Future Internet (DCC)”, 2012.
  2. Andrew S. Tanenbaum & Maarten van Steen, “Distributed Systems: Principles and Paradigms”, Prentice Hall, 2017.

At the end of the course the students will be able to

  Course Outcome Bloom’s Taxonomy Level
CO 1 Understand the requirements for programming parallel systems and how they can be used to facilitate the programming of concurrent systems. L2
CO 2 To learn and apply knowledge of parallel and distributed computing techniques and methodologies L3
CO 3 To learn the architecture and parallel programming in graphics processing units (GPUs). L2
CO 4 Understand the memory hierarchy and cost-performance tradeoffs. L2, L5
CO 5 To gain experience in the design, development, and performance analysis of parallel and distributed applications L4, L6, L5