I would appreciate knowledgeable insights about this.
I would appreciate knowledgeable insights about this.
The title of his talk not withstanding, lampport's turing award was not for Paxos: https://amturing.acm.org/award_winners/lamport_1205376.cfm
rather, he pioneered many of the fundamental techniques that underlie both viewstamped replication and Paxos (and a boatload of other things; it was a very well-deserved award!) But Barbara invented the actual consistent replication algorithm first.
and yes, raft is in many ways a restatement of viewstamped replication. The thing that makes both of them a better pedagogical basis is that they present the common case of having a working master direct replication, and then handle the failure case explicitly. It ends up being exactly the same thing that multi paxos does, but for most people, it ends up being a much more intuitive way of thinking about the system and algorithm.
Or, at least that's been my experience in teaching it for 15 years.
> But Barbara invented the actual consistent replication algorithm
Do you know anything about Brian Oki's subsequent career? I was curious as to what he did after his VSR thesis and found a '93 paper of his (The Information Bus [1]). Interesting to see again he was a bit ahead of his time, this time anticipating 'Eventual Consistency'.
I am baffled that a serious effort at producing papers that are understandable and implementable is dismissed as a “social phenomenon”. Deliberately obscure papers are bad, sloppy science, not a clever signaling mechanism.
As pointed out elsewhere in the conversation and indeed in revised editions of the Paxos paper, it does not even break new ground and is equivalent to the earlier view management protocol.
I feel that I understand Raft and not Paxos, although currently that's simply because I haven't yet tried to understand Paxos. But the reason I am still interested in Paxos is that looking at Raft, it still seems like Raft has a bottleneck at the leader. Essentially, it looks like what makes this distributed consensus look simple is that only leader elections are actually distributed: the rest of the algorithm isn't distributed at all. When I get around to reading about Paxos I'm hoping it will be different.
BTW Paxos also has a leader - this is what makes these protocols efficient. They need only the linear number of messages instead of the quadratic "everybody talks to everybody" design.
That's the funny part of Paxos. Paxos is specifically sold as a multi-proposer protocol. The most subtle and hard to understand part of the protocol is the clever 2 phase proposal election with value inheritance. But it's all pointless because in order to make the system work you need a single coordinator you elect using timeouts or reliable message protocols.
Okay, but again, this means that the leader is the bottleneck. In that case, I'd want the leader to be on beefier hardware than the other machines, and to not serve up any read requests, so all of its resources are devoted to leading. In order to accommodate this, you'd want to elect leaders from a pool of leaders which have the beefier hardware. And at that point, since you're only talking to the leaders when you write, rather than talk through to the leaders through the extra latency of the followers, just write to the leaders directly. And then at that point this looks suspiciously like the leaders are a sharded database and the followers are caches. Am I missing something?
If I was cynical, I might guess that the purpose of Paxos these days is to generate expenses and technical failures for Google's competitors.
https://www.yodaiken.com/2018/07/16/practical-uses-of-synchr...
Viewstamps depends, implicitly, on timeouts. You send a message a number of times and if you don't get a response, you abort. In the completely asynchronous world, there is no way to do that.