I found this article very relevant to this issue:
http://porto.polito.it/2616822/1/2015_Chain_performance.pdf


especially it says that  for the vhost-net interface used for standard OVS:   
"the transmission of a batch of packets
from a VM causes a VM exit; this means that the CPU stops to execute the guest 
(i.e., the vCPU thread), and run a piece
of code in the hypervisor, which performs the I/O operation on behalf of the 
guest. The same happens when an interrupt
has to be "inserted" in the VM, e.g., because vhost has to inform the guest 
that there are packets to be received. These
VM exits (and the subsequent VM entries) are one of the main causes of overhead 
in network I/O of VMs"

this is not the case with the vhost-user interface - allows direct access 
between VM and ovs-dpdk and minimizes context-switches.
Best Regards
avi

> -----Original Message-----
> From: Avi Cohen (A)
> Sent: Wednesday, 24 May, 2017 3:53 PM
> To: 'Bodireddy, Bhanuprakash'; [email protected]
> Subject: RE: OVS vs OVS-DPDK
> 
> Thanks you Bhanuprakash for your reply.
> 
> I indeed use  vhost-user  interface for OVS-DPDK and vhost-net for standard
> OVS.
> Also saw this article in the link you've sent.
> But still try to find out the reasons for the boost performance with OVS-DPDK
> (note that VMs  on both setup are unaware to OVS/OVS-DPDK which is running
> in the host) Also I found out that the bottleneck are the VMs and not the 
> vswitch
> running in the host.
> 
> These  reasons for  poor performance can be for example:
> 
> 1. number of packet copies in the path NIC - OVS - OS-guest-virtio -
> Application on guest
> 
> 2. interrupt upon receiving a packet
> 
> 3. # of context-switch / VM-exit
> etc..
> 
> I didn't see any info regarding these potential reasons on the docs.
> 
> Best Regards
> avi
> 
> > -----Original Message-----
> > From: Bodireddy, Bhanuprakash
> > [mailto:[email protected]]
> > Sent: Wednesday, 24 May, 2017 3:43 PM
> > To: Avi Cohen (A); [email protected]
> > Subject: RE: OVS vs OVS-DPDK
> >
> > >Question:  what are the additional overhead in the standard OVS   that 
> > >cause
> > >to poor performance related to the OVS-DPDK setup ?
> > >I'm not talking about  the PMD improvements (OVS-DPDK)  running on
> > >the host - but on overhead in the VM context in the standard OVS
> > >setup
> >
> > When running guest instances on OvS, vhost-net driver modules shall be used.
> > In case of OvS-DPDK, vhost-user library is used and runs entirely in
> > user space and is the reason for higher performance in VM context
> > Refer to this document on some internals of vhost-library:
> > http://dpdk.readthedocs.io/en/v16.07/sample_app_ug/vhost.html
> >
> > - Bhanuprakash.

_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to