Live data from Hacker News

An implementation of the Speculative Paxos protocol

github.com

1–10 of 16 posts

Re: An implementation of the Speculative Paxos protocol

#2
Use Raft. Rather than speculating, learn, do, and guarantee you're doing the correct thing by electing once, distributing, achieving quorum and continuing. This is spitshine on a turd - PAXOS is a great protocol, but not a speedy one. It's an important building block, not something to be running constantly.

Re: An implementation of the Speculative Paxos protocol

#4

Use Raft. Rather than speculating, learn, do, and guarantee you're doing the correct thing by electing once, distributing, achieving quorum and continuing. This is spitshine on a turd - PAXOS is a great protocol, but not a speedy one. It's an important building block, not something to be running constantly.

This implementation is an optimization of leader-based protocols like Raft. It removes the leader from the critical path using SDN.

Re: An implementation of the Speculative Paxos protocol

#5

Use Raft. Rather than speculating, learn, do, and guarantee you're doing the correct thing by electing once, distributing, achieving quorum and continuing. This is spitshine on a turd - PAXOS is a great protocol, but not a speedy one. It's an important building block, not something to be running constantly.

Raft is more-or-less equivalent to Paxos. Its protocol is more detailed but no more efficient than the core, original Paxos protocol.

Re: An implementation of the Speculative Paxos protocol

#6

Use Raft. Rather than speculating, learn, do, and guarantee you're doing the correct thing by electing once, distributing, achieving quorum and continuing. This is spitshine on a turd - PAXOS is a great protocol, but not a speedy one. It's an important building block, not something to be running constantly.

More appropriately, don't implement these incredibly difficult protocols yourself - unless it's an exercise. Use one of the well maintained, widely used implementations.

Re: An implementation of the Speculative Paxos protocol

#7
Le sigh, multicast. A great example where software engineering crosses over to the physical realms.

When a router receives a packet destined for a multicast group and that router has multiple destinations for that pocket, it must store that packet in memory until the last interface associated with that group can be written to. On networks which aren't heavily used that's not problem. Once you start utiziling your network however, the routers will be busy storing packets and their sensible-for-simple-cases buffers will become overwhelmed and you've got a multicast storm on your hands.

Great on paper, even works in test setups. Call me when you're running your kit to the limits, and I'll let you know you have a multicast problem.

Re: An implementation of the Speculative Paxos protocol

#8
post #7

Le sigh, multicast. A great example where software engineering crosses over to the physical realms. When a router receives a packet destined for a multicast group and that router has multiple destinations for that pocket, it must store that packet in memory until the last interface associated with that group can be written to. On networks which aren't heavily used that's not problem. Once you start utiziling your net…

Wasn't the multicast storm issue related to the fact that most hardware implementations have limited-size Bloom filters that are used to manage subscriptions, and once they're full, they deliver every packet to everybody? Or is that an additional issue?

Re: An implementation of the Speculative Paxos protocol

#9
post #6

Use Raft. Rather than speculating, learn, do, and guarantee you're doing the correct thing by electing once, distributing, achieving quorum and continuing. This is spitshine on a turd - PAXOS is a great protocol, but not a speedy one. It's an important building block, not something to be running constantly.

More appropriately, don't implement these incredibly difficult protocols yourself - unless it's an exercise. Use one of the well maintained, widely used implementations.

If you took edX's Reliable Distributed Algorithms 1, you'd have implemented it in a few lines in Scala.

Re: An implementation of the Speculative Paxos protocol

#10

Use Raft. Rather than speculating, learn, do, and guarantee you're doing the correct thing by electing once, distributing, achieving quorum and continuing. This is spitshine on a turd - PAXOS is a great protocol, but not a speedy one. It's an important building block, not something to be running constantly.

raft, view stamp replication, full active - active many writable nodes all have different tradeoffs in terms of the overhead. Basically it comes down to what is being replicated.
Post reply on HN