Чипсет моей материнской платы поддерживает эту функцию IOMMU , я прочитал (но не совсем понял), что он повышает производительность виртуальной машины, позволяя виртуальной машине использовать реальное физическое оборудование вместо виртуального.
Действительно ли это приносит улучшение производительности виртуальной машины? и если да, то как я могу извлечь из этого пользу Virtualbox?
Короче говоря, единственный способ, которым IOMMU поможет вам, - это если вы начнете назначать ресурсы HW непосредственно виртуальной машине. Просто это не делает вещи быстрее.
Было бы полезно точно знать, какая материнская плата / процессор рекламирует эту функцию. IOMMU является системным механизмом отображения ввода-вывода и может использоваться с большинством устройств.
IOMMU звучит как общее название для Intel VT-d и AMD IOV. В этом случае я не думаю, что вы можете мультиплексировать устройства, это очень похоже на пропуск PCI, прежде чем существовали все эти причудливые инструкции по виртуализации :). SR-IOV отличается, само периферийное устройство должно нести поддержку. HW знает, что он виртуализирован, и может делегировать HW срез себя виртуальной машине. Многие виртуальные машины могут взаимодействовать с устройством SR-IOV одновременно с очень низкими издержками.
Единственное, что быстрее, чем SR-IOV, - это пропуск PCI, хотя в этом случае только одна виртуальная машина может использовать это устройство, даже операционная система хоста не может использовать его. Прохождение PCI было бы полезно, скажем, для виртуальной машины, которая работает с интенсивной базой данных, которая выиграет от подключения к FiberChannel SAN.
Приближение к HW имеет свои ограничения, однако делает виртуальные машины менее переносимыми для развертываний, для которых требуется, например, оперативная миграция. Это относится как к проходу SR-IOV, так и к PCI.
В виртуальных развертываниях Linux по умолчанию обычно используется VirtIO , что довольно быстро для начала.