JSPM University Pune
Final Year B. Tech (CSE/IT)
Sem VII (Lateral)
Course Type: PCC Course Title: Distributed Systems
Course Code: Teaching Scheme: Examination Scheme
240GCSB79
Credits: 3 Lecture (L): 03 Theory (TH): 100 Marks
Tutorial (T):
Practical (P):
Experiential Learning (EL):
Prerequisite Courses, if any: Database Management Systems
Course Objectives:
● To Understand the fundamental concepts and architecture of distributed systems.
● To Analyze models of distributed computation and communication mechanisms.
● To Apply message ordering and snapshot algorithms in distributed environments.
● To Evaluate distributed mutual exclusion and deadlock detection algorithms.
● To Understand recovery mechanisms and consensus algorithms in distributed systems.
● To Explore peer-to-peer systems and distributed shared memory models.
Course Outcomes:
After completion of the course, learners should be able to
CO1: Explain the architecture, characteristics, and challenges of distributed systems.
CO 2: Analyze logical clocks, global states, and models of distributed computation.
CO 3: Apply message ordering and global snapshot algorithms for distributed processes.
CO 4: Evaluate distributed mutual exclusion and deadlock detection techniques.
CO 5: Analyze checkpointing, recovery, and consensus algorithms in distributed systems.
CO 6: Understand P2P systems, overlay networks, and distributed shared memory concepts.
Course Contents
Unit I INTRODUCTION 7 Hours
Definition and characteristics of distributed systems. Relation to computer system components and
parallel systems. Message -passing vs shared memory systems. Distributed communication
primitives. Synchronous vs asynchronous execution. Design issues and challenges. Model of
Distributed Computations: Distributed programs and executions. Communication network models.
Global state and cuts. Past and future cones of events. Process communication models.
Unit II MESSAGE ORDERING & SNAPSHOTS 8 Hours
Message ordering paradigms. Asynchronous execution with synchronous communication.
Synchronous program order on asynchronous systems. Group communication. Causal ordering and
total ordering. Global State and Snapshot Algorithms: System model and definitions. Snapshot
recording algorithms for FIFO channels.
Unit III DISTRIBUTED MUTEX & DEADLOCK 7 Hours
Distributed Mutual Exclusion: Lamport’s algorithm. Ricart–Agrawala algorithm. Maekawa’s
algorithm. Suzuki–Kasami broadcast algorithm. Deadlock Detection: System model and
preliminaries. Models of deadlocks. Knapp’s classification. Algorithms for single resource, AND
model, and OR model.
Unit IV RECOVERY & CONSENSUS 8 hours
Checkpointing and Rollback Recovery: Failure recovery issues. Checkpoint-based recovery. Log-
based rollback recovery. Coordinated checkpointing. Asynchronous checkpointing. Consensus and
Agreement Algorithms: Problem definition. Agreement in failure-free systems. Agreement in
synchronous systems with failures.
Unit V P2P & DISTRIBUTED SHARED MEMORY 8 Hours
Peer-to-Peer Systems: Overlay networks, structured and unstructured P2P architectures, and data
indexing mechanisms for efficient resource discovery. Distributed lookup algorithms including Chord,
CAN, and Tapestry with their routing, scalability, and fault tolerance characteristics. Distributed
Shared Memory: Concepts, architecture, advantages, and implementation issues in distributed
environments.
Unit VI ADVANCED TOPICS IN DISTRIBUTED SYSTEMS 8 Hours
Distributed File Systems: Design, architecture, and file access models for scalable and reliable data
storage.
Distributed scheduling and load balancing techniques for efficient resource utilization and
performance optimization. Fault tolerance, replication strategies, and recovery mechanisms along
with security issues in distributed systems. Cloud computing basics, service models, deployment
models, and case studies of real-world distributed systems.
Learning Resources
Text Books:
1. Coulouris, G., Dollimore, J., Kindberg, T., Blair, G., Distributed Systems: Concepts and
Design, Pearson, 5th Edition, 2011.
2. Tanenbaum, A. S., Van Steen, M., Distributed Systems, 4th Edition, 2023 (updated 2025).
Reference Books:
1. Attiya, H., Welch, J., Distributed Computing: Fundamentals, Simulations and Advanced
Topics, Wiley, 2nd Edition, 2004.
2. Lynch, N., Distributed Algorithms, Morgan Kaufmann, 1996.
MOOCs Courses Links:
Advanced Distributed Systems
● Course Name: Advanced Distributed Systems
● Instructor: Prof. Smruti Ranjan Sarangi (IIT Delhi)
● Duration: 12 weeks
Link: [Link]