Netdev 2018 day 2
Netdev 2018 day 2
Posted Aug 28, 2018 20:35 UTC (Tue) by mtaht (guest, #11087)Parent article: Netdev 2018 day 2
This is debatable, although I get where he is coming from from a tcp perspective in the datacenter. If your 100Gige transaction is 10 packets in 6 nanoseconds, by ghu, burst up.
10 packets in a row for 13ms (10mbit), not so much.
The other major reason for my continued advocacy of "pure FQ" is for the wide range of traffic that has "no round trip completion" concept except "get me through fast with minimal delay and jitter" - voip, gaming, dns, videoconferencing, in particular.
Also, as multiple people have finally noticed ( https://github.com/systemd/systemd/issues/9725 ) , sch_fq is grossly unfair to anything other than locally sourced tcp traffic, with the large 15k initial quantum, and a quantum of 3028, to avoid del-acks. It should have been called sch_tcp_pacing or something like that. Real packet average sizes are 300 bytes.
Despite me saying that I do support DRR over SFQ and sometimes larger quantums - as it helps bunch up packets *a little bit* (easing the load on the host stack) and can be configured up or down as needed. In my pathetically slow portion of the universe we often run fq_codel with 300 byte quantums, and sch_cake autoconfigures and does gso-splitting by default, leading to much fairer results at a gigE and below.
"No existing qdisc can do this. But, the carousel/timing-wheel scheduler can accomplish this easily."
I like the timer wheel idea a lot regardless, and, with hardware support, seems needed and useful at speeds over 100mbit. If it works in software... oh, wow, we get to toss out 7 years of bufferbloat-fighting with tbf + fq_codel in favor of something new and shiny. I can't wait to see whatever eric comes up with. :)
... but I kind of figure I'll have to dig up some dusty research into virtualclock FQ systems do make it work where I want.