SYLLABUS
CS8603 DISTRIBUTED SYSTEMS
OBJECTIVES: LTPC3003
To understand the foundations of distributed systems.
To learn issues related to clock Synchronization and the need for global state in distributed
systems.
To learn distributed mutual exclusion and deadlock detection algorithms.
To understand the significance of agreement, fault tolerance and recovery protocols in
Distributed Systems.
To learn the characteristics of peer-to-peer and distributed shared memory systems.
UNIT I INTRODUCTION 9
Introduction: Definition –Relation to computer system components –Motivation –Relation to
parallel systems – Message-passing systems versus shared memory systems –Primitives for
distributed communication –Synchronous versus asynchronous executions –Design issues
and challenges. A model of distributed computations: A distributed program –A model of
distributed executions –Models of communication networks –Global state – Cuts –Past and
future cones of an event –Models of process communications. Logical Time: A framework
for a system of logical clocks –Scalar time –Vector time – Physical clock synchronization:
NTP.
UNIT II MESSAGE ORDERING & SNAPSHOTS 9
Message ordering and group communication: Message ordering paradigms –Asynchronous
execution with synchronous communication –Synchronous program order on an synchronous
system –Group communication – Causal order (CO) - Total order. Global state and snapshot
recording algorithms: Introduction –System model and definitions –Snapshot algorithms for
FIFO channels
UNIT III DISTRIBUTED MUTEX & DEADLOCK 9
Distributed mutual exclusion algorithms: Introduction – Preliminaries – Lamport‘s algorithm
– Ricart-Agrawala algorithm – Maekawa‘s algorithm – Suzuki–Kasami‘s broadcast
algorithm.Deadlock detection in distributed systems: Introduction – System model –
Preliminaries – Models of deadlocks – Knapp‘s classification – Algorithms for the single
resource model, the AND model and the OR model.
UNIT IV RECOVERY & CONSENSUS 9
Checkpointing and rollback recovery: Introduction – Background and definitions – Issues in
failure recovery – Checkpoint-based recovery – Log-based rollback recovery – Coordinated
checkpointing algorithm – Algorithm for asynchronous checkpointing and recovery. onsensus
and agreement algorithms: Problem definition – Overview of results – Agreement in a failure
– free system – Agreement in synchronous systems with failures.
UNIT V P2P & DISTRIBUTED SHARED MEMORY 9
Peer-to-peer computing and overlay graphs: Introduction – Data indexing and overlays – hord
– Content addressable networks – Tapestry. Distributed shared memory: Abstraction and
advantages – Memory consistency models –Shared memory Mutual Exclusion.
TOTAL: 45 PERIODS
OUTCOMES:
At the end of this course, the students will be able to:
Elucidate the foundations and issues of distributed systems
Understand the various synchronization issues and global state for distributed systems.
Understand the Mutual Exclusion and Deadlock detection algorithms in distributed systems
Describe the agreement protocols and fault tolerance mechanisms in distributed systems.
Describe the features of peer-to-peer and distributed shared memory systems
TEXT BOOKS:
1. Kshemkalyani, Ajay D., and Mukesh Singhal. Distributed computing: principles,
algorithms,and systems. Cambridge University Press, 2011.
2. George Coulouris, Jean Dollimore and Tim Kindberg, ―Distributed Systems Concepts
and Design‖, Fifth Edition, Pearson Education, 2012.
REFERENCES:
1. Pradeep K Sinha, "Distributed Operating Systems: Concepts and Design", Prentice Hall of
India, 2007.
2. Mukesh Singhal and Niranjan G. Shivaratri. Advanced concepts in operating systems.
McGraw-Hill, Inc., 1994.
3. Tanenbaum A.S., Van Steen M., ―Distributed Systems: Principles and Paradigms‖,
Pearson Education, 2007.
4. Liu M.L., ―Distributed Computing, Principles and Applications‖, Pearson Education,
2004.
5. Nancy A Lynch, ―Distributed Algorithms‖, Morgan Kaufman Publishers, USA, 2003.
PERI Institute of Technology
Mannivakkam, Chennai - 600048
Department of Computer Science and Engineering
Course File History
Department : CSE
Year :III YEAR-ASEC
Course Name : B.E. (R2017)
Subject Name :DISTRIBUTED SYSTEMS
Subject Code : CS8603
Faculty Name :Mr.A.Vijayanarayanan
Year of Establishment (Course) : 2021 – 2022
Course Plan A SEC
Content delivery methods:
Lecture interspersed with discussion (chalk and board)
Presentation slides (PPT)
Assessment methods:
Internal Assessment test
Assignments (Problems, Seminars)
Proposed Actual
S. No Topic to be Covered Teaching Reference Remarks
Date Date Method Material
UNIT I INTRODUCTION
Definition –Relation to
1. computer system 07.03.22 07.03.22 BB T1
components
Message-passing systems
2. versus shared memory 08.03.22 08.03.22 BB T1
systems
Primitives for distributed
3. communication 09.03.22 10.03.22 BB T1
4. Design issues and 10.03.22 11.03.22 BB T1
challenges
5. A model of distributed 11.03.22 14.03.22 BB T1
computations
6. Models of communication 14.03.22 15.03.22 BB T1
networks
Past and future cones of
7. an event –Models of 15.03.22 16.03.22 BB T1
process communications
A framework for a system
8. of logical clocks –Scalar 16.03.22 17.03.22 BB T1/R1
time –Vector time
9. NTP 17.03.22 18.03.22 BB T1
UNIT II MESSAGE ORDERING & SNAPSHOTS
Message ordering and
10. group communication 18.03.22 21.03.22 BB T1
Message ordering
11. paradigms –Asynchronous 21.03.22 22.03.22 BB T1/R1
execution with synchronous
communication
Synchronous program order
12. on an asynchronous 22.03.22 23.03.22 BB T1
system
13. Group communication 23.03.22 24.03.22 BB T1
14. Causal order (CO) 24.03.22 25.03.22 PPT T1
15. Global state and snapshot 25.03.22 28.03.22 PPT T1
recording algorithms
16. Introduction –System model 28.03.22 29.03.22 PPT T1
and definitions
17. Snapshot algorithms for 29.03.22 30.03.22 PPT T1
FIFO channels
Snapshot algorithms for
18. FIFO channels 30.03.22 PPT T1/R1 CAT 1 Exam
31.03.22
UNIT III DISTRIBUTED MUTEX & DEADLOCK
Distributed mutual 01.04.22
19. exclusion algorithms 31.03.22 BB T1
20. Preliminaries – Lamport‘s 01.04.22 04.04.22 BB T1
algorithm
21. Ricart-Agrawala algorithm 04.04.22 05.04.22 BB T1
– Maekawa‘s algorithm
22. Suzuki–Kasami‘s broadcast 05.04.22 06.04.22 BB T1
algorithm.
23. Deadlock detection in 06.04.22 07.04.22 BB T1/R2
distributed systems
24. System model – 07.04.22 08.04.22 PPT T1
Preliminaries
25. Models of deadlocks – 08.04.22 11.04.22 PPT T1
Knapp‘s classification
Algorithms for the single 12.04.22
26. resource model 11.04.22 PPT T1
The AND model and the 13.04.22
27. OR model. 12.04.22 PPT T1/R2
UNIT IV RECOVERY & CONSENSUS
18.04.22
28. Checkpointing and rollback 13.04.22
BB/PPT T2
recovery
29. Background and definitions 18.04.22
19.04.22 BB/PPT T2
– Issues in failure recovery
30. Checkpoint-based recovery 20.04.22 BB/PPT T2
19.04.22
31. Log-based rollback 20.04.22
21.04.22 BB/PPT T2/R3
recovery
32. Algorithm for asynchronous 21.04.22
22.04.22 BB/PPT T2
checkpointing and recovery
33. Consensus 22.04.22
25.04.22 BB/PPT T2
and agreement algorithms
34. Problem definition 26.04.22 BB/PPT T2
25.04.22
35. Agreement in a failure 27.04.22 BB/PPT T2
26.04.22
36. Agreement in synchronous 27.04.22
28.04.22 BB/PPT T2 CAT II Exam
systems with failures.
UNIT V P2P & DISTRIBUTED SHARED MEMORY
37. Peer-to-peer computing 29.04.22 BB/PPT T3
28.04.22
38. Data indexing and overlays 02.05.22 BB/PPT T3
29.04.22
39. Content addressable 02.05.22
03.05.22 BB/PPT T3
networks
40. Tapestry 04.05.22 BB/PPT T3
03.05.22
41. Distributed shared memory BB/PPT T3
04.05.22 05.05.22
42. Abstraction and advantages BB/PPT T3/R3
05.05.22 06.05.22
43. Memory consistency 06.05.22 09.05.22
BB/PPT T3
models
44. Shared memory Mutual 09.05.22 10.05.22
BB/PPT T3
Exclusion
45. Shared memory Mutual 10.05.22 13.05.22
BB/PPT T3 Model Exam
Exclusion
Subject in charge HOD