7.6. SR-IOV

Single Root I/O Virtualization oder kurz SR-IOV ist eine PCI Express (PCIe) Spezifikation, welche das Teilen (Sharing) von PCI Express Adaptern unter mehreren Betriebssystemen erlaubt. Ähnlich wie bei Micro-Partitioning, bekommen mehrere Gast-Betriebssysteme (LPARs) Anteile an einem physikalischen PCIe Adapter. Der große Vorteil im Hinblick auf Performance besteht darin, das die Virtualisierung in Hardware von dem physikalischen PCIe Adapter komplett übernommen wird. Ein Virtual-I/O-Server, wie für andere Virtualisierungs-Techniken benötigt, ist für SR-IOV nicht notwendig. Die LPARs können den PCIe Adapter direkt ansprechen und verwenden. Dies spart insbesondere Prozessor-Ressourcen und reduziert zusätzlich die Latenz beim I/O.

Für die Unterstützung von Virtualizierung werden physikalische Funktionen (PF) und virtuelle Funktionen (VF) eingeführt. Physikalische Funktionen unterstützen alle Merkmale von PCIe, insbesondere die Konfiguration des physikalischen Geräts (Chips) und I/O. Virtuelle Funktionen sind leichtgewichtige Versionen der physikalischen Funktionen, welche keine Konfiguration des physikalischen Gerätes (Chips) erlauben, sondern nur I/O unterstützen. In Bild 7.17 ist dies schematisch dargestellt.

PCIe adapter with 2 physical functions (2 port Ethernet adapter).
Bild 7.17: PCIe Adapter mit 2 Physical Functions (2 Port Ethernet Adapter).

Die physikalische Funktion PF0 erlaubt die Konfiguration des Ethernet Controllers für den ersten Port der PCIe Karte, außerdem unterstützt PF0 auch I/O (Transfer von Ethernet Paketen) über den ersten Port der Karte. Die virtuellen Funktionen VF0,x erlauben nur I/O aber keine Umkonfiguration des physikalischen Ethernet Ports.

Einer LPAR kann eine der virtuellen Funktionen zugeordnet werden, womit die LPAR dann die Möglichkeit besitzt, I/O über das zugeordnete physikalische Gerät zu machen.

Aktuell unterstützt PowerVM nur SR-IOV fähige Ethernet Adapter.