[dpdk-users] low performance of send and receiving single message in RTE_RING
Stephen Hemminger
stephen at networkplumber.org
Fri Aug 31 22:09:33 CEST 2018
On Fri, 31 Aug 2018 12:55:22 -0700
Sungho Hong <maverickjin88 at gmail.com> wrote:
> Hello, DPDK-users,
>
> I am wondering whether there is a good explanation for high latency caused
> by rte_ring when testing the round-trip latency using 1 burst in (tx rx
> queue).
>
> I have tested the performance using two nodes (client and server)
> and calculated the elapsed latency of the round-trip of single pingpong.
> The latency is calculated on two different test-cases
> 1. elapsed latency of send and receive directly from rx tx queue.
> 2. elapsed latency of send and receive from rte_ring.
>
>
> Latency with direct tx rx queue with 1 burst
> When I send a single messages (512, 1024, 4096 bytes) (1 burst for each
> request) and receive 1 burst of response from the remote server.
> the latency is approximately 4 ~ 8 microseconds.
>
>
> RTE_RING Latency with 1 burst
> When I use rte_ring to send and receive data from client and server, the
> latency increases like crazy which is 59 microseconds to 100 microseconds.
>
>
> RTE_RING Latency with 10 bursts
> When I use bursts for example (10 messages per request)
> and calculate the elapsed latency by dividing the total elapsed time with
> the total ping-pong messages (total-latency)/(total ping-pong received
> messages).
> I could get a very good performance using rte_ring 7 ~ 10 microseconds.
>
>
> I was wondering whether someone can tell me what I should look at in order
> to decrease the latency of RTE_RING.
> Because even though I don't use multiple bursts, the latency should be low.
The ring itself should have no visible latency. It comes down to how the producer
and consumer are signaling each other and process scheduling.
More information about the users
mailing list