As software developers caught up in the minutiae of day to day development we often lose sight of some of the cutting edge research in our field. I have been doing a paper tour over the last few months reading key papers in the history of computer science and new ones as well, here’s a list:
-
Paxos vs Raft: Have we reached consensus on distributed consensus? This is a great paper if you are familiar with both of the Paxos and Raft algorithms. It breaks down some of the classic differences between the two, and ultimately, highlights how they aren’t that different at the end of the day.
-
Chain Replication for Supporting High Throughput and Availability A really interesting paper. This devises a new theory of how to replicate information across large scale storage systems.
-
The Byzantine generals Problem A classic paper that needs no introduction.
-
Calvin: Fast Distributed Transactions for Partitioned Database Systems This paper is the basis for a new database system “FaunaDB”. It’s a great paper and I would love to experiment with FaunaDB after reading it.
-
Bolt-on Causal Consistency A nice introduction to the core ideas behind causal consistency. Although this isn’t a consistency model that developers widely use this paper introduces some of the core benefits.