LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* Re: UDP packets scheduling
[not found] ` <fa.Mj0BY4rypcd66zFbzfAQxZCpUVk@ifi.uio.no>
@ 2007-03-20 23:55 ` Robert Hancock
0 siblings, 0 replies; 7+ messages in thread
From: Robert Hancock @ 2007-03-20 23:55 UTC (permalink / raw)
To: Lukas Hejtmanek, linux-kernel; +Cc: Andi Kleen
Lukas Hejtmanek wrote:
> On Tue, Mar 20, 2007 at 06:52:51PM +0100, Andi Kleen wrote:
>>> Flow control must be turned off for some other reason.
>> That's your fundamental problem. Fix that.
>>
>> Even if you get the rate right there can be many reasons why timing
>> gets disrupted temporarily and to recover from any of this you need
>> working flow control.
>
> How do you want to enable wire/fibre flow control, e.g., from Europe to USA?
> You are not guaranteed any hardware based flow control.
>
> And as of software flow control, you need precise timing of UDP packets to
> keep desired packet rate. How to do it at speeds about 5.5Gbps, that is my
> question.
Why is it necessary to avoid bursting? There should be enough buffering
along the chain to avoid packet loss with reasonable burst sizes.
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: UDP packets scheduling
2007-03-20 0:52 Lukas Hejtmanek
2007-03-20 2:37 ` David Schwartz
@ 2007-03-20 17:52 ` Andi Kleen
2007-03-20 17:21 ` Lukas Hejtmanek
1 sibling, 1 reply; 7+ messages in thread
From: Andi Kleen @ 2007-03-20 17:52 UTC (permalink / raw)
To: Lukas Hejtmanek; +Cc: linux-kernel
Lukas Hejtmanek <xhejtman@mail.muni.cz> writes:
> Flow control must be turned off for some other reason.
That's your fundamental problem. Fix that.
Even if you get the rate right there can be many reasons why timing
gets disrupted temporarily and to recover from any of this you need
working flow control.
-Andi
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: UDP packets scheduling
2007-03-20 17:52 ` Andi Kleen
@ 2007-03-20 17:21 ` Lukas Hejtmanek
0 siblings, 0 replies; 7+ messages in thread
From: Lukas Hejtmanek @ 2007-03-20 17:21 UTC (permalink / raw)
To: Andi Kleen; +Cc: linux-kernel
On Tue, Mar 20, 2007 at 06:52:51PM +0100, Andi Kleen wrote:
> > Flow control must be turned off for some other reason.
>
> That's your fundamental problem. Fix that.
>
> Even if you get the rate right there can be many reasons why timing
> gets disrupted temporarily and to recover from any of this you need
> working flow control.
How do you want to enable wire/fibre flow control, e.g., from Europe to USA?
You are not guaranteed any hardware based flow control.
And as of software flow control, you need precise timing of UDP packets to
keep desired packet rate. How to do it at speeds about 5.5Gbps, that is my
question.
--
Lukáš Hejtmánek
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: UDP packets scheduling
2007-03-20 16:31 ` Stephen Hemminger
@ 2007-03-20 16:42 ` Jan Engelhardt
0 siblings, 0 replies; 7+ messages in thread
From: Jan Engelhardt @ 2007-03-20 16:42 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: linux-kernel
On Mar 20 2007 09:31, Stephen Hemminger wrote:
>> > can anyone suggest me a proper way how to schedule UDP packets to
>> > transmit at
>> > some given rate?
>> >
>> > E.g., I have two boxes both having 10 GE interfaces. One box is able to
>> > transmit at 9.9Gbps, the other one is able to receive only at
>> > about 5.5Gbps.
>> > Flow control must be turned off for some other reason.
>
> "Those who do not understand TCP are condemned to reinvent it, poorly."
So perhaps, might want to use SCTP?
Jan
--
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: UDP packets scheduling
2007-03-20 2:37 ` David Schwartz
@ 2007-03-20 16:31 ` Stephen Hemminger
2007-03-20 16:42 ` Jan Engelhardt
0 siblings, 1 reply; 7+ messages in thread
From: Stephen Hemminger @ 2007-03-20 16:31 UTC (permalink / raw)
To: linux-kernel
On Mon, 19 Mar 2007 19:37:58 -0700
"David Schwartz" <davids@webmaster.com> wrote:
>
> > can anyone suggest me a proper way how to schedule UDP packets to
> > transmit at
> > some given rate?
> >
> > E.g., I have two boxes both having 10 GE interfaces. One box is able to
> > transmit at 9.9Gbps, the other one is able to receive only at
> > about 5.5Gbps.
> > Flow control must be turned off for some other reason.
"Those who do not understand TCP are condemned to reinvent it, poorly."
--
Stephen Hemminger <shemminger@linux-foundation.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: UDP packets scheduling
2007-03-20 0:52 Lukas Hejtmanek
@ 2007-03-20 2:37 ` David Schwartz
2007-03-20 16:31 ` Stephen Hemminger
2007-03-20 17:52 ` Andi Kleen
1 sibling, 1 reply; 7+ messages in thread
From: David Schwartz @ 2007-03-20 2:37 UTC (permalink / raw)
To: linux-kernel
> can anyone suggest me a proper way how to schedule UDP packets to
> transmit at
> some given rate?
>
> E.g., I have two boxes both having 10 GE interfaces. One box is able to
> transmit at 9.9Gbps, the other one is able to receive only at
> about 5.5Gbps.
> Flow control must be turned off for some other reason.
UDP is not a very good choice of protocol for this purpose. UDP pushes the
transmit timing job into user-space, where it cannot be done particularly
well.
> How can I put delay between subsequent msg sends to achieve desired
> packet rate without loses, e.g., 3.5Gbps without bursts? Even nanosleep()
> with the lowest possible delay seems to be too much delay. Busy loop with
> clock_gettime(3) works OK on SMP boxes, but on UP it causes problems.
Why do you want to avoid bursts? You're going to be bursting between 10Gb/s
and 0 anyway.
It sounds like you're deliberately putting impossible requirements on
yourself choosing the worst possible protocol and demanding the pacing be
perfect. I don't think the technology to do that is here yet, but why would
you possibly need it?
10GE cards tend to have large buffers precisely because it's not possible to
get the timing even. Why is burstiness a problem?
DS
^ permalink raw reply [flat|nested] 7+ messages in thread
* UDP packets scheduling
@ 2007-03-20 0:52 Lukas Hejtmanek
2007-03-20 2:37 ` David Schwartz
2007-03-20 17:52 ` Andi Kleen
0 siblings, 2 replies; 7+ messages in thread
From: Lukas Hejtmanek @ 2007-03-20 0:52 UTC (permalink / raw)
To: linux-kernel
Hello,
can anyone suggest me a proper way how to schedule UDP packets to transmit at
some given rate?
E.g., I have two boxes both having 10 GE interfaces. One box is able to
transmit at 9.9Gbps, the other one is able to receive only at about 5.5Gbps.
Flow control must be turned off for some other reason.
How can I put delay between subsequent msg sends to achieve desired
packet rate without loses, e.g., 3.5Gbps without bursts? Even nanosleep()
with the lowest possible delay seems to be too much delay. Busy loop with
clock_gettime(3) works OK on SMP boxes, but on UP it causes problems.
--
Lukáš Hejtmánek
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-03-20 23:56 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <fa.CWur1AzeHpCwg8xikmKYIrHD+vg@ifi.uio.no>
[not found] ` <fa.XuXSOUdBq9+oYcuagtcjLic4XjE@ifi.uio.no>
[not found] ` <fa.Mj0BY4rypcd66zFbzfAQxZCpUVk@ifi.uio.no>
2007-03-20 23:55 ` UDP packets scheduling Robert Hancock
2007-03-20 0:52 Lukas Hejtmanek
2007-03-20 2:37 ` David Schwartz
2007-03-20 16:31 ` Stephen Hemminger
2007-03-20 16:42 ` Jan Engelhardt
2007-03-20 17:52 ` Andi Kleen
2007-03-20 17:21 ` Lukas Hejtmanek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).