Consistency in Distributed Systems

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.

Lecture notes can be found on the reading group website. The design and styling of the site was stolen heavily from the very slick redbook.io.

TODO