Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Sebastian Gottschall <s.gottschall@newmedia-net.de>
To: Dave Taht <dave.taht@gmail.com>
Cc: "cake@lists.bufferbloat.net >> Cake List" <cake@lists.bufferbloat.net>
Subject: Re: [Cake] cake in dd-wrt
Date: Tue, 20 Aug 2019 18:47:20 +0200	[thread overview]
Message-ID: <384866b4-4c91-cf2c-c267-ee4036e5fbf7@newmedia-net.de> (raw)
In-Reply-To: <CAA93jw4Fm=uY08A3XHWh3d=OKNfraCeYHwFGtAdPH7a51vG6WA@mail.gmail.com>


Am 20.08.2019 um 18:24 schrieb Dave Taht:
> On Tue, Aug 20, 2019 at 5:09 AM Sebastian Gottschall
> <s.gottschall@newmedia-net.de> wrote:
>> :-) i'm following this list and yes we are working on bringing cake in :-)
> Yea! thx for being on the list!
>
>> is there any question behind this link from your side?
> I just wanted to make people here aware that it was happening.
>
> Is there a build now?
the first builds with cake are already out yes, but unfinished. we 
started then to rewrite major parts of the qos code. i expect to push out
a new build tomorrow. it will still not use the full potential of cake 
since we have to bring all together with the priority and ndpi and 
filter based filter together
with the cake scheduler. but it works so far and will be better in the 
next days and weeks after we have found a solution for it. cake is more 
a all in wonder solution
so we have to use the features of cake itself to reimplement the 
priorisation classes
>
> If I had any one principal request it would be to make sure the dd-wrt
> gui (if one is made) exposes the link layer parameters. Getting the
> framing wrong is about the biggest error I see in the deployment:
> https://www.youtube.com/watch?v=LjJW_s5gQ9Y
i have seen this already. out plan here is that the user specifies the 
internet connection type like vdsl2, cable, whatever in case of cake 
which then will be used
as argument
>
> Other nifty cake features:
>
> "wash" and "besteffort" are important on some cablecos that remark
> traffic to CS1
> "nat" is dang useful if you are natting
> ack-filter helps on really slow asymmetric networks on the slow side only.
>
> So, like, my defaults would be
>
> in: nat wash besteffort # triple-isolate bandwidth X etc
> out: nat ack-filter # if > 10x1 down/up ratio
my finding for damn slow internet < 2000 kbit upstream that we need to 
handle rtt like codel with the formula

rtt = 50 - (uprate / 50)

which gives a rtt of 10 at 2000 kbit. otherwise its not working good. 
for the rest i will consider your defaults for our tests.

