Professional Electives
Other Branches
Course Name | Distributed Systems |
Course Code | 23CSE442 |
Program | B. Tech. in Computer Science and Engineering (CSE) |
Credits | 3 |
Campus | Amritapuri ,Coimbatore,Bengaluru, Amaravati, Chennai |
Other Branches
A Taxonomy of Distributed Systems – Models of computation: shared memory and message passing systems, synchronous and asynchronous systems. Communication in Distributed Systems: Remote Procedure Calls, Message Oriented Communications and implementations over a simple distributed system
Global state and snapshot algorithms. Logical time and event ordering, clock synchronization, Distributed mutual exclusion, Group based Mutual Exclusion, leader election, concurrency control, deadlock detection, termination detection, implementations over a simple distributed system.
Consistency and Replication: Data Centric Consistency, Client Centric Consistency, Replica Management, Consistency Protocols. Fault tolerance and recovery: basic concepts, fault models, agreement problems and its applications, commit protocols, voting protocols, check pointing and recovery. Distributed file systems: scalable performance, load balancing, and availability.
Case Studies: Dropbox, Google FS (GFS)/ Hadoop Distributed FS (HDFS), Bigtable/HBase MapReduce, RDDs, Apache Spark
Pre-Requisite(s): Operating Systems, Computer Networks
Course Objectives
Course Outcomes
CO1: Understand the fundamental issues in designing distributed systems and be aware of the design principles of
distributed systems.
CO2: Apply various distributed algorithms related to clock Synchronization and the need for global state in distributed
systems
CO3: Analyze fault tolerance and recovery in distributed systems and algorithms for the same.
CO4: Analyze the design and functioning of existing distributed systems and file systems.
CO5: Design and implement a simple distributed system and implement different distributed algorithms over it.
CO-PO Mapping
PO/PSO |
PO1 |
PO2 |
PO3 |
PO4 |
PO5 |
PO6 |
PO7 |
PO8 |
PO9 |
PO10 |
PO11 |
PO12 |
PSO1 |
PSO2 |
CO |
||||||||||||||
CO1 |
3 |
2 |
3 |
2 |
2 |
3 |
2 |
|||||||
CO2 |
3 |
3 |
2 |
2 |
3 |
3 |
2 |
|||||||
CO3 |
3 |
3 |
2 |
2 |
2 |
2 |
2 |
3 |
2 |
|||||
CO4 |
3 |
3 |
2 |
2 |
2 |
3 |
3 |
2 |
||||||
CO5 |
3 |
3 |
3 |
1 |
3 |
3 |
2 |
2 |
2 |
2 |
3 |
2 |
Evaluation Pattern: 70:30
Assessment |
Internal |
End Semester |
MidTerm Exam |
20 |
|
Continuous Assessment – Theory (*CAT) |
10 |
|
Continuous Assessment – Lab (*CAL) |
40 |
|
**End Semester |
30 (50 Marks; 2 hours exam) |
*CAT – Can be Quizzes, Assignments, and Reports
*CAL – Can be Lab Assessments, Project, and Report
**End Semester can be theory examination/ lab-based examination/ project presentation
Textbook(s)
Andrew S. Tannenbaum and Maarten van Steen, “Distributed Systems: Principles and Paradigms”, Third Edition, Prentice Hall, 2017.
Reference(s)
Ajay D. Kshemkalyani and Mukesh Singhal, “Distributed Computing: Principles, Algorithms, and Systems”, Cambridge University Press, 2011.
Garg VK, Garg VK. “Elements of distributed computing”. John Wiley & Sons; 2002.
George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair, “Distributed Systems: Concepts and Design”, Fifth Edition, Pearson Education, 2017.
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.