Reputation: 9413
Paxos algorithm can tolerate up to F failures when using 2F + 1 processors. As far as I understand, this algorithm works only with fixed number of processors. Is it possible to use this algorithm in dynamic environment, where nodes can be added and removed dynamicaly?
Upvotes: 10
Views: 1130
Reputation: 1928
Yes. Gryadka is a JavaScript Paxos implementation supporting dynamic reconfiguration in 500 lines. It is based on ideas from Vertical Paxos and Raft.
Upvotes: -1
Reputation: 4631
The Stoppable Paxos paper is a bit easier to understand and permits safe reconfiguration (addition and subtraction of nodes): http://research.microsoft.com/apps/pubs/default.aspx?id=101826
Upvotes: 3
Reputation: 15141
Yes it is possible, there are even some papers on it. From what I remember I read a bit on how to do it was described here http://research.microsoft.com/pubs/64634/web-dsn-submission.pdf Hope that's what you were asking about. Look for "dynamic paxos".
Upvotes: 5
Reputation: 21086
If you have an absolute maximum number of nodes then it should still work. But you'd be left with a situation where your dynamic node count is 6 your maximum is 11, so if 1 node fails you're out of luck (the non-existent nodes are fails by default). If your removing and adding nodes you could restore the state of a node you removed to a node you add to avoid it being counted as a failure.
Upvotes: 1