> And make sure the link layer settings are exposed in the gui. I really
> don't know how much
> "washing" is needed outside the cablecos, taking packet captures of
> various isps to see how often
> dscp bits are mangled nowadays would be good. besteffort on inbound
> saves some on cpu.
dscp might be problematic for isps like orange in france and other fiber 
isps i have found in spain and netherlands.
all these isps expect dscp classes to be set for outbound traffic 
depending on the traffic type. (iptv, voice and internet). this together 
is also
mapped to vlan priorities again internally. so using the dscp bits might 
be problematic for cake since it clears out the dscp flags and so 
internet simply doesnt work anymore
for these isps (or just with modem 56k speed)
>
> Are you using the out of tree version or mainline? Out of tree has
> some experimental SCE work
> that I'd love to see tested at more scale but not actually shipped at this time.
out of tree straight from git with modifications to be compatible to my 
kernels since your compatiblity layer is mmh not perfect.
some compat layer you made doesnt work since they already got backported 
to the latest upstream kernel versions. so just some refinement.
nothing special or much work
>
> Due to how cpu intensive cake can be (on inbound) I've been working on
> a faster, less feature-full fq_codel, it's here:
>
> https://github.com/dtaht/fq_codel_fast
i reviewed it and also tried to compile it with success. problem is, 
that code parts of it are looking unfinished with debug printks etc.
this is why i stopped at that point since i thought its unfinished. but 
i have added it already to my code tree and added the required parts to 
compile
it with all of my kernels (compat layer for older kernels or lets say 
#ifdef hell)
>
> I hate the idea of fq_codel one way, cake the other, but tbf +
> fq_codel_fast seems to work well at
> ~1gbit on my apu2 and cake doesn't. I'd originally planned to try and
> make a multi-core shaper out
> of it, but sce distracted me....
multicore would be nice since alot of home routers are coming with up to 
4 native cpus right now. (ipq8065 has 1.8 ghz and dual core. ipq40xx has 
4 cores but just 700 mhz and is 4 times slower per core and mhz, so it 
makes sense here)
i'm using a APU as internet router as well btw
>
> Having more folk on board benching stuff on modern non-x86 platforms
> would be good.
yeah no problem. we mainly test on a gateworks laguna armv6 platform in 
my company, but most reponse will come from broadcom arm northstar and 
qca ipq platforms from the community
but i hope i also get feedback from slower platforms like mips ar7240 etc
> Another cake feature is that you can get all the benefits on a normal
> ethernet (with bql) *without turning the shaper on* but we have not
> benchmarked that either vs a vs fq_codel or fq_codel_fast
from the response i got from the early experiments is that cake performs 
much better in typical bufferfloat tests than fq_codel. but i will see 
how my latest version now works

which fully integrated it.


Sebastian

>
> Have fun!
>
> Here's the first paper: https://arxiv.org/pdf/1804.07617.pdf
>
>> Sebastian
>>
>> Am 18.08.2019 um 18:33 schrieb Dave Taht:
>>> https://svn.dd-wrt.com/ticket/5796
>>>
>
>

  reply	other threads:[~2019-08-20 16:48 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-18 16:33 Dave Taht
2019-08-20 12:08 ` Sebastian Gottschall
2019-08-20 16:24   ` Dave Taht
2019-08-20 16:47     ` Sebastian Gottschall [this message]
2019-08-20 16:58       ` Toke Høiland-Jørgensen
2019-08-20 17:29         ` Sebastian Gottschall
2019-08-20 17:47           ` Toke Høiland-Jørgensen
2019-08-20 18:10             ` Sebastian Gottschall
2019-08-20 18:31               ` Toke Høiland-Jørgensen
2019-08-20 18:39                 ` Sebastian Gottschall
2019-08-20 18:49                   ` Toke Høiland-Jørgensen
2019-08-21  7:25                     ` Sebastian Gottschall
2019-08-20 19:07                   ` Jonathan Morton
2019-08-20 23:43                     ` Dave Taht
2019-08-21 10:21                       ` Toke Høiland-Jørgensen
2019-08-21 11:03                         ` Sebastian Moeller
2019-08-21 13:10                         ` Dave Taht
2019-08-21 14:52                         ` Jonathan Morton
2019-08-21 15:42                           ` [Cake] pie " Dave Taht
2019-08-21 16:12                             ` Sebastian Gottschall
2019-08-21 16:21                               ` Sebastian Moeller
2019-08-21 16:28                                 ` Sebastian Gottschall
2019-08-21 16:50                                   ` Dave Taht
2019-08-21 21:40                                     ` Toke Høiland-Jørgensen
2019-08-21 21:53                                       ` Dave Taht
2019-08-22  9:18                                         ` Sebastian Gottschall
2019-08-22 13:15                                           ` [Cake] Wifi Memory limits in small platforms Dave Taht
2019-08-22 14:59                                             ` Dave Taht
2019-08-22 15:48                                             ` Sebastian Gottschall
2019-08-22 17:03                                               ` Dave Taht
2019-08-22 17:37                                                 ` Sebastian Gottschall
2019-08-22 18:23                                                   ` Toke Høiland-Jørgensen
2019-08-22 18:56                                                     ` Dave Taht
2019-08-22 19:37                                                       ` [Cake] [Battlemesh] " Toke Høiland-Jørgensen
2019-08-22 20:10                                                         ` Sebastian Moeller
2019-08-22 20:30                                                       ` [Cake] " Sebastian Gottschall
2019-08-22 23:39                                                         ` Dave Taht
2019-08-23  6:25                                                           ` Sebastian Gottschall
2019-08-23  6:48                                                           ` Sebastian Moeller
2019-08-22 20:32                                                       ` [Cake] fq_codel_fast crash/lockup Sebastian Gottschall
2019-08-21 21:39                                   ` [Cake] pie in dd-wrt Toke Høiland-Jørgensen
2019-08-22  9:17                                     ` Sebastian Gottschall
2019-08-22 10:12                                       ` Toke Høiland-Jørgensen
2019-08-21  7:30                     ` [Cake] cake " Sebastian Gottschall
2019-08-20 18:05       ` Sebastian Gottschall
2019-08-20 23:43         ` Dave Taht
2019-08-20 23:34       ` Dave Taht
2019-08-21  7:44         ` Sebastian Gottschall
2019-08-21  7:44       ` Sebastian Moeller
2019-08-21  7:50         ` Sebastian Gottschall
2019-08-21  7:56           ` Sebastian Moeller
2019-08-21  9:04             ` Sebastian Gottschall
2019-08-21  9:17               ` Sebastian Moeller
2019-08-21 13:20           ` Dave Taht
2019-08-21 16:06             ` Sebastian Gottschall
2019-08-20 18:18 ` Sebastian Gottschall
2019-08-20 23:50   ` Dave Taht
2019-08-21  7:47     ` Sebastian Gottschall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=384866b4-4c91-cf2c-c267-ee4036e5fbf7@newmedia-net.de \
    --to=s.gottschall@newmedia-net.de \
    --cc=cake@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox