[Cerowrt-devel] Ubiquiti QOS

Mikael Abrahamsson swmike at swm.pp.se
Mon May 26 09:02:13 EDT 2014

On Mon, 26 May 2014, dpreed at reed.com wrote:

> Len Kleinrock and his student proved that the "optimal" state for 
> throughput in the internet is the 1-2 buffer case.  It's easy to think 
> this through...

Yes, but how do we achieve it?

If you signal congestion with very small buffer depth used, TCP will back 
off and you will drain the buffer, meaning the link will be underutilized. 
This is great from an interactive point of view, but not so much for 
keeping the link used actually at capacity without incurring excessive 
buffering latency?

So you would like to see ECN drop=1 markings on all packets as soon as 
they're the 3rd (or deeper) packet in the buffer? Or if the packet doesn't 
have ECN markings, you'd just drop it?

I doubt this will create a beneficial system for the end user, sounds like 
it focuses too much on interactivity and too little on throughput.

I just don't buy your statement that adding buffers won't increase 
throughput. If you're optimizing for throughput, then you let a single 
session use 1 second of buffering, meaning you know for a fact that the 
link is always going to be used at 100%. This totally kills interactivity, 
but it's still more throughput efficient than having 2 packet deep 
buffers, where you're very likely to drain these two packets and then have 
no packets in the buffer, meaning the link will be underutilized.

So, I'd agree that a lot of the time you need very little buffers, but 
stating you need a buffer of 2 packets deep regardless of speed, well, I 
don't see how that would work.

Mikael Abrahamsson    email: swmike at swm.pp.se

More information about the Cerowrt-devel mailing list