DPDK usage discussions
 help / color / Atom feed
* [dpdk-users] DPDK Distributor app issues
@ 2019-06-10 14:40 George Yaneff
  2019-06-10 16:13 ` Van Haaren, Harry
  0 siblings, 1 reply; 3+ messages in thread
From: George Yaneff @ 2019-06-10 14:40 UTC (permalink / raw)
  To: users

I'm playing with the distributor example application from dpdk 19.05.0 I have three machines connected sequentially with an UTP Ethernet cable. The
  middle is Ubuntu 18.04.2 LTS with a eigth core Intel I7 processor and 24 GB ram.  The eth device used is Intel I350 with four ports.  
  The strange behavior I'm observing is when I ping the second node from the first node (traffic passing through the distributor)  there are always one or two packets lost.
  When I use
l2fwd or
basicfwd applications there is no packet loss.  Anyone knows if this is normal or if it is not - what I'm doing wrong?  
  Another thing I noticed is that the ping replies come to the first node with around one second of delay. (1024ms on most packets)  Again there is no latency with the basicfwd (packets arriving in 0.101 ms there).  Is there any way to minimize this delay in distributor application also?  
  George 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-users] DPDK Distributor app issues
  2019-06-10 14:40 [dpdk-users] DPDK Distributor app issues George Yaneff
@ 2019-06-10 16:13 ` Van Haaren, Harry
  2019-06-11  6:40   ` George Yaneff
  0 siblings, 1 reply; 3+ messages in thread
From: Van Haaren, Harry @ 2019-06-10 16:13 UTC (permalink / raw)
  To: George Yaneff, users

> -----Original Message-----
> From: users [mailto:users-bounces@dpdk.org] On Behalf Of George Yaneff
> Sent: Monday, June 10, 2019 3:40 PM
> To: users@dpdk.org
> Subject: [dpdk-users] DPDK Distributor app issues
> 
> I'm playing with the distributor example application from dpdk 19.05.0

Ah cool - Not sure what your goal is, but if you're looking for the
more future-proof load-balancing / distribution APIs in DPDK the I
recommend to look at the Eventdev library, as this has been added to
DPDK for more "pipelined" applications and load-balancing within those
pipeline stages.

If you know your use case matches distributor library, and are aware of
the existence of Eventdev libs, please ignore the above :)

> I
> have three machines connected sequentially with an UTP Ethernet cable. The
>   middle is Ubuntu 18.04.2 LTS with a eigth core Intel I7 processor and 24
> GB ram.  The eth device used is Intel I350 with four ports.
>
>   The strange behavior I'm observing is when I ping the second node from the
> first node (traffic passing through the distributor)  there are always one
> or two packets lost.
>   When I use
> l2fwd or
> basicfwd applications there is no packet loss.  Anyone knows if this is
> normal or if it is not - what I'm doing wrong?

This seems strange - although I'm not very familiar with Distributor sample app.

Perhaps add some statistics counters around the "rte_pktmbuf_free()" calls in
the sample app, to identify if the sample-app is dropping packets in SW, or if
the root cause is really platform configuration?


>   Another thing I noticed is that the ping replies come to the first node
> with around one second of delay. (1024ms on most packets)  Again there is no
> latency with the basicfwd (packets arriving in 0.101 ms there).  Is there
> any way to minimize this delay in distributor application also?

The sample application adds artificial "work" per packet to simulate a real
world distributing workload:
http://git.dpdk.org/dpdk/tree/examples/distributor/main.c#n574

Per packet, 100 cycles of work is performed, so eg:
(burst-size # of packets * 100 cycles) @ CPU freq + RX, TX and Distributor
work will be the total delay along the wire.


>   George

Hope that helps, -Harry

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-users] DPDK Distributor app issues
  2019-06-10 16:13 ` Van Haaren, Harry
@ 2019-06-11  6:40   ` George Yaneff
  0 siblings, 0 replies; 3+ messages in thread
From: George Yaneff @ 2019-06-11  6:40 UTC (permalink / raw)
  To: harry.van.haaren; +Cc: users

Harry, thank you for the answer.
 I will look into this event dev lib, but I hoped my time with the distributor lib will not be wasted. Actually  it pretty much fits into my use case.
  
  About the packet loss I suspect that they are always the first one or two packets, I'm still debugging and trying to  figure out what really happens.  
  About the delay - unfortunately the cycles in the worker are not the cause for them. When I comment these lines  there is no effect on the delay. Also these is some buffering happening in the tx_core but the reason is not there also.  I suspect some buffering happens internally in the distributor itself.  I understand that the throughput is traded for bigger latency, but hoped there will be a way to tune this.  
  Regards  George  
  
  
  







 >-------- Оригинално писмо --------

 >От: "Van Haaren, Harry" harry.van.haaren@intel.com

 >Относно: RE: [dpdk-users] DPDK Distributor app issues

 >До: George Yaneff  , "users@dpdk.org"  

 >Изпратено на: 10.06.2019 19:13


> -----Original Message-----

> From: users [mailto:users-bounces@dpdk.org] On Behalf Of George Yaneff

> Sent: Monday, June 10, 2019 3:40 PM

> To:  users@dpdk.org 

> Subject: [dpdk-users] DPDK Distributor app issues

> 

> I'm playing with the distributor example application from dpdk 19.05.0



Ah cool - Not sure what your goal is, but if you're looking for the

more future-proof load-balancing / distribution APIs in DPDK the I

recommend to look at the Eventdev library, as this has been added to

DPDK for more "pipelined" applications and load-balancing within those

pipeline stages.



If you know your use case matches distributor library, and are aware of

the existence of Eventdev libs, please ignore the above :)



> I

> have three machines connected sequentially with an UTP Ethernet cable. The

>   middle is Ubuntu 18.04.2 LTS with a eigth core Intel I7 processor and 24

> GB ram.  The eth device used is Intel I350 with four ports.

>

>   The strange behavior I'm observing is when I ping the second node from the

> first node (traffic passing through the distributor)  there are always one

> or two packets lost.

>   When I use

> l2fwd or

> basicfwd applications there is no packet loss.  Anyone knows if this is

> normal or if it is not - what I'm doing wrong?



This seems strange - although I'm not very familiar with Distributor sample app.



Perhaps add some statistics counters around the "rte_pktmbuf_free()" calls in

the sample app, to identify if the sample-app is dropping packets in SW, or if

the root cause is really platform configuration?





>   Another thing I noticed is that the ping replies come to the first node

> with around one second of delay. (1024ms on most packets)  Again there is no

> latency with the basicfwd (packets arriving in 0.101 ms there).  Is there

> any way to minimize this delay in distributor application also?



The sample application adds artificial "work" per packet to simulate a real

world distributing workload:

 http://git.dpdk.org/dpdk/tree/examples/distributor/main.c#n574 



Per packet, 100 cycles of work is performed, so eg:

(burst-size # of packets * 100 cycles) @ CPU freq + RX, TX and Distributor

work will be the total delay along the wire.





>   George



Hope that helps, -Harry

   

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-10 14:40 [dpdk-users] DPDK Distributor app issues George Yaneff
2019-06-10 16:13 ` Van Haaren, Harry
2019-06-11  6:40   ` George Yaneff

DPDK usage discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ http://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


AGPL code for this site: git clone https://public-inbox.org/ public-inbox