It started with virtual memory, then virtual machines (CPUs), then virtual storage, and now I/O virtualization (IOV) – where the I/O path from the server to the peripheral is itself virtualized. Traditionally, I/O devices connect to the server with some sort Interface or adapter, e.g., NIC – Network Interface Card, HBA – Host Bus adapter, etc., which are located inside the physical server.
I/O virtualization moves the adapters out of the server and into to a switching box. This allows the adapters to be shared across many physical servers, which drives up adapter utilization – often less than 10%-15% in a non-virtualized world. Fewer adapters means less power and cooling. Also, adapters take up a lot of space in servers and moving them out of the server allows 1U servers to be used instead of 2U ones.