On Thu, 31 Aug 2017 16:04:22 +0900 Heung Sik Choi <hsc...@os.korea.ac.kr> wrote:
> Hi, > > I want to measure the performance of OVS in multi core. > > I have a server on two Xeon 2630 v2 (NUMA) with 4 dual port 10GbE NIC. the > server with 12 cores and 8 physical ports run OVS. 4ports are for receiving > 40Gbps traffic and the other 4 ports are for sending 40Gbps traffic. > > I use DPDK pktgen on other machine to make intensive traffic. using this > maching, I sent 12 type flow traffic to OVS server. At this experiment I > expected that OVS run in using 12 cores fully. However, It didn't work . In order to have multiple CPUs processing packets in parallel with the kernel datapath, you need multiple queues with their interrupts spread among all relevant CPUs. And in order to the NIC to spread the traffic to different queues, you need different streams (5-tuple). That is called RSS. For example, stream A would go to queue#1 which is mapped to CPU#1 and stream B would go to queue#2 which is mapped to CPU#2 and so on. That is how Linux kernel works in general (as standalone NIC, or using Linux bridge or OVS). Here is a doc explaining it in more details: https://www.kernel.org/doc/Documentation/networking/scaling.txt -- Flavio _______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss