Virtualization has a vital role in high performance cloud computing because it provides scalability and isolation of each process that runs in a system. SR-IOV is one of the technique that we can make use of in order to virtualize the server. Cost-effective virtualization can be achieved with the use of SR-IOV. The paper also lists the issues related to SR-IOV.
Keywords: virtualization, SR-IOV
1 Introduction
SR-IOV(Single Root I/O virtualization) is a technique that allow a PCIe devices to appear as a multiple isolated physical devices.
SR-IOV is the extension to PCIe specification which allows the devices such as network adapter to access separately the resources among various PCIe network function.
While using the operating system like Window Server 2012 with Microsoft Hyper-V virtualization, SR-IOV can be used for virtualization of throughput-sensitive applications and also can be used to reduce the network latency. For the organization that implements virtualization over their infrastructure, it is very crucial to reduce the I/O latency and minimize the processor utilization for various task carried out. This all goals can be achieved by using the SR-IOV introduced by the Peripheral Component Interconnect Special Interest Group (PCISIG).
SR-IOV can be used in virtualized environment with Microsoft Hyper-V hypervisor.
A specific standard called PCI-SIG SR-IOV that provide I/O resources to virtual machine which could possibly reduce latency. SR-IOV enabled PCI Express can allow up to 64 VM function per 10 Gigabit Ethernet(10GbE) port.
Intel support both SR-IOV standard and 10GbE server adapters. These adapter make make use of memory translation features from Intel® Virtualization Technology for direct I/O.
2 SR-IOV Overview
SR-IOV makes use of two functions. They are physical and virtual functions. Physical function(PF) are treated as full feature PCIe function and like other PCIe devices, it could be maintained, managed and manipulated. The VFs are "lightweight" functions that could not be configured, because that could possibly result in change of underlying PF. So the VFs can’t be treated as full-featured PCIe device. The hypervisor that is presently running on the hardware platform should support SR-IOV. the support for SR-IOV is also required in BIOS as well as in operating system.Physical functions (PFs) and virtual functions (VFs) are the two fundamental ideas based on which the SR-IOV works. PF are lightweight, PCIe function of network adapter that supports the single root I/O virtualization space. PF miniport driver loaded in management operating system are responsible for hardware and software support for VFs and managing the resources on network adapter that multiple VF make use of. Once the resources occupied by multiple VFs are freed, PF miniport driver is halted.
Unique Requester ID (RID) associated with each PCI Express are assigned to both PF and VF which allows the memory management unit (IOMMU) for classifying the traffic streams thus allowing the traffic streams to be delivered to relevant Hyper-V parent and child partition.and memory translation between PF or VFs.
3 Network Interface Card (NIC) Switch
NIC switch is a essential hardware component of network adapter for supporting SR-IOV interface which forwards the traffic physical port on adapter and virtual ports (VPorts) which are either attach to either the PF or a VF.
Vport is an internal port on NIC switch of SR-IOV enabled network adapter which delivers the packet from and from a PF or VF to which the port is attached.
The physical port is a component of SR-IOV supported network adapter that provide the interface on adapter to the external networking medium.
4 Virtualizing server with SR-IOV
Frequently asked questions
What is SR-IOV (Single Root I/O Virtualization)?
SR-IOV (Single Root I/O Virtualization) is a technique that allows a PCIe device to appear as multiple isolated physical devices. It is an extension to the PCIe specification that allows devices like network adapters to access resources separately among various PCIe network functions.
How does SR-IOV benefit virtualization environments?
In virtualized environments, especially with systems like Windows Server 2012 with Microsoft Hyper-V, SR-IOV can be used for virtualizing throughput-sensitive applications and reducing network latency. It helps reduce I/O latency and minimize processor utilization, which is crucial for organizations implementing virtualization.
What is the role of Physical Functions (PFs) and Virtual Functions (VFs) in SR-IOV?
SR-IOV utilizes two main functions: Physical Functions (PFs) and Virtual Functions (VFs). PFs are treated as full-featured PCIe functions and can be managed and manipulated. VFs are lightweight functions that cannot be configured to the same extent as PFs to avoid impacting the underlying PF. The hypervisor, BIOS, and operating system must support SR-IOV.
How do PFs and VFs work together?
PFs are responsible for hardware and software support for VFs and managing resources on the network adapter. Each PF and VF is assigned a Unique Requester ID (RID) associated with PCI Express, which allows the IOMMU (I/O Memory Management Unit) to classify traffic streams and deliver them to the relevant Hyper-V parent and child partitions, as well as managing memory translation between PFs and VFs.
What is a NIC Switch and its role in SR-IOV?
A NIC (Network Interface Card) switch is a hardware component of the network adapter that supports the SR-IOV interface. It forwards traffic between the physical port on the adapter and virtual ports (VPorts) attached to either the PF or a VF.
What is a VPort?
A VPort is an internal port on the NIC switch of an SR-IOV enabled network adapter that delivers packets to and from a PF or VF to which the port is attached.
What is the purpose of the physical port in SR-IOV?
The physical port is a component of an SR-IOV supported network adapter that provides the interface on the adapter to the external networking medium.
How is SR-IOV used to virtualize servers?
SR-IOV allows assigning VFs to virtual machines (VMs), enabling direct I/O with one adapter port, switch port, and cable for multiple VMs. Multiple VFs can be assigned to one VM. The most common use is to map the VF into the guest operating system address space, resulting in better I/O performance and reduced CPU utilization.
- Quote paper
- Senait Fessehaye (Author), 2014, High Performance Cloud Computing based on SR-IOV, Munich, GRIN Verlag, https://www.grin.com/document/268518