[ovs-discuss] ovs-dpdk poor scalable capacity with PMDS for dpflow limit ?

wenxu wenxu at ucloud.cn
Mon Jan 8 09:20:36 UTC 2018


Hi,


I just test ovs-dpdk with much more pmds to improve the performace.  But in some case the performance more poor with more PMDS


Like follow flows:
in_port=1,nw_dst=10.0.0.x, actions=output:2


Assuming there are 10000 differnet flows which is active by packet.


if there are 12 PMDS.  In the worst situation, each pmd has the 10000 dpflows. so all the dpflows is 120000
if there are 24 PMDS.  so all the dpflows should be 240000.   the max dpflows is 200000, it leads dpflows up and down


So the performance of 24 PMDS is worst than 12PMDS


I think in the worst situation, the dpflows = concurrent flows * PMDS
The more PMDS the less concurrent flows


Is there any suggest to modify the following flow_limit strategy?


if (duration > 2000) {
                flow_limit /= duration / 1000;
            } else if (duration > 1300) {
                flow_limit = flow_limit * 3 / 4;
            } else if (duration < 1000 && n_flows > 2000
                       && flow_limit < n_flows * 1000 / duration) {
                flow_limit += 1000;
            }
            flow_limit = MIN(ofproto_flow_limit, MAX(flow_limit, 1000));


            atomic_store_relaxed(&udpif->flow_limit, flow_limit);




BR
wenxu






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20180108/883e2be4/attachment.html>


More information about the discuss mailing list