Back close

Course Detail

Course Name  Distributed Systems
Course Code 24CS632
Program M. Tech. in Computer Science & Engineering
Semester Soft Core
Credits 4

Syllabus

Introduction and types of distributed systems – Introduction to P2P systems, Edge Networks, CPS, etc, architecture of DS – overview of processes – A Taxonomy of Distributed Systems, scalable performance, load balancing, and availability. Models of computation – shared memory and message passing system— synchronous and asynchronous systems. Communication in Distributed Systems – Remote Procedure Calls and Message Oriented Communications and implementation, High-level communication and publish-subscribe in Mapreduce

Logical time and event ordering, Global state and snapshot algorithms, clock synchronization, distributed mutual exclusion, leader election, deadlock detection, termination detection, Distributed Databases, implementations over a simple distributed system and case studies of distributed databases and systems – Distributed file systems: Examples from Dropbox, Google FS (GFS)/ Hadoop Distributed FS (HDFS), Bigtable/HBase MapReduce, RDD

Consistency control: Data Centric Consistency, Client Centric Consistency, Replica Management, Fault tolerance and recovery: basic concepts, fault models. Case Studies from Apache Spark, Edge Networks, Cyber-Physical Systems, Google Spanner, Amazon Aurora, BlockChain Systems etc.

Tools: MPI, OpenMP

Summary

Pre-Requisite(s): None
Course Type: Lab

Course Objectives

Course Objectives

  • Understand the design of distributed systems and algorithms that support distributed computing.
  • Gain practical exposure to the design and functioning of existing distributed systems and algorithms.

CO-PO Mapping

CO PO1 PO2 PO3 PO4 PO5 PO6
CO1 3 3 1
CO2 3 3 1 1
CO3 3 2
CO4 3 2 1 1 1
CO5 3 2 1 1 1 2

Evaluation Pattern: 70/30

Assessment Internal Weightage External Weightage
Midterm Examination 20
Continuous Assessment (Theory) 10
Continuous Assessment (Lab) 40
End Semester 30

Note: Continuous assessments can include quizzes, tutorials, lab assessments, case study and project reviews. Midterm and End semester exams can be a theory exam or lab integrated exam for two hours

Text Books/References

  1. Andrew S. Tannenbaum and Maarten van Steen, Distributed Systems: Principles and Paradigms, Third Edition, Prentice Hall, 2017.
  2. Ajay D. Kshemkalyani and Mukesh Singhal, Distributed Computing: Principles, Algorithms, and Systems, Cambridge University Press, 2012.
  3. Garg VK. Elements of distributed computing. John Wiley & Sons; 2002.
  4. George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair, Distributed Systems: Concepts and Design, Fifth Edition, Pearson Education, 2017.
  5. Fokkink W. Distributed algorithms: an intuitive approach. Second Edition, MIT Press; 2018.

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now