Fantastic draft paper out of Stanford, "In Search of an Understandable Consensus Algorithm", has an excellent take on building practical distributed systems with a focus on understandability, practicality, and simplicity (which is something it would be nice to see more academic papers focus on).

Starting by humbly acknowledging the issues with complexity around Paxos, including the fact that a lot of engineering projects that start implementing Paxos actually implement something else by the end, they try to come up with a simpler, less error prone, easier-to-implement algorithm for use in distributed systems.

From the paper: "Unfortunately, Paxos is quite difficult to understand, in spite of numerous attempts to make it more approachable. Furthermore, its architecture is unsuitable for building practical systems, requiring complex changes to create an efficient and complete solution. As a result, both system builders and students struggle with Paxos. After struggling with Paxos ourselves, we set out to find a new consensus algorithm that could provide a better foundation for system building and education. Our approach was unusual in that our primary goal was understandability: could we define a consensus algorithm and describe it in a way that is significantly easier to learn than Paxos, and that facilitates the development of intuitions that are essential for system builders? It was important not just for the algorithm to work, but for it to be obvious why it works. In addition, the algorithm needed to be complete enough to cover all the major issues required for an implementation."
Shared publiclyView activity