SR-IOV (Single Root I/O Virtualization) is a hardware-based virtualization solution that can improve NIC performance and scalability. SR-IOV has the following characteristics:
SR-IOV allows PCIe (Peripheral Component Interconnect Express) devices to be efficiently shared among virtual machines. Because SR-IOV is implemented in hardware, it can provide I/O performance comparable to host performance.
A PCIe device with SR-IOV enabled and proper hardware and operating system support can appear as multiple separate physical devices, allowing a single I/O resource to be shared by many virtual machines. Compared with physical network port passthrough, SR-IOV provides higher scalability.
SR-IOV has two function types:
Physical Function (PF)
A PF is a full-featured PCIe function used to support and manage SR-IOV functions. One PF can be divided into multiple VFs.
Virtual Function (VF)
A VF is a lightweight PCIe function that shares one or more physical resources with the PF and other VFs associated with the same PF.
ACOS supports SR-IOV passthrough. It can virtualize one SR-IOV-capable physical network port into multiple SR-IOV passthrough NICs, namely VFs, and directly assign them to virtual machines, greatly reducing network latency of virtual machines.
In scenarios such as databases and high-frequency trading, service virtual machines often require high network performance. By using SR-IOV and low-latency NICs, such as Solarflare and Mellanox NICs, ACOS can be used in low-latency high-frequency trading scenarios, providing users with performance comparable to physical machines and higher resource utilization from virtualization.
Compared with traditional virtual NICs, SR-IOV passthrough NICs have the following advantages:
They can bypass the virtualization layer and shorten the data transmission path, achieving network I/O performance close to that of traditional physical NICs in terms of network latency.
Combined with the acceleration solution of low-latency NICs, they can bypass the kernel protocol stack and shorten the network packet transmission path. The network I/O latency of virtual machines can exceed the performance of direct physical machine connection.

By dividing an SR-IOV-capable physical network port, multiple VFs can be provided. Each VF can be assigned to a virtual machine as an SR-IOV passthrough NIC. After SR-IOV is enabled, the network architecture is as follows:
