# Single-root input/output virtualization

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Single-root_input/output_virtualization
> Markdown URL: https://mediated.wiki/source/Single-root_input/output_virtualization.md
> Source: https://en.wikipedia.org/wiki/Single-root_input%2Foutput_virtualization
> Source revision: 1265644962
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

In [virtualization](/source/Virtualization), **single root input/output virtualization** (**SR-IOV**) is a specification that allows the isolation of [PCI Express](/source/PCI_Express) resources for manageability and performance reasons.

## Details

A single physical [PCI Express](/source/PCI_Express) bus can be shared in a virtual environment using the SR-IOV specification.[1][2] The SR-IOV offers different virtual functions to different virtual components (e.g. [network adapter](/source/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](/source/Hypervisor) or guest operating system depend on the PCIe device.[3]

The SR-IOV allows different [virtual machines](/source/Virtual_machines) (VMs) in a virtual environment to share a single [PCI Express](/source/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](/source/Supercomputer) (HPC). The use of high-performance [InfiniBand](/source/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](/source/Xen).[4]

## See also

- [I/O virtualization](/source/I/O_virtualization)

## References

1. ["Single Root I/O Virtualization (SR-IOV)"](https://msdn.microsoft.com/en-us/library/windows/hardware/hh440235%28v=vs.85%29.aspx). *[MSDN](/source/MSDN)*

1. Nathan Willis (18 February 2016). ["Netconf discussions, part 2"](https://lwn.net/Articles/675572/). [LWN.net](/source/LWN.net)

1. ["Single Root I/O Virtualization (SR-IOV)"](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.networking.doc/GUID-CC021803-30EA-444D-BCBE-618E0D836B9F.html). *[vmware](/source/Vmware)*

1. ["Efficient High-Performance Computing with Infiniband Hardware Virtualization"](http://datasys.cs.iit.edu/reports/2014_IIT_virtualization-fermicloud.pdf). [Archived](https://web.archive.org/web/20160810053150/http://datasys.cs.iit.edu/reports/2014_IIT_virtualization-fermicloud.pdf) 2016-08-10 at the Wayback Machine.

---
Adapted from the Wikipedia article [Single-root input/output virtualization](https://en.wikipedia.org/wiki/Single-root_input%2Foutput_virtualization) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Single-root_input%2Foutput_virtualization?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
