Hi All, Please find attached RFC patch for EMC load-shedding [1] as promised [2].
This applies clean on 5ff834 "Increment ct packet counters..." It also uses Ilya's patch "Fix per packet cycles statistics." [3] so I've included that in the patch set as it wasn't merged when I started the RFC. The main goal for this RFC is only to demonstrate the outline of the mechanism and get feedback & advice for further work. However I did some initial testing with promising results. For 8K to 64K flows the cycles per packet drop from ~1200 to ~1100. For small numbers of flows (~16) the cycles per packet remain at ~900 which I beleive means no increase but I didn't baseline that situation. There are some TODOs commented in the patch with XXX. For one I think the mechanism should take into account the expected cycle-cost of EMC lookup and EMC miss (dpcls lookup) when deciding how much load to shed. Rather than the heuristic in this patch which is to keep the emc hit rate (for flow which have not been diverted from the EMC) between certain bounds. Also we should decide on at least one flow distribution that would be useful (i.e. realistic) for EMC testing. The tests above have either been carried out with a random (uniform) flow distribution which doesn't play well with flow caching or else a round-robin flow distribution which is actually adverserial to flow caching. If I have an agreed flow distribution I can then figure out how to produce it for testing :). [1] https://mail.openvswitch.org/pipermail/ovs-dev/2017-August/336509.html [2] https://mail.openvswitch.org/pipermail/ovs-dev/2017-September/338380.html [3] https://mail.openvswitch.org/pipermail/ovs-dev/2017-August/337309.html Billy O'Mahony (1): dpif-netdev: RFC EMC load-shedding Ilya Maximets (1): dpif-netdev: Fix per packet cycles statistics. lib/dpif-netdev.c | 118 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 108 insertions(+), 10 deletions(-) -- 2.7.4 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
