Distributed consensus is the problem of how to reach decisions in asynchronous and unreliable distributed systems. The two most widely known algorithms are: Paxos, the traditional yet poorly understood solution; and Raft, the newcomer which democratised the understanding of distributed consensus. Raft is one of the most influential papers of this decade in distributed systems [...]
My talk titled "Liberating Distributed Consensus" from last year's Reactive Summit is now available on youtube. Abstract: The ability to reach consensus between hosts, whether for addressing, primary election, locking, or coordination, is a fundamental necessity of modern distributed systems. The Paxos algorithm is at the heart of how we achieve distributed consensus today and [...]
I am very excited to announce that I have accepted a 3-year position as the Gott Research Fellow in Computer Science at the beautiful college of Trinity Hall at Cambridge University.
Did you know that majority agreement isn’t required by Paxos? In fact, most of the time, the sets of nodes required to participate in agreement (known as quorums) do not even need to intersect with each other. This is the observation which is made, proven and realised in our latest paper draft, Flexible Paxos: Quorum [...]
I'm pleased to announce that I'll be speaking at OSCON and Code Mesh in London this winter. Having heard great things about both events and looking at the lineup, I am very much looking forward to it. Drop me a line if your around in London during either event. Title: Distributed Consensus: Making Impossible Possible Abstract: In [...]
The following is a paper notes for "S-Paxos: Offloading the Leader for High Throughput State Machine Replication". This paper was recommended to me as a example of high-throughput consensus, achieved by offloading responsibilities from the leader. The paper starts by demonstrates that JPaxos is throughput limited by leader CPU, peaking at 70 kreqs/sec, where as [...]
Practical Byzantine Fault Tolerance (PBFT) is the foundational paper in Byzantine consensus algorithm. Typically, distributed consensus algorithms assume nodes may fail (and possible recovery), but BFT extends this to tolerate nodes acting arbitrarily. Assumptions BPFT makes strong assumption about these arbitrary failures. Notability that at most f failures will occur in a system of 3f+1 [...]
The videos of my talk and interview at this year's J on the beach are now live and embedded below.
The Democracy of computer collaboration, PAXOS is a method for ensuring networked computers reach agreement. Heidi Howard of the University of Cambridge Computer Laboratory explains.
I have seen the error of my (programming) ways. Let me explain… To me, programming in OCaml is like trying to build a house from just breeze blocks. It takes a long time to build even a simple shed. However. when its done, its really quite solid. To me, programming in Go is like building [...]