Saral Shiksha Yojna
Courses/Distributed Systems

Distributed Systems

CS3.401
Prof. Kishore KothapalliMonsoon 2025-264 credits

Subjective Questions

Short, long, derivation, numerical, proof, compare, architecture.

short · 5 marksch-1-1

State Tanenbaum's definition of a distributed system and list its five required features.

compare · 6 marksch-1-1

State CAP and explain why CA is impossible in real distributed systems.

short · 5 marksch-1-1

Two-Generals problem and its implication for distributed systems.

derivation · 6 marksch-2-1

Define Lamport's happened-before relation and the clock consistency condition. Why is scalar Lamport clock only weakly consistent?

short · 5 marksch-2-1

State the vector clock rules and how to compare two vector timestamps.

compare · 6 marksch-2-1

Compare scalar, vector, and matrix clocks on storage, consistency, and main use case.

compare · 5 marksch-2-1

Compare Cristian's and Berkeley algorithms for physical clock synchronisation.

derivation · 8 marksch-3-1

Explain Chandy-Lamport snapshot algorithm. Why does it require FIFO channels?

short · 4 marksch-3-1

State the C1 and C2 cut conditions.

compare · 6 marksch-3-1

Compare Chandy-Lamport, Lai-Yang, and Acharya-Badrinath.

short · 5 marksch-4-1

State the BSS algorithm's two delivery conditions and explain each.

compare · 5 marksch-4-1

Distinguish FIFO, causal, and total order delivery.

compare · 10 marksch-5-1

Compare Lamport, Ricart-Agrawala, Maekawa (V2), Suzuki-Kasami, and Raymond DME algorithms.

short · 5 marksch-5-1

State Lamport's L1 and L2 entry conditions and explain why both are required.

derivation · 8 marksch-5-1

Why does Maekawa V1 deadlock? How do FAILED / INQUIRE / YIELD in V2 fix it?

short · 5 marksch-5-1

Suzuki-Kasami — why does the token-send condition require RN[i] = LN[i] + 1?

compare · 6 marksch-6-1

Distinguish cycle vs knot in WFG. Which model needs which?

derivation · 6 marksch-6-1

Trace Chandy-Misra-Haas probe algorithm on a 4-process cycle. State the detection rule.

short · 4 marksch-6-1

Why is detection the preferred deadlock-handling strategy in DS?

short · 5 marksch-7-1

State the three impossibility results for Byzantine Agreement.

derivation · 8 marksch-7-1

Why is N = 3, f = 1 Byzantine impossible? Use the indistinguishability argument.

compare · 8 marksch-7-1

Compare OM(m) and Phase King on bounds, rounds, messages, and simplicity.

short · 5 marksch-8-1

Describe the two phases of 2PC and state the point of no return.

derivation · 8 marksch-8-1

When does 2PC block? How does 3PC's PRE-COMMIT phase fix this?

short · 4 marksch-8-1

Why is 3PC not used in practice?

short · 5 marksch-9-1

State Raft's three sub-problems and one-line each.

derivation · 6 marksch-9-1

Why is randomised election timeout critical in Raft?

short · 5 marksch-9-1

State Raft's election restriction and why it ensures safety.

compare · 8 marksch-10-1

State GHS combining rules A, B, C with conditions and actions.

derivation · 6 marksch-10-1

Prove max level in GHS is log₂ N.

short · 5 marksch-10-1

Test/Accept/Reject — state the three reply rules at node q.

short · 5 marksch-11-1

State GFS's three-component architecture and a one-line role for each.

derivation · 8 marksch-11-1

Walk through GFS's write flow with leases. Why are data and control flow separated?

compare · 6 marksch-11-1

GFS consistency states: define defined / consistent / undefined / inconsistent and give one scenario for each.

short · 4 marksch-11-1

Why doesn't GFS master persistently log chunk locations?

short · 5 marksch-1-1

Define a distributed system. What are its essential required features?

long · 10 marksch-1-1

Why do we need distributed systems? List the primary motivations.

long · 10 marksch-1-1

List the key challenges in designing a distributed system.

long · 10 marksch-1-1

State and explain the CAP theorem. Give one example each for the Consistency and Availability choices.

short · 5 marksch-1-1

What is consensus in a distributed system? How does the Byzantine Agreement Problem extend it?

short · 5 marksch-1-1

Describe the four dimensions along which distributed-system models can vary.

long · 10 marksch-1-1

Define internal, send and receive events. How does an event change system state?

short · 5 marksch-2-1

Why is time synchronization important in a distributed system?

long · 10 marksch-2-1

Explain Cristian's (time-server) algorithm. How does it bound the actual server time?

short · 5 marksch-2-1

Describe the Berkeley UNIX time-synchronization algorithm. How does it differ from Cristian's?

short · 5 marksch-2-1

Briefly describe the decentralized averaging algorithm for clock synchronization.

short · 5 marksch-2-1

What is NTP and what is its claimed accuracy? Explain its hierarchical structure.

