3 Replies Latest reply on Feb 12, 2018 12:56 PM by baber

    Difference between SR-IOV and DirectPath I/O

    SevanH Novice



      I am testing some pass-through features in order to better the network latency of a virtual machine, those features being DirectPath I/O and SR-IOV (As per the whitepapper http://www.vmware.com/files/pdf/techpaper/latency-sensitive-perf-vsphere55.pdf)



      The difference between both of them is quite unclear for me, when reading at VMware vSphere 5.1 it says :

      SR-IOV offers performance benefits and tradeoffs similar to those of DirectPath I/O. DirectPath I/O and SR-IOV have similar functionalty but you use them to accomplish different things.

      SR-IOV is beneficial in workloads with very high packet rates or very low latency requirements. Like DirectPath I/O, SR-IOV is not compatible with certain core virtualization features, such as vMotion. SR-IOV does, however, allow for a single physical device to be shared amongst multiple guests.

      With DirectPath I/O you can map only one physical funtion to one virtual machine. SR-IOV lets you share a single physical device, allowing multiple virtual machines to connect directly to the physical funtion.


      I have the impression that both allows you to achieve the same goal (i.e. having the devices mounted directly inside the guest OS by bypassing the kernel layer), however that SR-IOV allows multiple VMs to share the same physical device where DirectPath I/O allows only one VM to use the PCI device.

      Am I correct?


      Is there a difference in terms of performance between both features?

      When should I use DP IO rather than SR-IOV?