The whole section on "bin-packing Paxos/Raft is more efficient" is strange, because people don't generally bin-pack Paxos/Raft—The bin-packing orchestrators are built off of Paxos/Raft!
Scalable but Wasteful, or why fast replication protocols are slow
11–20 of 26 posts
Re: Scalable but Wasteful, or why fast replication protocols are slow
#12Honestly I think the answer is simpler: People don't need better algorithms. Paxos and Raft are generally used to build service discovery and node coordination, these are not demanding workloads and overwhelmingly read-heavy. Even the largest deployments can probably be serviced by a set of modestly-sized VMs. Paxos and Raft are well-understood algorithms with a choice of battle-tested implementations, why would anyo…
Your opinions are very specific to using consensus in orchestrators and control planes but the overwhelming majority of writes and reads to a Paxos or Raft cluster are in much higher throughput and latency sensitive systems such as databases.
Indeed we don't need better consensus algorithms. We need to closely examine our problems and step down to weaker consistency models and protocols that aren't worse to operate than Raft/Paxos or harder for developers to program against where ever possible.
Re: Scalable but Wasteful, or why fast replication protocols are slow
#13The hypothesis in the article could be correct (that industry is not adopting new academic innovations because they fail in the real world). Based on my experience in this industry, though, it could just be that there isn't a super strong connection between academia and the people implementing these kinds of systems. I've had many conversations with my academically-minded friends where they're astonished that we have…
It seems these things usually get implemented when Google, Microsoft, Twitter, Facebook (big web company x) hit the problem and they each develop their own optimized solution before slowly open sourcing and products converge and mature to the point it's practical for other companies to adopt (I think container orchestration is a good example where Google, Facebook, Apple(?) each had container solutions long before K8s started exploding)
Re: Scalable but Wasteful, or why fast replication protocols are slow
#14Earlier quoted context omitted.
A leaderless protocol is more complex and requires greater IO and CPU resources per unit of work. This is the hidden cost. The question is if the cost is reasonably offset by higher performance (throughput) offered by leaderless consensus. OP is arguing that the benefit is not deemed worth the cost outside of academia and this is why e.g EPaxos is not adopted.
But doesn't a leaderless protocol also give you more resilience against failures? Or, in other words, can it be that the higher cost buys you not better throughput but faster reconciliation when connectivity is poor? Not in a data center but on a mobile network?
Re: Scalable but Wasteful, or why fast replication protocols are slow
#15> The protocol presents a leader-less solution, where any node can become an opportunistic coordinator for an operation. Does leader = master here? My first reaction is that this is a multi-master system but I can't quite unpack "opportunistic coordinator".
Re: Scalable but Wasteful, or why fast replication protocols are slow
#16Earlier quoted context omitted.
A leaderless protocol is more complex and requires greater IO and CPU resources per unit of work. This is the hidden cost. The question is if the cost is reasonably offset by higher performance (throughput) offered by leaderless consensus. OP is arguing that the benefit is not deemed worth the cost outside of academia and this is why e.g EPaxos is not adopted.
But doesn't a leaderless protocol also give you more resilience against failures? Or, in other words, can it be that the higher cost buys you not better throughput but faster reconciliation when connectivity is poor? Not in a data center but on a mobile network?
Re: Scalable but Wasteful, or why fast replication protocols are slow
#17Earlier quoted context omitted.
A leaderless protocol is more complex and requires greater IO and CPU resources per unit of work. This is the hidden cost. The question is if the cost is reasonably offset by higher performance (throughput) offered by leaderless consensus. OP is arguing that the benefit is not deemed worth the cost outside of academia and this is why e.g EPaxos is not adopted.
But doesn't a leaderless protocol also give you more resilience against failures? Or, in other words, can it be that the higher cost buys you not better throughput but faster reconciliation when connectivity is poor? Not in a data center but on a mobile network?
Re: Scalable but Wasteful, or why fast replication protocols are slow
#18Honestly I think the answer is simpler: People don't need better algorithms. Paxos and Raft are generally used to build service discovery and node coordination, these are not demanding workloads and overwhelmingly read-heavy. Even the largest deployments can probably be serviced by a set of modestly-sized VMs. Paxos and Raft are well-understood algorithms with a choice of battle-tested implementations, why would anyo…
People would choose different because operating Raft/Paxos clusters at scale isn't fun. Also, scaling reads is the hard part! At this point the trade offs are pretty well known: you either send all reads to the leader and limit the leader's overall throughput or you pay the cost of reading from a majority. Your opinions are very specific to using consensus in orchestrators and control planes but the overwhelming majo…
Re: Scalable but Wasteful, or why fast replication protocols are slow
#19> The protocol presents a leader-less solution, where any node can become an opportunistic coordinator for an operation. Does leader = master here? My first reaction is that this is a multi-master system but I can't quite unpack "opportunistic coordinator".
For MultiPaxos the leader is sticky to avoid additional round-trips for each transaction. Basically until a configurable timeout all transactions are attempted at the last node to lead an accepted transaction, and only if that times out or fails is a new leader of a transaction proposed.
So this is different from multi-master in that one node is preferred until it's not, as opposed to any node being able to accept writes at any time.
Re: Scalable but Wasteful, or why fast replication protocols are slow
#20The hypothesis in the article could be correct (that industry is not adopting new academic innovations because they fail in the real world). Based on my experience in this industry, though, it could just be that there isn't a super strong connection between academia and the people implementing these kinds of systems. I've had many conversations with my academically-minded friends where they're astonished that we have…
Where IS all this coming from? Why is it acceptable to pull out a few random numbers out of our ass and conclude that it's always best to buy more hardware?
I know Google literally invented HTTP/2 and HTTP/3 to shave a few % off their hardware costs. And they had to not only implement this in Chrome and Google.com but to make it a world-wide standard. So surely they must be the idiots putting top-tier engineers for 6 months (or more) on such optimization efforts, instead of spending more on hardware? I don't know.