* [Cake] Today's cake is fishcake a la creme. Enjoy your meal.
@ 2015-05-28 21:23 Jonathan Morton
2015-05-29 0:04 ` Jonathan Morton
2015-06-07 13:36 ` Kevin Darbyshire-Bryant
0 siblings, 2 replies; 8+ messages in thread
From: Jonathan Morton @ 2015-05-28 21:23 UTC (permalink / raw)
To: cake
Today I pushed several significant updates to cake. They compile, and don’t appear to cause kernel panics, but there be dragons here. Tread carefully, and be ready to cast a Jedi Mind Trick[1] if you have acquired that ability.
Iproute2 now actually has the extra shortcut keywords I talked about previously. They are more-or-less self-explanatory, but are not yet mentioned in the help text.
The GSO peeling code is more refined:
- Refactored for efficiency, with several things moved out of the loop.
- Unlimited mode unconditionally invokes peeling, just as ATM compensation does.
- Peeling threshold inversely proportional to number of active flows; 1 flow remains at 1ms.
The flow DRR quantum is now dynamically calculated in the same way as the peeling threshold. It is clamped to limits at 1514 and 300. At 4 MB/s (the previous threshold, choosing between those two extrema), the quantum is now 976.
The set-associative hash has been tweaked to be more careful about keeping sparse and semi-sparse flows isolated from each other. A queue has to be evicted from the flowchain before it’s considered empty, not simply to have no packets in it. This should tend to improve flow isolation even further, but it’s possible that a number of spurious hard collisions might now occur under transient conditions. Under heavy load, expect to see a larger number of indirect hits and a smaller number of misses than before.
I also tweaked the version of Codel that cake uses:
- Recovery now halves the count rather than subtracting two, to ensure that the signalling frequency doesn’t grow out of hand (since at high signalling frequencies, it’s likely that count will increment many times per RTT). The extra Newton step there has been replaced by a simple fixed-point multiplication by sqrt(2); this should always get close enough to the true value that a single Newton step (or a cache lookup) is sufficient to complete the correction.
- The trigger threshold has been seriously modified, so that it takes less time to trigger if the queue grew rapidly than if it is growing slowly. There is roughly a 6:1 dynamic range in this respect. Given the standard 100/5 parameters, it can now trigger as quickly as 35ms after a large burst arrives all at once, or as slowly as 200ms if the sojourn time persistently remains just barely over 5ms for that long. The interval parameter still controls the initial marking frequency as before.
The rationale for the latter change is that slow-start needs to be signalled very quickly in order to be brought under control; in fact, the ideal moment for slow-start to be signalled at is precisely the moment the target is breached. Consider that under conventional slow-start (ie. Reno), cwnd doubles on each RTT, and halves upon receiving a congestion signal, and it takes precisely one RTT for the signal to have an effect on the queue input. Therefore, the cwnd will initially reduce to the level corresponding to the packet on which the signal was sent.
I note that according to Big-O terminology, there are several grades between Exponential (slow start) and Linear (congestion avoidance) growth: Polynomial (n^k) and Linearithmic (n log n) are the best known. Exponential is considered a very extreme growth factor, usually beaten only by Factorial. This explains why slow-start is so difficult to control accurately using algorithms tuned for the congestion-avoidance phase.
The existence of the new trigger mechanism also makes it possible to cause Codel to trigger instantly when the target is breached. I have not yet added anything which actually does that, but the facility may prove useful for ingress shaping, making cake behave more like a less-than-military sort of policer.
- Jonathan Morton
[1] - Beware of the Infinite Loops.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Cake] Today's cake is fishcake a la creme. Enjoy your meal.
2015-05-28 21:23 [Cake] Today's cake is fishcake a la creme. Enjoy your meal Jonathan Morton
@ 2015-05-29 0:04 ` Jonathan Morton
2015-06-03 5:01 ` Dave Taht
2015-06-07 13:36 ` Kevin Darbyshire-Bryant
1 sibling, 1 reply; 8+ messages in thread
From: Jonathan Morton @ 2015-05-29 0:04 UTC (permalink / raw)
To: cake
> On 29 May, 2015, at 00:23, Jonathan Morton <chromatix99@gmail.com> wrote:
>
> They compile, and don’t appear to cause kernel panics, but there be dragons here.
And, in case, you were wondering why the shaper no longer works… I think I just fixed that. That’ll teach me to run the tests *before* announcing the update.
- Jonathan Morton
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Cake] Today's cake is fishcake a la creme. Enjoy your meal.
2015-05-29 0:04 ` Jonathan Morton
@ 2015-06-03 5:01 ` Dave Taht
2015-06-03 5:16 ` Jonathan Morton
0 siblings, 1 reply; 8+ messages in thread
From: Dave Taht @ 2015-06-03 5:01 UTC (permalink / raw)
To: Jonathan Morton; +Cc: cake
and here I was thinking everybody had taken the last 5 days off.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Cake] Today's cake is fishcake a la creme. Enjoy your meal.
2015-06-03 5:01 ` Dave Taht
@ 2015-06-03 5:16 ` Jonathan Morton
2015-06-03 5:37 ` Dave Taht
0 siblings, 1 reply; 8+ messages in thread
From: Jonathan Morton @ 2015-06-03 5:16 UTC (permalink / raw)
To: Dave Taht; +Cc: cake
[-- Attachment #1: Type: text/plain, Size: 92 bytes --]
I was starting to wonder whether the mail server was on the fritz again.
- Jonathan Morton
[-- Attachment #2: Type: text/html, Size: 131 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Cake] Today's cake is fishcake a la creme. Enjoy your meal.
2015-06-03 5:16 ` Jonathan Morton
@ 2015-06-03 5:37 ` Dave Taht
2015-06-03 7:14 ` Toke Høiland-Jørgensen
0 siblings, 1 reply; 8+ messages in thread
From: Dave Taht @ 2015-06-03 5:37 UTC (permalink / raw)
To: Jonathan Morton, codel; +Cc: cake
On Tue, Jun 2, 2015 at 10:16 PM, Jonathan Morton <chromatix99@gmail.com> wrote:
> I was starting to wonder whether the mail server was on the fritz again.
>
> - Jonathan Morton
that mail server has many problems. It had also been up for 480 days.
In terms of mailing list issues...
There were 27,000 backed up messages awaiting approval or review
(mostly on the codel list).
http://wiki.list.org/DOC/4.74%20How%20do%20I%20manually%20remove%20held%20messages%20from%20the%20command-line%3F
Also there are quite a few users that should probably be purged.
A better anti-spam setup seems to be needed, on a newer OS with LTS
support. I have a linode servers with ubuntu 15.04 partially setup,
but am still sorting out how to do reverse dns right and if there is
any decent spamassassin, SPF, etc magic to add, soon would be a good
time.
Sending this also to the codel list in the hope that I didn't break
that along the way.
--
Dave Täht
What will it take to vastly improve wifi for everyone?
https://plus.google.com/u/0/explore/makewififast
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Cake] Today's cake is fishcake a la creme. Enjoy your meal.
2015-06-03 5:37 ` Dave Taht
@ 2015-06-03 7:14 ` Toke Høiland-Jørgensen
2015-06-03 7:21 ` Jonathan Morton
0 siblings, 1 reply; 8+ messages in thread
From: Toke Høiland-Jørgensen @ 2015-06-03 7:14 UTC (permalink / raw)
To: Dave Taht; +Cc: cake, codel
Dave Taht <dave.taht@gmail.com> writes:
> A better anti-spam setup seems to be needed, on a newer OS with LTS
> support. I have a linode servers with ubuntu 15.04 partially setup,
> but am still sorting out how to do reverse dns right and if there is
> any decent spamassassin, SPF, etc magic to add, soon would be a good
> time.
Adding SPF records and signing outgoing mail with DKIM is a good idea to
avoid *outgoing* mail getting marked as spam. As far as incoming,
spamassassin combined with some on-SMTP filtering (RBLs and/or
greylisting depending on your preferences and tolerance for mail delay)
is a good first step at least. :)
-Toke
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Cake] Today's cake is fishcake a la creme. Enjoy your meal.
2015-05-28 21:23 [Cake] Today's cake is fishcake a la creme. Enjoy your meal Jonathan Morton
2015-05-29 0:04 ` Jonathan Morton
@ 2015-06-07 13:36 ` Kevin Darbyshire-Bryant
1 sibling, 0 replies; 8+ messages in thread
From: Kevin Darbyshire-Bryant @ 2015-06-07 13:36 UTC (permalink / raw)
To: cake
[-- Attachment #1: Type: text/plain, Size: 697 bytes --]
On 28/05/15 22:23, Jonathan Morton wrote:
> Today I pushed several significant updates to cake. They compile, and don’t appear to cause kernel panics, but there be dragons here. Tread carefully, and be ready to cast a Jedi Mind Trick[1] if you have acquired that ability.
Hopefully a message of encouragement as that's pretty much all I can do: I updated my local copy of 'ceropackages' to point to the updated sched_cake HEAD and have been running it for around a week. I've not yet been obviously flamed by any dragon, but then again I haven't really gone around poking things with sticks either. But the code is running, marking/dropping and not blowing up in anyone's face.
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4791 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-06-07 13:37 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-28 21:23 [Cake] Today's cake is fishcake a la creme. Enjoy your meal Jonathan Morton
2015-05-29 0:04 ` Jonathan Morton
2015-06-03 5:01 ` Dave Taht
2015-06-03 5:16 ` Jonathan Morton
2015-06-03 5:37 ` Dave Taht
2015-06-03 7:14 ` Toke Høiland-Jørgensen
2015-06-03 7:21 ` Jonathan Morton
2015-06-07 13:36 ` Kevin Darbyshire-Bryant
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox