Distributed Systems (IDSS : 3-0-1)


SPRING 2018-19
(Wednesday 10:00 AM -11:00 AM)
(Thursday 11:15 AM - 1:15 PM)

Venue: Room-5155, CC3 Building





Course Outline:


Introduction : Defining Distributed Systems, Goals and Challenges, Representation, Models of Distributed Systems

Architecture Models of computation: Architecture Styles - Centralized and Decentralized architectural styles, Client-Server architecture - Application layering; Per to Peer Systems;

Middleware : Message passing systems, synchronous and asynchronous systems; Remote procedure calls, Remote Method Invokation;

Clock and Causal Ordering : Managing physical clocks in distributed systems; Logical clocks: Lamport's and vector clocks; Global state recording and Snapshot Algorithms; Clock synchronization, Leader election; Waves and Traversal;

OS concepts : Distributed mutual exclusion - permission based algorithms, token based algorithms; Handling deadlocks; Event driven systems for asynchronous Distributed Systems;

Resourse management : Distributed file systems; DFS examples: Hadoop; Distributed shared memory; Load distribution; Cloud computing, SOA;

Fault tolerance and recovery : Fault models, agreement problems and its applications; Commit protocols, voting protocols; Checkpointing and recovery, Multicast communication;





1.      George Coulouris Jean Dollimore, and Tim Kindberg, Distributed Systems: Concepts and Design [Download]

2.      George Coulouris A.D. Kshemkalyani, M. Singhal, Distributed Computing: Principles, Algorithms, and Systems, ISBN: 9780521189842, paperback edition, Cambridge University Press, March 2011 [Download]

3.      Nancy Lynch; Distributed Algorithms, Morgan Kaufmann.

4.      Andrew S. Tanenbaum and Martan Van Steen, Distributed Systems, Principles and Paradigms

5.      Mukesh Singhal and Niranjan Shivaratri , Advanced Concepts in Operating Systems

6.      Jie Wu , Distributed Systems



Grading Policy:

o   1. Term examination : Mid-sem (30) and End-sem (75)

o   2. Project Assignment : The group assignments (max size - 4) will be uploaded on the website within the first week of commencement of classes


Project submission : Contact the TAs for the detailed problem statement of your project assignment and the milestones to be achieved during mid-sem and end-sem evaluation. Each group would be presenting their work in both mid-sem and end-sem and would be evaluated on the basis of the milestones assigned apriori.
If a student does not submit the assignments, his/her grade will remain as incomplete


1.      Project Topics for the Course IDS630E

2.      Project Groups for the Course

3. Assignments on Map and Reduce      
Assignment 1 : Facebook Friends
Assignment 2 : Sentiment Analysis in Twitter

         Mid-sem Solutions





The slides provided as lectures and additional resources have been compiled from different sources. I would like to thank the authors for their slides.
Some of the primary sources of the slides were :
2. http://cse.iitkgp.ac.in/~agupta/distsys/index.html
3. https://www.cs.columbia.edu/~du/ds/schedule.html



Additional Resources


DS course - Prof. A. Gupta, IIT KGP

Architecture Models

Models of Computation

Computational models



Birrel's paper on RPC

Implementing RPC

Clock and Causal Ordering

DS course - Prof. A. Gupta, IIT KGP

Logical Time - Kshemkalyani and Singhal :

DS Computation Models

Global States of DS

Distributed Snapshots

Termination Condition

Chandy Lamport's paper

Distributed Mutual Exclusion

Distributed Mutual Exclusion

Distributed ME

Notes on DS ( Singhal)

Distributed File System

DFS: General Idea

Notes from the text book

Naming Service


Case Study 1

Google File System

Case Study 2