Distributed Systems
CS3.401Prof. Kishore Kothapalli•Monsoon 2025-26•4 credits
Answer Structure Templates
University exams reward formatting. Use these.
Algorithm trace (DME / snapshot / consensus)
- State assumptions (FIFO? synchronous? failure model? N? f?).
- List per-site data structures.
- Number the rules (Request / Receive / Enter / Release).
- Show the message timeline with timestamps on a diagram.
- State termination condition.
- Quote complexity (msgs, rounds, sync delay).
Compare-and-contrast (clocks / DME / 2PC vs 3PC / OM vs Phase King)
- One-line shared definition.
- Side-by-side table (≥ 5 rows: msgs, rounds, assumption, channel, failure model).
- State the failure mode of the weaker option with a concrete example.
- Conclude with 'when to use which'.
Impossibility / lower-bound proof (Byzantine, FLP)
- State the problem precisely (synchronous? async? f bound?).
- Set up the adversarial scenario (constructive: faulty source sends conflicting values).
- Derive the contradiction (loyal nodes can't distinguish two scenarios).
- Quote the bound (n ≥ 3f+1, f+1 rounds).
- Cite the seminal result (FLP, Lamport-Shostak-Pease).
Correctness argument (safety / liveness)
- State safety property (at most one in CS).
- State liveness property (every requester eventually enters).
- Invariant-based safety argument.
- Bounded-pending-requests liveness argument.
- Note fairness (FIFO timestamp order).
Architecture case-study (GFS, Spanner, Raft, Dynamo)
- Workload assumptions (large files? append-mostly? globally consistent?).
- Three-pillar architecture diagram (control plane, data plane, client).
- Failure model + recovery mechanism.
- Consistency story (defined / eventually consistent / linearizable).
- Trade-off summary against alternatives.
Numerical (msg count / round count / chunk arithmetic)
- List N, f, K, etc.
- Write the formula symbolically.
- Substitute numbers.
- Show intermediate arithmetic.
- Box final answer with units.