short · 5 marksch-2-1

Even with NTP, physical-time synchronization is imperfect. Why might we not need physical time at all?

short · 5 marksch-2-1

Define logical time. What ordering rules does it implement?

short · 5 marksch-2-1

Differentiate between clock consistency and strong consistency.

short · 5 marksch-2-1

Define logical concurrency. How does it differ from physical concurrency?

short · 5 marksch-2-1

State the data structure and update rules of Lamport's scalar clock.

short · 5 marksch-2-1

Discuss two key properties of Lamport's scalar clock: monotonicity and total ordering.

short · 5 marksch-2-1

What is event counting in Lamport's scalar time? What does the height of an event mean?

short · 5 marksch-2-1

Show with an example that scalar clocks are not strongly consistent.

long · 10 marksch-2-1

Illustrate the 'out-of-order message arrival' problem with scalar clocks.

short · 5 marksch-2-1

Define vector time. Explain its data structure and update rules.

short · 5 marksch-2-1

How are two vector timestamps compared?

long · 10 marksch-2-1

Prove that vector clocks are strongly consistent.

long · 10 marksch-2-1

What is the chief limitation of vector clocks? What optimization technique addresses it?

short · 5 marksch-2-1

What does each component of a vector timestamp tell us when d = 1?

long · 10 marksch-2-1

Define matrix time. What does each entry of the matrix represent?

short · 5 marksch-2-1

State the update rules for matrix clocks.

long · 10 marksch-2-1

State the key additional property of matrix clocks (beyond vector clocks) and explain its practical use.

long · 10 marksch-3-1

Why is recording the global state of a distributed system non-trivial?

short · 5 marksch-3-1

Define a consistent global state. State the conditions C1 and C2 a global state must satisfy.

short · 5 marksch-3-1

What is a consistent cut in a space--time diagram?

long · 10 marksch-3-1

State the Chandy--Lamport algorithm for FIFO channels (marker sending rule and marker receiving rule).

short · 5 marksch-3-1

What is the termination condition and message complexity of the Chandy--Lamport algorithm?

long · 10 marksch-3-1

Why does the Chandy--Lamport algorithm not work for non-FIFO channels? Briefly explain the Lai--Yang algorithm that handles non-FIFO channels.

long · 10 marksch-3-1

Describe the Acharya--Badrinath snapshot algorithm for causal channels. Why does it not need to record channel state in the same way as Chandy--Lamport?

short · 5 marksch-3-1

Distinguish FIFO, non-FIFO, and causal message-delivery models.

long · 10 marksch-3-1

Illustrate with a numerical example why naively recording local states at different physical times can give wrong totals.

short · 5 marksch-5-1

Why is mutual exclusion harder in distributed systems than in centralized OS?

short · 5 marksch-5-1

List the three correctness requirements of a distributed mutual-exclusion algorithm.

short · 5 marksch-5-1

Define the four standard performance metrics for distributed mutual-exclusion algorithms.

long · 10 marksch-5-1

Describe Lamport's algorithm for distributed mutual exclusion. State its three rules.

short · 5 marksch-5-1

Why does Lamport's algorithm require FIFO channels? Why are REPLY messages required from every site, not just the one entering the CS?

short · 5 marksch-5-1

Give the message complexity, synchronization delay, and ordering property of Lamport's algorithm.

long · 10 marksch-5-1

Describe the Ricart--Agrawala algorithm. How does it improve on Lamport's algorithm?

long · 10 marksch-5-1

Give a brief correctness argument and the message complexity of Ricart--Agrawala.

long · 10 marksch-5-1

Explain the Roucairol--Carvalho optimization of Ricart--Agrawala.

long · 10 marksch-5-1

Describe Maekawa's algorithm. What are the conditions on the request sets (quorums)?

long · 10 marksch-5-1

Why is the simple version of Maekawa's algorithm deadlock-prone? Outline the additional messages used to avoid deadlock.

long · 10 marksch-5-1

Describe the Suzuki--Kasami algorithm. What does the token carry, and what state does each process keep?

short · 5 marksch-5-1

What are the synchronization delay and message complexity of Suzuki--Kasami?

long · 10 marksch-5-1

Describe Raymond's tree-based algorithm for mutual exclusion.

long · 10 marksch-5-1

Compare the five distributed mutual-exclusion algorithms covered (Lamport, Ricart--Agrawala, Maekawa, Suzuki--Kasami, Raymond) on message count and synchronization delay.

short · 5 marksch-6-1

What is a Wait-For Graph (WFG)? How does it characterize deadlock?

long · 10 marksch-6-1

List and describe the four resource-request models. For each, what is the necessary/sufficient condition for deadlock?

short · 5 marksch-6-1

Define a knot. Why does a knot indicate deadlock in the OR model, and why is a knot alone not sufficient to identify all deadlocked processes?

long · 10 marksch-6-1

List the three control organizations for distributed deadlock detection and give their main advantage and disadvantage.

