qosmon code question

Discuss the technical details of Gargoyle and ongoing development

Moderator: Moderators

Post Reply
Grey
Posts: 8
Joined: Wed Dec 12, 2012 7:16 pm

qosmon code question

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

pbix
Developer
Posts: 1373
Joined: Fri Aug 21, 2009 5:09 pm

Re: qosmon code question

Post 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.
Linksys WRT1900ACv2
Netgear WNDR3700v2
TP Link 1043ND v3
TP-Link TL-WDR3600 v1
Buffalo WZR-HP-G300NH2
WRT54G-TM

Grey
Posts: 8
Joined: Wed Dec 12, 2012 7:16 pm

Re: qosmon code question

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

pbix
Developer
Posts: 1373
Joined: Fri Aug 21, 2009 5:09 pm

Re: qosmon code question

Post 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.
Linksys WRT1900ACv2
Netgear WNDR3700v2
TP Link 1043ND v3
TP-Link TL-WDR3600 v1
Buffalo WZR-HP-G300NH2
WRT54G-TM

Post Reply