I can't figure out the difference between virtio, emulated-IO, direct I/O, I/O passthrough, SR-IOV, can anybody help
virtio is a virtualized driver that lives in the KVM Hypervisor.
An emulated-IO is for example the virtual Ethernet Controller that you will find in a Virtual Machine.
direct I/O is the concept of having a direct I/O operation inside a VM. An example can be a Direct Memory Access to the memory space of a VM.
I/O passthrough, or PCI-passthrough, is the technology to expose a
physical device inside a VM, bypassing the management of the
Hypervisor. The VM will see the physical hardware directly. For that
the corresponding driver should be installed in the guest OS. As the
hypervisor will be bypassed, the performance with this device inside
the VM is way better than with an emulated device.
SR-IOV for Single Root-I/O Virtualization is a technology where you can expose a physical device in several copies, which can be used individualy. For example with a NIC (Network Interface Card), using SR-IOV you can create several copies of the same device. Therefore, you can use all those copies inside different VMs as if you had several physical device. The performance are increased as with a PCI-Passthrough.
Hope it helps a bit
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With