COURSE SUMMARY
Course Title: 
Parallel and Distributed Computing
Course Code: 
15CSE360
Year Taught: 
2015
2016
2017
2018
Type: 
Elective
Degree: 
Undergraduate (UG)
School: 
School of Engineering
Campus: 
Bengaluru
Chennai
Coimbatore
Amritapuri

'Parallel and Distributed Computing' is a course offered in the B. Tech. in Computer Science and Engineering program at School of Engineering, Amrita Vishwa Vidyapeetham.

Unit 1

Introduction: The Reality of High Performance Computing - Modern Algorithms – Compilers - Scientific Algorithms – History - State-of-Art and Perspective - Things that are not Traditional Supercomputers. Parallel Computing - PDC models working mechanism - scalability of PDC architectures – applications, performance metrics and Amdahl’s Law.

Unit 2

Models and Algorithms - PRAM algorithms, Process-level parallelism, data-level parallelism, Problem partitioning, divide-and-conquer, Distributed algorithms – Algorithm design techniques - filters, client / server, heartbeat, probe / echo, token passing, replicated servers Communication - Interconnection network design, Topological and parametric models of interconnection networks; routing mechanisms; flow control mechanisms, communication protocols, Communication primitives - Point-to-point communication primitives; group communication patterns; broadcast in distributed systems, CSP, MPI; Synchronization - Locks, monitors, barriers; deadlock; hardware primitives and implementation issues; clock synchronization, distributed mutual exclusion; distribute deadlock detection.

Unit 3

Computation: Threads - Creation, coordination, termination; futures. Shared Memory - Models of memory consistency; implementation of consistency protocols; transactions: serializability, concurrency - control, commit protocols; Linda. Scheduling and Load Balancing: Load distribution algorithms; task migration; coscheduling; affinity scheduling; self-scheduling in loops.

  • Wilkinson B and Allen M, “Parallel Programming Techniques and Applications using Networked Workstations and Parallel Computer”, Second Edition, Prentice Hall, Upper Saddle River,2004
  • Tanenbaum A, “Distributed Operating Systems”, Prentice Hall, 1999
  • Nikhil R S and Arvind, “Implicit Parallel Programming in PH”, Morgan Kaufman, 2001.