All of lore.kernel.org
 help / color / mirror / Atom feed
From: don-lartc@isis.cs3-inc.com (Don Cohen)
To: lartc@vger.kernel.org
Subject: [LARTC] SFQ improvement ideas
Date: Mon, 14 Jan 2002 05:13:33 +0000	[thread overview]
Message-ID: <marc-lartc-101098550001963@msgid-missing> (raw)
In-Reply-To: <marc-lartc-101094979511667@msgid-missing>


I'm glad to see this, since I was planning to make a similar proposal.

 > 1) Backlog depth limit
 > 
 > Currently total limit of SFQ is 128 packets. SFQ tries
 > to keep lengths of all flows to be roughly the same. It
 > means that there can be one flow with 128 packets backlog.
 > 
 > It would be nice to have control over maximal lenght of
 > backlog. To be able to control max delay introduced.

I have an alternative suggestion, which I think might profitably be
added to a number of qdiscs:
 a parameter for the maximum delay allowed for forwarded packets
When you dequeue a packet that is older than that (current time minus
arrival time stamp) you drop it.

This seems trivial to implement and accomplishes the goal much more 
accurately than limiting the size of a flow.  The time a packet spends
in the queue is determined by how many packets arrive for other flows
as well as the length of its own.  The worst case is that it's at the
end of a long flow, say 64 long, and 64 other flows are sending
packets just in time to be served.  So it has to wait for 64 other
packets for each packet ahead of it in its own flow.  And, of course,
to add to the delay, all of the packets involved could be long.

On the other hand a packet that's 128'th in its own queue might only
have to wait for 127 other packets to be sent, and if they're all
short this might not be a long time.

It seems more reasonable to just say don't bother to send any packets
over 5 sec old.

 > 2) Interactive traffic isolation
 > 
 > Cisco IOS implements WFQ which has one queue per flow and
 > common queue for interactive traffic. Packets are queued
 > into interactive queue for some time and after it is clear
 > that they constitute large flow they are assigned private
 > queue. Interactive queue has higher prio.
I was not aware of this distinction between interactive an other.
How do you recognize interactive other than by low rate?
Do you have a pointer to doc?  

 > Nice effect is that short conversations are handled faster
 > and long downloads are isolated with lower priority.
Isn't this just what you get from a queue for each flow?
I thought that's what WFQ did.

 > 3) Hash select
 > 
 > Default SFQ impl. uses src(ip+port)+dst(ip+port) to distinguish
 > connections. It might be useful to be able to set src(ip)+dst(ip)
 > for example (do disallow users to fool SFQ by creating more connections)
 > or src(ip)+dst(ip+port) to make it yet better. I'd suggest tc
 > parameters like "hash " followed by set of "dip,sip,sport,dport,proto"
 > arguments (e.g. ... sfq hash dip sip dport).

I agree (in fact was going to propose exactly this).
The real use I see is that people keep asking for what amounts to hash
only on one address (e.g., fair service to all internal machines).
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/lartc/

  parent reply	other threads:[~2002-01-14  5:13 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-13 19:21 [LARTC] SFQ improvement ideas devik
2002-01-13 21:06 ` John Huttley
2002-01-13 21:10 ` Daniel Wittenberg
2002-01-14  2:02 ` John Huttley
2002-01-14  4:23 ` Daniel Wittenberg
2002-01-14  5:13 ` Don Cohen [this message]
2002-01-14  9:35 ` Martin Devera
2002-01-14  9:36 ` Martin Devera
2002-01-14  9:38 ` Martin Devera
2002-01-14  9:54 ` Martin Devera
2002-01-14 14:56 ` Michael T. Babcock
2002-01-14 22:33 ` Don Cohen
2002-01-16  9:46 ` Martin Devera
2002-01-16 10:07 ` Martin Devera

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-101098550001963@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.