* [dpdk-users] Why DPDK latency is high when sending message in interval?
@ 2018-10-26 20:37 Sungho Hong
0 siblings, 0 replies; 8+ messages in thread
From: Sungho Hong @ 2018-10-26 20:37 UTC (permalink / raw)
To: users
Hello DPDK experts,
I'am testing the performance of DPDK not on high speed polling
but sending each packet with 100 microsecond interval.
As same as the POSIX, DPDK performance degrades into 90 ~ 100 microsecond
round-trip latency per 4KB message.
Is there a way to improve the performance, when I am expecting to send the
packet on 100 microsecond interval?
And is there an explanation of the slowdown of DPDK when I am sending the
packet on 100 microsecond interval?
Any insights on this issue will be highly appreciated..
Thanks
^ permalink raw reply [flat|nested] 8+ messages in thread
* [dpdk-users] Why DPDK latency is high when sending message in interval?
@ 2018-10-27 23:36 Sungho Hong
2018-10-28 7:53 ` Vincenzo Maffione
0 siblings, 1 reply; 8+ messages in thread
From: Sungho Hong @ 2018-10-27 23:36 UTC (permalink / raw)
To: users
Hello DPDK experts,
I'am testing the performance of DPDK not on high speed polling
but sending each packet with 100 microsecond interval.
As same as the POSIX, DPDK performance degrades into 90 ~ 100 microsecond
round-trip latency per 4KB message.
Is there a way to improve the performance, when I am expecting to send the
packet on 100 microsecond interval?
And is there an explanation of the slowdown of DPDK when I am sending the
packet on 100 microsecond interval?
Any insights on this issue will be highly appreciated..
Thanks
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-users] Why DPDK latency is high when sending message in interval?
2018-10-27 23:36 Sungho Hong
@ 2018-10-28 7:53 ` Vincenzo Maffione
2018-10-28 8:01 ` Sungho Hong
0 siblings, 1 reply; 8+ messages in thread
From: Vincenzo Maffione @ 2018-10-28 7:53 UTC (permalink / raw)
To: maverickjin88; +Cc: users
Hi,
How are you wating for the 100us interval? If you use sleep primitives
like usleep() or nanosleep() your delay is
likely due to the nanosleep() default timerslack, or deep C-states enabled,
or frequency scaling, etc.
This would be completely unrelated to DPDK.
Cheers,
Vincenzo
Il giorno dom 28 ott 2018 alle ore 01:36 Sungho Hong <
maverickjin88@gmail.com> ha scritto:
> Hello DPDK experts,
>
> I'am testing the performance of DPDK not on high speed polling
> but sending each packet with 100 microsecond interval.
>
> As same as the POSIX, DPDK performance degrades into 90 ~ 100 microsecond
> round-trip latency per 4KB message.
>
> Is there a way to improve the performance, when I am expecting to send the
> packet on 100 microsecond interval?
>
> And is there an explanation of the slowdown of DPDK when I am sending the
> packet on 100 microsecond interval?
>
> Any insights on this issue will be highly appreciated..
> Thanks
>
--
Vincenzo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-users] Why DPDK latency is high when sending message in interval?
2018-10-28 7:53 ` Vincenzo Maffione
@ 2018-10-28 8:01 ` Sungho Hong
2018-10-28 8:07 ` Vincenzo Maffione
0 siblings, 1 reply; 8+ messages in thread
From: Sungho Hong @ 2018-10-28 8:01 UTC (permalink / raw)
To: v.maffione; +Cc: users
Thank you very much for the reply.
But in that case, should I busy wait, to create the delay?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-users] Why DPDK latency is high when sending message in interval?
2018-10-28 8:01 ` Sungho Hong
@ 2018-10-28 8:07 ` Vincenzo Maffione
2018-10-28 10:15 ` Sungho Hong
2018-10-29 15:23 ` Stephen Hemminger
0 siblings, 2 replies; 8+ messages in thread
From: Vincenzo Maffione @ 2018-10-28 8:07 UTC (permalink / raw)
To: maverickjin88; +Cc: users
If you don't care about CPU utilization, busy-wait is the way to go.
Otherwise you can try to usleep() for something like 60-70 us (to lower the
CPU utilization), and then busy-wait for the rest of the interval (so that
you still have maximum precision).
You may want to have a look at this
https://academic.oup.com/comjnl/article/61/6/808/4259797 , specially
sections 4.3 and 4.1.
Cheers,
Vincenzo
Il giorno dom 28 ott 2018 alle ore 09:01 Sungho Hong <
maverickjin88@gmail.com> ha scritto:
> Thank you very much for the reply.
> But in that case, should I busy wait, to create the delay?
>
>
>
--
Vincenzo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-users] Why DPDK latency is high when sending message in interval?
2018-10-28 8:07 ` Vincenzo Maffione
@ 2018-10-28 10:15 ` Sungho Hong
2018-10-29 15:23 ` Stephen Hemminger
1 sibling, 0 replies; 8+ messages in thread
From: Sungho Hong @ 2018-10-28 10:15 UTC (permalink / raw)
To: v.maffione; +Cc: users
Thank you very much for the help
On Sun, Oct 28, 2018 at 1:07 AM Vincenzo Maffione <v.maffione@gmail.com>
wrote:
> If you don't care about CPU utilization, busy-wait is the way to go.
> Otherwise you can try to usleep() for something like 60-70 us (to lower
> the CPU utilization), and then busy-wait for the rest of the interval (so
> that you still have maximum precision).
>
> You may want to have a look at this
> https://academic.oup.com/comjnl/article/61/6/808/4259797 , specially
> sections 4.3 and 4.1.
>
> Cheers,
> Vincenzo
>
> Il giorno dom 28 ott 2018 alle ore 09:01 Sungho Hong <
> maverickjin88@gmail.com> ha scritto:
>
>> Thank you very much for the reply.
>> But in that case, should I busy wait, to create the delay?
>>
>>
>>
>
> --
> Vincenzo
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-users] Why DPDK latency is high when sending message in interval?
2018-10-28 8:07 ` Vincenzo Maffione
2018-10-28 10:15 ` Sungho Hong
@ 2018-10-29 15:23 ` Stephen Hemminger
2018-10-29 15:25 ` Vincenzo Maffione
1 sibling, 1 reply; 8+ messages in thread
From: Stephen Hemminger @ 2018-10-29 15:23 UTC (permalink / raw)
To: Vincenzo Maffione; +Cc: maverickjin88, users
On Sun, 28 Oct 2018 09:07:02 +0100
Vincenzo Maffione <v.maffione@gmail.com> wrote:
> If you don't care about CPU utilization, busy-wait is the way to go.
> Otherwise you can try to usleep() for something like 60-70 us (to lower the
> CPU utilization), and then busy-wait for the rest of the interval (so that
> you still have maximum precision).
>
> You may want to have a look at this
> https://academic.oup.com/comjnl/article/61/6/808/4259797 , specially
> sections 4.3 and 4.1.
>
> Cheers,
> Vincenzo
>
> Il giorno dom 28 ott 2018 alle ore 09:01 Sungho Hong <
> maverickjin88@gmail.com> ha scritto:
>
> > Thank you very much for the reply.
> > But in that case, should I busy wait, to create the delay?
> >
> >
> >
>
If doing very brief and exact sleep, you should change your thread priority to
one of the Real Time classes.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-users] Why DPDK latency is high when sending message in interval?
2018-10-29 15:23 ` Stephen Hemminger
@ 2018-10-29 15:25 ` Vincenzo Maffione
0 siblings, 0 replies; 8+ messages in thread
From: Vincenzo Maffione @ 2018-10-29 15:25 UTC (permalink / raw)
To: stephen; +Cc: Sungho Hong, users
Right, indeed the timerslack (50us) is not added if the process is
real-time.
But the C-state problem can still hit you hard.
Cheers,
Vincenzo
Il giorno lun 29 ott 2018 alle ore 16:23 Stephen Hemminger <
stephen@networkplumber.org> ha scritto:
> On Sun, 28 Oct 2018 09:07:02 +0100
> Vincenzo Maffione <v.maffione@gmail.com> wrote:
>
> > If you don't care about CPU utilization, busy-wait is the way to go.
> > Otherwise you can try to usleep() for something like 60-70 us (to lower
> the
> > CPU utilization), and then busy-wait for the rest of the interval (so
> that
> > you still have maximum precision).
> >
> > You may want to have a look at this
> > https://academic.oup.com/comjnl/article/61/6/808/4259797 , specially
> > sections 4.3 and 4.1.
> >
> > Cheers,
> > Vincenzo
> >
> > Il giorno dom 28 ott 2018 alle ore 09:01 Sungho Hong <
> > maverickjin88@gmail.com> ha scritto:
> >
> > > Thank you very much for the reply.
> > > But in that case, should I busy wait, to create the delay?
> > >
> > >
> > >
> >
>
> If doing very brief and exact sleep, you should change your thread
> priority to
> one of the Real Time classes.
>
--
Vincenzo
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-10-29 15:26 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-26 20:37 [dpdk-users] Why DPDK latency is high when sending message in interval? Sungho Hong
2018-10-27 23:36 Sungho Hong
2018-10-28 7:53 ` Vincenzo Maffione
2018-10-28 8:01 ` Sungho Hong
2018-10-28 8:07 ` Vincenzo Maffione
2018-10-28 10:15 ` Sungho Hong
2018-10-29 15:23 ` Stephen Hemminger
2018-10-29 15:25 ` Vincenzo Maffione
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).