[Bloat] I feel an urge to update this

David Lang david at lang.hm
Thu Sep 25 03:35:27 EDT 2014


On Thu, 25 Sep 2014, Mikael Abrahamsson wrote:

> On Wed, 24 Sep 2014, David Lang wrote:
>
>> The problem is that you don't know what the connectivity is going to be. 
>> (unless you are connecting to the same IP as an existing connection). Your 
>> first few hops are fairly predictable, but after that you have no idea if 
>> you are going to be connecting to a server on a low bandwidth link, one 
>> behind a very congested router, or one with better connectivity than you 
>> have.
>
> I am not saying that we *know*, but we might have a pretty good idea. Better 
> than to do the same thing regardless of circumstances. If I know my home 
> connection is 250/50 megabit/s, then there is no reason to treat it like a 
> 0.1 megabit/s connection or a 10GE connection.

well, even if you have a 10GE connection, you don't know how heavily it's going 
to be used.

>> using fq_codel on every bottleneck link will make TCP work pretty well 
>> across that entire range of connectivity
>
> Well, that'll fix one thing, but for instance the IW4 and IW10 debate. I'm 
> sure IW10 works *great* on a 100/100 megabit/s connection when the server is 
> 10GE connected, but it's less than optimal for a 0.1 megabit/s connection.
>
> So why can't the client hint the server that, hmm, I seem to be on a fairly 
> slow connection here, don't send me too much at once? Or it can hint that 
> hey, it seems most times I get pretty large TCP window sizes, so it's ok to 
> start with IW10?

what happens if the wrong hint is given? (either accidently or maliciously)

The approach of starting slow and ramping up works well, except in the case 
where you have lots of very short connections. So I don't see a benefit of 
trying to hint slowness. There may be some value in hinting for faster ramp-ups, 
but what will that do to fairness with existing systems?

My knee-jerk reaction is that this adds a lot of new failure modes without a 
significant benefit.

But we have a number of companies who want to have things downloaded and used as 
quickly as possible, so if this sort of thing really does help, then I would 
expect that they would be experimenting with tweaking the TCP stack to ramp up 
faster (although, you would also be expecting outcrys about "how dare 
$bigcompany ignore the TCP defaults and be more agressive, that doesn't compete 
fairly with $normaltraffic)

David Lang



More information about the Bloat mailing list