From: don-lartc@isis.cs3-inc.com (Don Cohen)
To: lartc@vger.kernel.org
Subject: Re: [LARTC] SFQ buckets/extensions
Date: Thu, 06 Jun 2002 06:01:13 +0000 [thread overview]
Message-ID: <marc-lartc-102334341229216@msgid-missing> (raw)
In-Reply-To: <marc-lartc-102329319618482@msgid-missing>
Alexander Atanasov writes:
> At first look - i think i've have to incorporate my changes into
> your work. I've not done much just added hashes and unlocked what
> Alexey Kuznetsov did.
Not quite that simple. You have to throw out about half of my file,
mostly the last third or so, which replaces the hash function, plus
most of the /proc stuff, and probably a lot of other little pieces
scattered here and there.
I now recall a few other things - I support configuration of sevice
weights for different subqueues, which makes no sense for sfq, also
I record the amount of service (bytes and packets) per subqueue and
report these to the tc -s -d stuff, which also makes no sense for sfq.
After removing all that stuff you then have to restore the hash.
> > > Plaing with it gives interesting results:
> > > higher depth -> makes flows equal slower
> > > small depth -> makes flows equal faster
> > > limit kills big delays when set at about 75-85% of depth.
> >
> > I don't understand what these last three lines mean. Could you
> > explain?
>
> depth is how much packets which are queued on a row of the
> hash table. If you have large queues (higher depth) sfq reacts slower when
> a new flow appears (it has to do more work to make queue lengths equal
> ). When you have short queues it reacts faster, so adjusting depth
> to your bandwidth and traffic type can make it do better work.
> I set bounded cbq class 320kbits and esfq with dst hash:
> Start an upload - it gets 40KB
> Start second one - it should get 20KB asap to be fair.
> With depth 128 it would take it let's say 6 sec. to make both 20KB, with
> depth 64 about 3sec - drop packets early with shorter queue.
> (i've to make some exact measurements since this is just an example
> and may not be correct).
I don't see why that should be the case. And I don't recall ever
observing it. This adaptation time should be practically zero.
There's no work in making the queues equal.
(Let's use the word queue to mean the whole SFQ and subqueue for the
part sharing a hash index.)
If you have, say, 100 packets in one subqueue and 10 in another they're
already sharing the bandwidth 50-50.
> limit sets a threshold on queued packets - if a packet exceeds
> it's dropped so delay is smaller, but when it tries to make flows equal it
> counts depth, not limit. With above example depth 128 and limit 100:
> When first upload enqueue 100 packets sfq starts to drop,
> but goal to make flows equal is 64 packets in queue. Flow doesn't get
> the 28 packets which are to be enqueued and delayed for a long time and
> probably dropped when recived.
I disagree that the goal is to make the subqueues the same length.
The goal is to serve them with the same bandwidth (as long as they
don't become empty.)
Queue length depends on how many packets each download is willing to
send without an ack. If one is willing to send 100 and the other is
willing to send 10, then the subqueues will likely be length 100 and
10, but each will still get the same bandwidth. Without window
scaling the max window size is 64K which is only about 45 packets,
so it's not really normal to have 100 packets in a subqueue.
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
next prev parent reply other threads:[~2002-06-06 6:01 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-05 16:04 [LARTC] SFQ buckets/extensions Don Cohen
2002-06-06 0:53 ` Alexander Atanasov
2002-06-06 6:01 ` Don Cohen [this message]
2002-06-06 13:05 ` Michael T. Babcock
2002-06-06 23:06 ` Alexander Atanasov
2002-06-06 23:38 ` Don Cohen
2002-06-07 1:33 ` Alexander Atanasov
2002-06-07 1:59 ` Don Cohen
2002-06-07 8:26 ` Alexander Atanasov
2002-06-07 14:18 ` Michael T. Babcock
2002-06-07 14:37 ` Jan Coppens
2002-06-07 16:14 ` Don Cohen
2002-06-07 18:13 ` Martin Devera
2002-06-07 18:38 ` Martin Devera
2002-06-07 19:01 ` Michael T. Babcock
2002-06-07 19:08 ` Martin Devera
2002-06-07 19:50 ` Michael T. Babcock
2002-06-08 18:42 ` Gregory Maxwell
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=marc-lartc-102334341229216@msgid-missing \
--to=don-lartc@isis.cs3-inc.com \
--cc=lartc@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.