>> Yes, it would make sense. The reason why we calculate an exponential >> average is that it is cheaper to compute, and works quite well in >> practice. The goal here is not to compute an accurate metric, it is to >> reliably choose the best route: the metric only needs to be accurate >> enough to ensure that the right route is being picked.
> I guess that how much that works in practice depends on many circumstances. > > For example, consider this case: a mobile device connected by wifi to > local AP, with VPNs to two endpoints, one local (< 1ms base latency), one > in different town (~10ms base latency), but the communication is subject > to wifi latency, which is noisy (mostly ~1ms, but in <5% cases there is > 100-1000ms spike). Then both exponencial running averages are random > variables with expected value shifted by 10 ms, but with big enough > variance than it may often come out in reverse. It's a little more complicated than that: we don't directly add the RTTs, we map the smoothed RTT to a a cost (the mapping is not linear), then add the resulting costs. As I've said: we've done a lot of tweaking to make it stable, but unfortunately I don't understand why it works as well as it does. Neither disagreeing nor agreeing with your suggestion: I willingly confess that I don't understand why our algorithm work as well as it does, all I'm able to do is test, somebody smarter will need to do the theoretical analysis. -- Juliusz _______________________________________________ Babel-users mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users
