Skip to main content

CSEP 552 Reading 2

Due Monday, November 9 at 11:59pm.

In this reading we look at consensus in production. What does it take to run a protocol like Paxos? How do such "fault tolerant" systems fail anyway?

Choose one of the papers below, read it, and write a response. See the readings page for more details on your response.

  • Chandra, Griesemer, and Redstone. Paxos Made Live: An Engineering Perspective.

    • This paper describes what Google had to add to Paxos to build the replicated database underneath Chubby.
    • Questions to consider while reading: which of the gaps between the Paxos paper and the running system also show up in Lab 3? How did they test it? What would you do differently?
    • Local copy (UW login required).
  • Alquraan, Takruri, Alfatafta, and Al-Kiswany. An Analysis of Network-Partitioning Failures in Cloud Systems.

    • This paper studies 136 failures caused by network partitions in 25 widely used systems, including several that run Paxos or Raft.
    • Which of the findings surprised you? Which of the failure modes could happen in your Lab 3 implementation? Would the dslabs tests catch these problems?
    • Local copy (UW login required).
  • Bronson, Aghayev, Charapko, and Zhu. Metastable Failures in Distributed Systems.

    • This short paper describes a class of failures where a temporary trigger pushes a system into a bad state that then sustains itself, for example through retry storms.
    • Have you seen a metastable failure? What metastable failures are possible in a Paxos-like system? How should we change the way we design systems to avoid this class of problems?
    • Local copy (UW login required).

Submit

Submit your response on Gradescope by Monday, November 9 at 11:59pm.