Kurz gesagt, eine IOMMU kann Ihnen nur helfen, wenn Sie beginnen, HW-Ressourcen direkt der VM zuzuweisen. Nur zu haben, macht die Dinge nicht schneller.
Es würde helfen, genau zu wissen, welche Hauptplatine / CPU diese Funktion bewirbt. IOMMU ist ein systemspezifischer E / A-Zuordnungsmechanismus und kann mit den meisten Geräten verwendet werden.
IOMMU klingt wie ein generischer Name für Intel VT-d und AMD IOV. In diesem Fall glaube ich nicht, dass Sie Geräte multiplexen können. Es ist viel wie PCI-Passthrough, bevor all diese ausgefallenen Virtualisierungsanweisungen existierten :). SR-IOV ist anders, das Peripheriegerät selbst muss die Unterstützung tragen. Die Hardware weiß, dass sie virtualisiert wird, und kann ein Hardware- Slice von sich selbst an die VM delegieren . Viele VMs können gleichzeitig mit sehr geringem Overhead mit einem SR-IOV-Gerät kommunizieren.
Das einzige, was schneller als SR-IOV ist, ist das PCI-Passthrough. In diesem Fall kann jedoch nur eine VM von diesem Gerät Gebrauch machen, nicht einmal das Host-Betriebssystem. PCI-Passthrough ist beispielsweise nützlich für eine VM, auf der eine umfangreiche Datenbank ausgeführt wird, die von der Anbindung an ein FibreChannel-SAN profitiert.
Die Annäherung an die Hardware hat jedoch Einschränkungen, sodass Ihre VMs für Bereitstellungen, die beispielsweise eine Livemigration erfordern, weniger portabel sind. Dies gilt sowohl für SR-IOV als auch für PCI-Passthrough.
Standardmäßige virtualisierte Linux-Bereitstellungen verwenden in der Regel VirtIO, was anfangs ziemlich schnell ist.