[ovs-dev] ovs_dpdk: dpdk-socket-mem usage question

王志克 wangzhike at jd.com
Wed Sep 20 08:34:07 UTC 2017


Thanks Billy.

I will tune it during my test while trying to reading related code to understand the logic.

Br,
Wang Zhike

-----Original Message-----
From: O Mahony, Billy [mailto:billy.o.mahony at intel.com] 
Sent: Tuesday, September 19, 2017 9:07 PM
To: 王志克; ovs-dev at openvswitch.org; ovs-discuss at openvswitch.org
Subject: RE: ovs_dpdk: dpdk-socket-mem usage question

Hi Wang,

Typically I reserve between 512M and 1G on each Numa.

There is no formula I am aware of for how much memory is actually required.

Fundamentally this will be determined by the maximum number and size of packets in-flight at any given time. Which is determined by the ingress packet rate, processing time in ovs and the rate and frequency at which egress queues are drained.

The maximum memory requiremnt is determined by the number of rx and tx queues and how many descriptors each has.  Also longer queues (more descriptors) will protect against packet loss up to a point. So QoS/throughput also comes in to play. 

On that point dpdkvhostuser ports, as far as I know, current versions of qemu have a virtio queue length fixed at compile time so these queue lengths cannot be modified by OVS at all.

In short I don't think there is any way other than testing and tuning of the dpdk application (in this case OVS) and the particular use case while monitoring internal queue usage. This should give you an idea of an acceptable maximum length for the various queues and a good first guess as to the total amount of memory required.

Regards,
Billy.



> -----Original Message-----
> From: ovs-dev-bounces at openvswitch.org [mailto:ovs-dev-
> bounces at openvswitch.org] On Behalf Of ???
> Sent: Wednesday, September 13, 2017 6:35 AM
> To: ovs-dev at openvswitch.org; ovs-discuss at openvswitch.org
> Subject: [ovs-dev] ovs_dpdk: dpdk-socket-mem usage question
> 
> Hi All,
> 
> I read below doc, and have one question:
> 
> http://docs.openvswitch.org/en/latest/intro/install/dpdk/
> dpdk-socket-mem
> Comma separated list of memory to pre-allocate from hugepages on specific
> sockets.
> 
> Question:
>    OVS+DPDK can let user to specify the needed memory using dpdk-socket-
> mem. But the question is that how to know how much memory is needed. Is
> there some algorithm on how to calculate the memory?Thanks.
> 
> Br,
> Wang Zhike
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev


More information about the dev mailing list