[ovs-dev] [PATCH 2/2] dpif-netdev: Per-port conditional EMC insert.

Kevin Traynor ktraynor at redhat.com
Fri Aug 11 17:58:03 UTC 2017


On 08/11/2017 09:27 AM, Jan Scheurich wrote:
> Hi Ilya,
> 
> Tuning the per EMC insertion probability per port based on detailed knowledge about the nature of traffic patterns seems a micro-optimization to me, which might be helpful in very controlled setups e.g. in synthetic benchmarks, but very hard to apply in more general use cases, such as vSwitch in OpenStack, where the entity (Nova compute) configuring the vhostuser VM ports has no knowledge at all about traffic characteristics.
> 
> The nice property of the probabilistic EMC insertion is that flows with more traffic have a higher chance of ending up in the EMC than flows with lower traffic. In your case the few big encapsulated flows from the VM should have a higher chance to make it into the EMC than the many smaller individual flows into the VM and thus automatically get the bulk of EMC hits.
> 
> Do you have empirical data that shows that this effect is not sufficient and performance can be significantly improved by per-port probabilities?
> 
> In any case I would request to keep the global configuration option and only add the per-port option to override the global probability if wanted.
> 

+1 for backwards compatibility by keeping the global config.

> Thanks, Jan
> 
>> > -----Original Message-----
>> > From: ovs-dev-bounces at openvswitch.org [mailto:ovs-dev-bounces at openvswitch.org] On Behalf Of Ilya Maximets
>> > Sent: Thursday, 10 August, 2017 18:55
>> > To: ovs-dev at openvswitch.org
>> > Cc: Ilya Maximets <i.maximets at samsung.com>; Heetae Ahn <heetae82.ahn at samsung.com>
>> > Subject: [ovs-dev] [PATCH 2/2] dpif-netdev: Per-port conditional EMC insert.
>> > 
>> > Conditional EMC insert helps a lot in scenarios with high numbers
>> > of parallel flows, but in current implementation this option affects
>> > all the threads and ports at once. There are scenarios there we have
>> > different number of flows on different ports. For example, if one
>> > of the VMs encapsulates traffic using additional headers, it will
>> > recieve large number of flows but only few flows will come out of
>> > this VM. In this scenario it's much faster to use EMC instead of
>> > classifier for traffic from the VM, but it's better to disable EMC
>> > for the traffic which flows to VM.
>> > 
>> > To handle above issue 'emc-insert-inv-prob' was converted to per-port
>> > option. Default value and behaviour kept as is.
>> > 
>> > For example, following command sets the insertion probability for
>> > packets that came from port 'dpdk0' to ~1/20, i.e. ~5%:
>> > 
>> >   ovs-vsctl set interface dpdk0 other_config:emc-insert-inv-prob=20
>> > 
>> > Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
>> > ---
>> >  Documentation/howto/dpdk.rst |   4 +-
>> >  NEWS                         |   2 +-
>> >  lib/dpif-netdev.c            | 106 +++++++++++++++++++++++++++++--------------
>> >  tests/pmd.at                 |   7 ++-
>> >  vswitchd/vswitch.xml         |  42 ++++++++++-------
>> >  5 files changed, 106 insertions(+), 55 deletions(-)



More information about the dev mailing list