Page 1 of 1
qosmon code question
Posted: Wed Dec 12, 2012 7:37 pm
by Grey
I've been looking through the code in gargoyle.
I'm curious what the purpose of this was supposed to be:
alpha = (period*1000. / (period*4 + period));
My guess is to make the filtering time on pings configurable. Unfortunately it mathematically reduces to 200 so it's just a long way of making a constant.
Would making this setting make any difference to the ACC? I'm guessing it would just make it react quicker or slower which might be desirable.
Re: qosmon code question
Posted: Wed Dec 12, 2012 8:02 pm
by pbix
In past versions of qosmon the filter time constant was fixed at a constant value (in seconds) and Alpha then varied with the ping rate. In more recent versions I made the time constant as fast as could be supported given the ping rate.
Its an interesting artifact that the minimum time constant leads to a constant alpha as you point out.
But I do not understand what you are asking. The value is calculated at 200 as you noted. It is in my opinion the yields the fastest operation that can be made. Slower is not desirable since we want to unclog the pipe as fast as possible to restore our latency to sanity.
Re: qosmon code question
Posted: Fri Dec 14, 2012 9:43 pm
by Grey
My internet connection is actually a wireless link and so it's subject to atmospheric conditions. About 1/2 mile from me to their equipment.
On a good day I can see 5mbit down/ 3mbit up. On a really rainy day I've seen 2.5 mbit down/ 700kbit up.
It's not as bad as wifi as they are using high gain antennas but certainly not the same class as cable.
What I'm seeing is that sometimes the ACC will react and knock the download quite a bit. Then takes quite awhile to come back up. I'm just trying to figure out how to deal with it. Currently I've just set the ping to an absurd value that means I've lost total control of the link, 500ms.
It would also be great if the ACC could recognize upload and download loads. Other day I had the web page up and suddenly saw ACC dropping speed but the load wasn't all that high. Apparently my wife was doing a huge upload. Guess the upload was higher than the link at that point or something but ping times had spiked up. Basically ACC was working overtime but was punishing the wrong part of the link.
Maybe I'll get around to doing some tinkering and testing over the holidays.
Coming from Tomato-USB this is quite a bit better. Just takes some getting used to the differences.
Re: qosmon code question
Posted: Sat Dec 15, 2012 11:59 am
by pbix
In my opinion it is not possible to determine if the congestion is on the upload or the download link using the qosmon technique. So as a standard Gargoyle assumes the congestion is on the download link and as you noted does not punish the upload. This is because for most users this will be the case.
Now your case is different and it might be better to punish both upload and download equally. The only thing you can do now is to further cap your upload link speed to lower the probability that that direction would come into congestion.
This would be possible to do but not implemented now. If you want to experiment that might be the way to go.