[Codel] fq_codel : interval servo

Jim Gettys jg at freedesktop.org
Fri Aug 31 13:15:47 EDT 2012

On 08/31/2012 09:49 AM, Jonathan Morton wrote:
> On 31 Aug, 2012, at 7:40 pm, Jim Gettys wrote:
>> On 08/31/2012 08:53 AM, Rick Jones wrote:
>>> On 08/30/2012 11:55 PM, Eric Dumazet wrote:
>>>> On locally generated TCP traffic (host), we can override the 100 ms
>>>> interval value using the more accurate RTT estimation maintained by TCP
>>>> stack (tp->srtt)
>>>> Datacenter workload benefits using shorter feedback (say if RTT is below
>>>> 1 ms, we can react 100 times faster to a congestion)
>>>> Idea from Yuchung Cheng.
>>> Mileage varies of course, but what are the odds of a datacenter's
>>> end-system's NIC(s) being the bottleneck point?
>> Ergo my comment about Ethernet flow control finally being possibly more
>> help than hurt; clearly if the bottleneck is kept in the sending host
>> more of the time, it would help.
>> I certainly don't know how often the end-system's NIC's are the
>> bottleneck today without flow control; maybe a datacenter type might
>> have insight into that.
> Consider a fileserver with ganged 10GE NICs serving an office full of GigE workstations.
> At 9am on Monday, everyone arrives and switches on their workstation, which (because the org has made them diskless) causes pretty much the same set of data to be sent to each in rapid succession.  The fileserver satisfies all but the first of these from cache, so it can saturate all of it's NICs in theory.  In that case a queue should exist even if there are no downstream bottlenecks.
> Alternatively, one floor at a time boots up at once - say the call-centre starts up at 7am, the developers stumble in at 10am, and the management types wander in at 11:30.  :-)  Then the bottleneck is the single 10GE link to each floor, rather than the fileserver's own NICs.
> That's all theoretical, of course - I've never built a datacentre network so I don't know how it's done in practice.
>  - Jonathan Morton
BTW, there is one very common case we all share that will benefit:

Think your home network: you have 1GE (or maybe only 100MBPS) Ethernet
to your other machines...

What is more, consumer ethernet switches do do flow control, whether you
want them to or not.  So you routinely have queues build, even on
ethernet, in those environments today.


(I wasn't even aware of Ethernet flow control's existence until 2 years
ago, when I wanted to understand the funny frames wireshark was
reporting on my home network).  Then I read up on it...

More information about the Codel mailing list