[Cake] Pre-print of Cake paper available

Pete Heist pete at eventide.io
Thu Apr 26 15:27:07 EDT 2018


> On Apr 25, 2018, at 10:28 PM, Toke Høiland-Jørgensen <toke at toke.dk> wrote:
> 
> Hmm, actually it looks like just compiling against the conntrack code
> adds a module dependency on conntrack. And as far as I can tell, the
> code doesn't initiate any new conntrack state if it doesn't already
> exist. So I think it's safe to turn on NAT mode by default. Will add
> that :)

nat vs nonat CPU load for flent’s rrul_be / "cpu_stats_localhost::load" on APU2:

<limit> <nonat avg cpu load> <nat avg cpu load>
10mbit  0.07  0.07
20mbit  0.09  0.09
30mbit  0.10  0.10
40mbit  0.11  0.11
50mbit  0.13  0.13
100mbit  0.19  0.20
150mbit  0.27  0.28
200mbit  0.33  0.35
250mbit  0.39  0.41
300mbit  0.44  0.45
350mbit  0.47  0.47
400mbit  0.50  0.49
450mbit  0.50  0.51
500mbit  0.53  0.52
none  0.37  0.43 (1864 mbit total up/down)

It looks like the largest impact is when there’s no rate limiting, probably when higher packet rates are reached and the relative proportion of CPU taken is greater. I suppose the backwards results (where nonat takes more CPU than nat) at 400mbit and 500mbit are just outliers. This isn’t a perfect way to measure.

I’ll leave it to you what to do with this information. Rough estimation: nat may be +2% CPU with rate limiting, and +15% without… :)



More information about the Cake mailing list