long · 10 marksch-6-1

List the three handling strategies for deadlocks in distributed systems and why detection is favoured in practice.

long · 10 marksch-6-1

Describe the Ho--Ramamoorthy two-phase centralized deadlock-detection algorithm. Why two phases? What is the one-phase variant?

long · 10 marksch-6-1

Describe the Chandy--Misra--Haas distributed edge-chasing algorithm. What is in a probe and when is deadlock declared?

long · 10 marksch-6-1

Outline the Mitchell--Merritt algorithm for the single-resource model. What is the role of public and private labels?

long · 10 marksch-6-1

Briefly describe Chandy et al.'s diffusion-computation algorithm for OR-model deadlock detection.

short · 5 marksch-7-1

List typical applications of consensus in distributed systems.

short · 5 marksch-7-1

Differentiate between crash failure and Byzantine failure.

short · 5 marksch-7-1

State the three conditions of the Byzantine Agreement Problem.

short · 5 marksch-7-1

State the impossibility results and lower bounds for Byzantine Agreement.

long · 10 marksch-7-1

Describe the synchronous consensus algorithm for crash failures. Why does it need f + 1 rounds?

long · 10 marksch-7-1

Show that Byzantine Agreement is impossible for N = 3 and f = 1 (i.e., 1 faulty out of 3 generals).

long · 10 marksch-7-1

Describe the Lamport--Shostak--Pease (Oral Messages) algorithm for Byzantine Agreement.

long · 10 marksch-7-1

Describe the Phase King algorithm. Why does the existence of one non-malicious king among f + 1 phases suffice?

long · 10 marksch-8-1

State the ACID properties and briefly explain each in the context of distributed transactions.

short · 5 marksch-8-1

Why do we need a commit protocol, and what assumption does 2PC make about failures?

long · 10 marksch-8-1

Describe Phase 1 of 2PC (Obtaining a Decision) in detail.

short · 5 marksch-8-1

Describe Phase 2 of 2PC (Recording the Decision).

long · 10 marksch-8-1

How does 2PC handle the failure of a participating site (Sk)?

long · 10 marksch-8-1

How does 2PC handle the coordinator's failure? What is the 'blocking problem'?

short · 5 marksch-8-1

How does 2PC handle network partitions?

long · 10 marksch-8-1

Explain the Three-Phase Commit (3PC) protocol. How does it avoid the blocking problem of 2PC?

short · 5 marksch-9-1

What is consensus in Raft's context? What failure model does Raft assume?

short · 5 marksch-9-1

Outline the three core sub-problems Raft decomposes consensus into.

long · 10 marksch-9-1

Describe Raft's leader-election mechanism. How are split votes avoided?

long · 10 marksch-9-1

What is a term in Raft and how does it help detect stale leaders?

long · 10 marksch-9-1

Describe Raft's log-replication protocol (normal operation).

long · 10 marksch-9-1

What safety guarantees does Raft maintain to ensure correctness despite leader crashes?

long · 10 marksch-9-1

Why is Raft considered more understandable than Paxos?

short · 5 marksch-10-1

State the Cut Property and the Cycle Property of MSTs. Which one does GHS exploit?

long · 10 marksch-10-1

Prove the Cut Property: with distinct edge weights, the lightest edge crossing any cut belongs to the MST.

long · 10 marksch-10-1

What is a fragment in GHS? State the three combining rules (A, B, C).

long · 10 marksch-10-1

Describe how GHS finds the lowest-weight outgoing edge of a fragment using test/accept/reject messages.

long · 10 marksch-10-1

How does GHS send the connect message to merge fragments, and how does the algorithm terminate?

short · 5 marksch-10-1

Prove that the maximum level a node can have in a GHS-constructed MST of N nodes is log N.

long · 10 marksch-10-1

What are the three node states in GHS? What is the role of statusp[q]?

short · 5 marksch-11-1

What design assumptions about hardware and applications drive GFS?

long · 10 marksch-11-1

Describe the high-level GFS architecture. What entities exist?

long · 10 marksch-11-1

Walk through the steps a client takes to read a file in GFS.

long · 10 marksch-11-1

Describe the GFS write protocol, including the role of leases and the primary replica.

long · 10 marksch-11-1

Define and distinguish the four states of a file region after a mutation in GFS: consistent, defined, undefined, inconsistent.

long · 10 marksch-11-1

What can go wrong with concurrent writes/appends in GFS? Give specific failure modes.

long · 10 marksch-11-1

What is the role of leases in GFS, and what do they enforce?

long · 10 marksch-11-1

How does GFS handle replica placement, re-replication, and rebalancing?

long · 10 marksch-11-1

How does GFS handle garbage collection and stale replicas?

long · 10 marksch-11-1

Why is a single master not a bottleneck in GFS, despite being a single point of contact?

long · 10 marksch-11-1

How does GFS support snapshots? Explain copy-on-write.

long · 10 marksch-11-1

Summarise the key benefits and limitations of GFS.