Jim Forster’s Post

View profile for Jim Forster, graphic

General Partner at Connectivity Capital

During yesterday's LibreQoS APNIC webinar, I posed the question: won't more bandwidth solve these problems? As Herbert Wolverson said, yes, more bandwidth is good, but, still these problems remain if queueing is done incorrectly. Here's my take on why bandwidth alone is not as good as bandwidth + good queueing policies: Generally it was believed that 'data is important, so don't throw it away; hang on to it and send it later'. In practice, this has proven to be suboptimal as two issues may emerge: 1) latency increases for some flows due to heavy demand from other flows using the same bottleneck link, 2) even a single flow can have excessive latency due to aspects of typical TCP behavior (referred to bufferbloat) when the buffers grew large enough that the data being buffered was retransmitted anyway. It turns out that not all data is equally important. Active Queue Management is the art of deciding priorities, both in deciding what data to throw away, but also in allowing some later arriving data to be transmitted ahead of data in another connection that arrived before it. These problems have been studied, and good solutions have been found by using certain queueing policies in routers and switches, referred to as “fq_codel’ and “cake”. These track the different flows not by classifying the data, but by watching the behavior. Flows that send relatively little data (DNS lookups), or at a measured pace (video chat) have priority over flows that send a lot of data as quickly as possible (App and System updates, Video and ISO downloads).

Curious to your thoughts about using packet drops as a transport layer control loop vs ECN CE bits. Wi-Fi can have PER unrelated to queue drops but the transport won't know the difference. It seems like ECN could be very helpful too.

Frantisek Borsik

"If you do not take risks for your ideas you are nothing. Nothing." N.N.T. | #LibreQoS & #bufferbloat :-) PS: Bandwidth is a lie!

3w

Thanks, Jim. For anyone interested to look into this topic, this would be the place to start, created by Dave Taht: https://www.bufferbloat.net/projects/bloat/wiki/What_can_I_do_about_Bufferbloat/

See more comments

To view or add a comment, sign in

Explore topics