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