Re:Bizur: A Key-Value Consensus Algorithm for Scalable File-...
by ezrahoch on Thursday March 09, 2017 @02:42AM
(#13827759)
Single decree is a write-once algorithm. You can't use the same instance again, for another update of the associated value.
So just replacing bizur' should "register" implementation with a single decree paxos won't be sufficient. You'll need to do something more elaborate (creating more instances as you go along).
This kind of instance management isn't required in bizur.
I'm not sure what's the overhead off all that, w.r.t. memory foot print. Since this overhead is paid for each bucket, it might accumulate to quite a bit.
Re:Bizur: A Key-Value Consensus Algorithm for Scalable File-...
by rystsov on Thursday March 09, 2017 @03:15AM
(#13827888)
Not really :) Please follow the links. "Paxos Made Simple" describes the write once variant, but it's possible to choose a new value for the next ballot cycles to make it rewritable.
Proof of the algorithm: http://rystsov.info/2015/09/16/how-paxos-works.html
Moreover, I built a system on top of it and extensively tested it with fault injections: https://github.com/gryadka/js.
It seems that GoshawkDB[1] uses the similar idea, Treode[2] used it too.
It's half true. Paxos is an ambiguous term. It includes Multi-Paxos and Single-Decree Paxos (aka Synod). The first one is a log based algorithm, while the second is a just a register. So your critic is valid only for the first part of the Paxos family.
Actually, Bizur is very similar (almost indistinguishable) to Single Decree Paxos - just compare it with the algorithm described in the video [1] by Heidi Howard or in my post "In search of a simple consensus algorithm" [2]
[1] https://www.youtube.com/watch?v=s8JqcZtvnsM
[2] http://rystsov.info/2017/02/15/simple-consensus.html