Hi Kevin
The performance results are very impressive - it looks like ~50%
performance improvement after about 10K flows.
Did you measure any negative effects when the the emc is not full?
Hi Kevin,
When the EMC is not full the impact is negligible.
For example I tested with 1, 128 & 1024 flows and measured a -0.04% degradation
and +2% and +1% improvement with the patch.
If the bulk of your traffic consists of only a few, albeit very
short-lived (<< 100 packets) parallel flows, you will likely measure a
negative impact as the probability for these flows to be inserted into
the EMC and subsequent packets be expedited decreases. We haven't been
able to quantify this effect due to a lack of a traffic generator for
such a traffic pattern. In the worst case the performance could degrade
to that of a pure Megaflow classifier with EMC disabled. With the latest
improvements on the performance of the DPCLS, the degradation should not
be dramatic any longer.
What about about only using this type of scheme once the emc is full or
above a certain threshold?
Given the above results I don't think implementing something like that is
necessary. The additional logic could be what ends up degrading performance.
Thanks,
Ciara
We though about this a lot but decided to avoid the complexity and
run-time overhead of making this scheme adaptive. The fill level of the
EMC alone is not sufficient as criterion to reduce the insertion
probability. One would also have to increase the probability again with
a decreasing hit rate to recover from the situation from a completely
filled but outdated EMC.
I'd suggest to go for this simple and extremely robust scheme first
(with the addition to make the insertion probability configurable) and
make it adaptive later, should the need arise and someone have a clever
idea how to get it right.
Jan
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev