Consistency in Distributed Systems
Soda 310; 5:30pm-6:30pm; 2/3, 2/16, 3/2, 3/16, 4/6, 4/20
Systems should be correct. Systems should be fast. Unfortunately, when it comes to distributed systems, we can't always have both. In this reading group, we'll survey various consistency models and see why strong consistency leads to unavailability while weak consistency leads to headaches. Then, we'll see how to implement weak consistency with clever data structures and strong consistency with clever algorithms. Finally, we'll conclude with some recent research showing that for some applications, weak consistency ain't so weak after all.
  1. Replicated Data Consistency Explained Through Baseball
  2. The CAP Theorem
  3. Conflict-Free Replicated Data Types
  4. Chain Replication for Supporting High Throughput and Availability
  5. Coordination Avoidance in Database Systems