Якщо коротко розповісти, єдиний спосіб, яким IOMMU допоможе вам, це, якщо ви почнете призначати ресурси HW безпосередньо до VM. Якщо це не зробити, це не робить швидше.
Це допоможе точно знати, яка материнська плата / процесор рекламує цю функцію. IOMMU - це специфічний для системи механізм відображення IO, який може використовуватися на більшості пристроїв.
IOMMU звучить як загальна назва для Intel VT-d та AMD IOV. У такому разі я не думаю, що ви можете мультиплексувати пристрої, це дуже схоже на PCI, перш ніж усі ці фантазійні інструкції щодо віртуалізації існували :). SR-IOV відрізняється, периферія сама повинна нести опору. HW знає, що це віртуалізується, і може делегувати шматочок HW самого себе на VM. Багато віртуальних машин можуть спілкуватися з пристроєм SR-IOV одночасно з дуже низькими накладними витратами.
Єдине, що швидше, ніж SR-IOV, - це проходження PCI, хоча в такому випадку лише один VM може використовувати цей пристрій, навіть не хоста операційна система може використовувати його. Прохід PCI був би корисним, наприклад, для VM, який працює з інтенсивною базою даних, яка виграє від приєднання до FiberChannel SAN.
Якщо наблизитися до HW, є обмеження, однак це робить ваші VM менш портативними для розгортань, для яких потрібна, наприклад, жива міграція. Це стосується як SR-IOV, так і PCI проходження.
За замовчуванням віртуалізовані розгортання Linux зазвичай використовують VirtIO, який починається досить швидко.