CS435 - Distributed Systems
with Dr. Basit Qureshi

Tutorial 7
_____________
Read through this tutorial on Synchronization Algorithms.

_____________

1. Define Distributed Mutual Exclusion. What are the goals to achieve in any solution for this issue?[S 5]

2. Explain how a FIFO queue can help with a centralized algorithm. Why it causes a bottleneck? [S 8-13]

3. What is the "cost" of Lamport Mutual Exclusion algorithm in terms of communication? [S 24]

4. In a ring based algorithm, explain what happens when a node fails? Using the following figure, give a step by step illustration with messages. Assume node 24 (leader) crashed. Show communication between 15 and 24. [S37-45]



5. In bully algorithm, what gives if bully is not responsive?

6. Explain why maintaining a quorum is essential in concensus algorithms? [S 47-54]

7. Explain why managing network partitions is such a pain? [S 46]

8. Read the Paxos vs RAFT paper [pdf] Answer the following:

  • How does each algorithm handle leader election, and what are the implications of their respective approaches?
  • How do Paxos and Raft ensure consistency and data integrity in distributed systems, and what are the differences in their approaches to maintaining consistency?
  • Discuss the scalability characteristics of Paxos and Raft, including their ability to handle large-scale distributed systems and increasing numbers of nodes?
  • What are the recovery mechanisms employed by Paxos and Raft in the event of network partitions, and how do they ensure system resilience and consistency?