Hi, Do we have a formula to calculate the converging
time (how many rounds that all the nodes receive a gossip message) for gossip
protocol?
I guess the Serf Convergence Simulator(https://www.serf.io/docs/internals/simulator.html) is based on some formulas, if so, can anyone guide me for these formulas or give some references?
I found a formula without any deducing process in the following link(http://www.infoq.com/cn/articles/principle-and-impleme-of-de-centering-system-in-serf) .
Based on it, I deduced a formula T= 2ln(N+1)/[k(1-p1)(1-p2)], where N is the total number of nodes and should be big enough, k is the fanout, p1 is the packet loss rate and p2 is the node failure rate.
Actually, I compared this formula with Serf Convergence Simulator and it seems that Serf Convergence Simulator has a similar formula like T= (2ln(N+1)+10)/[k(1-p1)(1-p2)];
I am not sure about my math and the formula. Can anyone give some guidelines or comments?
Thanks and Best Regards,
--
This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list.
GitHub Issues: https://github.com/hashicorp/serf/issues
IRC: #serfdom on Freenode
---
You received this message because you are subscribed to the Google Groups "Serf" group.
To unsubscribe from this group and stop receiving emails from it, send an email to serfdom+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/serfdom/b2908a3c-90f4-4059-b46a-1c3a0c38b722%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi, Armon, Thanks for your help.
According to your Simulator math, I
deduced a formula T= [2ln(N+1)+2ln(p/(1-p))/[k(1-p1)(1-p2)], where N is the
total number of nodes, k is the fanout, p1 is the packet loss rate, p2 is the
node failure rate and p=n/N is the Converge rate(n is the total number of the
nodes which have gotten the gossip).
If assume p=0.99, then T=[2ln(N+1)+9.19]/[k(1-p1)(1-p2)];
If aasume p=(N-1)/N, all(more thant N-1) nodes will get the gossip, then T=2ln(N*N-1);
Still, not very sure about my math and the formula:)
Moreover, according to the memberlist source code, as my understanding, each node will send a gossip for at most RetransmitMult*Log10(N+1)=[RetransmitMult*ln(N+1)/ln10] times. Here lnx means the natural logarithm of x.
I wonder how do you decide to choose RetransmitMult?
Thanks and Best Regards,
在 2017年8月5日星期六 UTC+8上午12:24:03,Armon Dadgar写道:To view this discussion on the web visit https://groups.google.com/d/msgid/serfdom/70857773-e645-4d89-8511-dc2844e6d9d8%40googlegroups.com.