开发者

Using Paxos in dynamic environment

Paxos algorithm can tolerate up to F failures when using 2F + 1 processors. As far as I understand, this a开发者_JAVA百科lgorithm 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?


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".


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


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.


Yes. Gryadka is a JavaScript Paxos implementation supporting dynamic reconfiguration in 500 lines. It is based on ideas from Vertical Paxos and Raft.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