SR-IOV і virtio
Коротко: virtio і SR-IOV прискорюють віртуальні машини: virtio — стандартизованими полегшеними віртуальними пристроями, SR-IOV — прямими частками обладнання.
Докладніше: Повністю емульована мережева карта чи диск коштують багато обчислювального часу. Обидва методи заощаджують ці витрати по-різному.
Подробиці
- virtio: Гість знає, що він віртуальний, і використовує драйвери простих віртуальних пристроїв (virtio-net, virtio-blk) зі спільними чергами в пам’яті. Стандарт для KVM/QEMU, вбудований у Linux. У Windows потрібні драйвери virtio.
- SR-IOV: Плата PCIe (частіше мережева) ділиться на кілька «віртуальних функцій», кожну з яких призначають безпосередньо одній ВМ. ВМ спілкується з обладнанням майже без програмних обхідних шляхів, з дуже малою затримкою.
- Недолік SR-IOV: Жива міграція ускладнена, такі функції, як правила віртуального комутатора, обмежені, потрібна підтримка обладнання й BIOS (IOMMU).
- Проброс GPU: З VFIO цілу відеокарту можна віддати ВМ, принцип той самий.
- Вибір: virtio для загальних завдань, SR-IOV чи проброс для пікової продуктивності.
Див. також: віртуалізація з KVM і QEMU