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

Reply via email to