From: Eric Dumazet <eric.dumazet@gmail.com>
To: Jesper Dangaard Brouer <hawk@diku.dk>
Cc: Stephen Hemminger <shemminger@vyatta.com>,
hadi@cyberus.ca, Jarek Poplawski <jarkao2@gmail.com>,
David Miller <davem@davemloft.net>,
Patrick McHardy <kaber@trash.net>,
netdev <netdev@vger.kernel.org>
Subject: Re: [RFC] net_sched: mark packet staying on queue too long
Date: Tue, 04 Jan 2011 16:02:09 +0100 [thread overview]
Message-ID: <1294153329.3579.99.camel@edumazet-laptop> (raw)
In-Reply-To: <Pine.LNX.4.64.1101041506300.2576@ask.diku.dk>
Le mardi 04 janvier 2011 à 15:19 +0100, Jesper Dangaard Brouer a écrit :
> On Mon, 3 Jan 2011, Stephen Hemminger wrote:
>
> > On Sun, 02 Jan 2011 22:27:11 +0100
> > Eric Dumazet <eric.dumazet@gmail.com> wrote:
> >
> >> While playing with SFQ and other AQM, I was bothered to see how easy it
> >> was for a single tcp flow to 'fill the pipe' and consume lot of memory
> >> buffers in queues. I know Jesper use more than 50.000 SFQ on his
> >> routers, and with GRO packets this can consume a lot of memory.
>
> That is true, operations department went kind of crazy when they started
> to add/move customers to our new Nehalem Xeon 5550 systems. I have
> stopped them now ;-)
>
> The use of an SFQ per customer, actually also solves the buffer bloat
> issue for our customers...
>
>
> >> I played a bit adding ECN in SFQ, first by marking packets for a
> >> particular flow if this flow qlen was above a given threshold, and later
> >> using another trick : ECN mark packet if it stayed longer than a given
> >> delay in the queue. This of course could be done on other modules, what
> >> do you think ?
>
> This is very interesting stuff! :-)
>
> Are you inspired by Jim Gettys buffer bloat discussions?
>
Not at all, I had to install an AQM here at work, I chose SFQ because
the machines only handle tcp flows (and limited number of flows)
> > ...
> > You might want to look into CHOKe and ECSFQ which are other AQM models
> > that have shown up in research.
>
> Have you looked at the SFB (Stochastic Fair Blue) implementation by
> Juliusz Chroboczek?
>
> http://www.pps.jussieu.fr/~jch/software/sfb/
Yes I did, but after some reading, I think there is an issue with BLUE,
regarding number of cache misses and complexity because of Bloom filter
(and double hashing)
For workloads with many flows, all bits are marked very fast.
I'd like to try kind of a SFQRED implementation, ie :
classify flows, then instead of using plain pfifo queues (currently done
in SFQ), use N pseudo RED queues.
RED is a bit complex because it tries to make the probability estimation
given queue backlog average. It has to use expensive time services (on
some machines at least, if TSC not available)
My idea was to take into account the delay packets stay in its queue, so
that no extra state is needed : Only take a timestamp when packet is
enqueued, compute delta when dequeued, get
Px = delta * Prob_per_time_unit;
and drop/mark packet with Px probability.
Ram usage of SFQRED would be the same than SFQ, and cost roughly the
same (because we could use jiffies based time sampling, (and HZ=1000 for
a ms unit)).
next prev parent reply other threads:[~2011-01-04 15:02 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-20 14:35 [PATCH net-2.6] net_sched: always clone skbs Changli Gao
2010-12-20 14:37 ` Eric Dumazet
2010-12-20 18:27 ` David Miller
2010-12-20 23:20 ` Jarek Poplawski
2010-12-20 23:28 ` Eric Dumazet
2010-12-20 23:52 ` Jarek Poplawski
2010-12-21 13:52 ` jamal
2010-12-21 14:17 ` Changli Gao
2010-12-21 22:37 ` Jarek Poplawski
2010-12-23 13:35 ` jamal
2010-12-23 23:04 ` Jarek Poplawski
2011-01-02 21:27 ` [RFC] net_sched: mark packet staying on queue too long Eric Dumazet
2011-01-03 13:52 ` jamal
2011-01-03 14:02 ` Eric Dumazet
2011-01-03 15:02 ` jamal
2011-01-03 18:11 ` [PATCH] sch_red: report backlog information Eric Dumazet
2011-01-03 20:13 ` David Miller
2011-01-03 17:58 ` [RFC] net_sched: mark packet staying on queue too long Stephen Hemminger
2011-01-04 14:19 ` Jesper Dangaard Brouer
2011-01-04 15:02 ` Eric Dumazet [this message]
2011-01-04 16:05 ` Stephen Hemminger
2011-01-04 18:20 ` Eric Dumazet
2011-01-04 18:29 ` Eric Dumazet
2011-01-13 11:50 ` Patrick McHardy
2011-01-13 15:54 ` Eric Dumazet
2011-01-13 16:04 ` sch_sfb [was: net_sched: mark packet staying on queue too long] Juliusz Chroboczek
2011-01-13 18:59 ` Patrick McHardy
2011-01-14 0:59 ` sch_sfb Juliusz Chroboczek
2011-01-14 1:39 ` sch_sfb Patrick McHardy
2011-01-14 13:34 ` sch_sfb Juliusz Chroboczek
2011-01-14 13:37 ` sch_sfb Patrick McHardy
2011-01-14 15:09 ` sch_sfb Eric Dumazet
2011-01-14 21:06 ` sch_sfb Jarek Poplawski
2010-12-21 0:21 ` [PATCH net-2.6] net_sched: always clone skbs Changli Gao
2010-12-21 3:55 ` David Miller
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1294153329.3579.99.camel@edumazet-laptop \
--to=eric.dumazet@gmail.com \
--cc=davem@davemloft.net \
--cc=hadi@cyberus.ca \
--cc=hawk@diku.dk \
--cc=jarkao2@gmail.com \
--cc=kaber@trash.net \
--cc=netdev@vger.kernel.org \
--cc=shemminger@vyatta.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