Single-root input/output virtualization
{{Short description|Specification for isolation of PCI Express resources}}
{{Multiple issues|
{{more citations needed|date=June 2015}}
{{technical|date=June 2015}}
}}
In virtualization, single root input/output virtualization (SR-IOV) is a specification that allows the isolation of PCI Express resources for manageability and performance reasons.
Details
A single physical PCI Express bus can be shared in a virtual environment using the SR-IOV specification.{{cite web |url=https://msdn.microsoft.com/en-us/library/windows/hardware/hh440235%28v=vs.85%29.aspx |title=Single Root I/O Virtualization (SR-IOV) |work=MSDN}}{{cite web |url=https://lwn.net/Articles/675572/ |date=18 February 2016 |author=Nathan Willis |title=Netconf discussions, part 2 |publisher=LWN.net }} The SR-IOV offers different virtual functions to different virtual components (e.g. network adapter) on a physical server machine. SR-IOV uses physical and virtual functions to control or configure PCIe devices. Physical functions have the ability to move data in and out of the device while virtual functions are lightweight PCIe functions that support data flowing but also have a restricted set of configuration resources. The virtual or physical functions available to the hypervisor or guest operating system depend on the PCIe device.{{cite web |url=https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.networking.doc/GUID-CC021803-30EA-444D-BCBE-618E0D836B9F.html |title=Single Root I/O Virtualization (SR-IOV) |work=vmware}}
The SR-IOV allows different virtual machines (VMs) in a virtual environment to share a single PCI Express hardware interface. In contrast, MR-IOV allows I/O PCI Express to share resources among different VMs on different physical machines.
InfiniBand
A major field of application for SR-IOV is within high-performance computing (HPC). The use of high-performance InfiniBand networking cards is growing within the HPC sector, and there is early research into the use of SR-IOV to allow for the use of InfiniBand within virtual machines such as Xen.{{Cite web| title=Efficient High-Performance Computing with Infiniband Hardware Virtualization | url=http://datasys.cs.iit.edu/reports/2014_IIT_virtualization-fermicloud.pdf | archive-url=https://web.archive.org/web/20160810053150/http://datasys.cs.iit.edu/reports/2014_IIT_virtualization-fermicloud.pdf | archive-date=2016-08-10}}