O que é o IOMMU e irá melhorar o desempenho da minha VM?

23

O chipset da minha Motherboard suporta este recurso IOMMU , eu li (mas não entendi bem) que isso melhora a VM desempenho, permitindo que a VM faça uso do hardware físico real em vez do hardware Virtual.

Isso realmente traz uma melhoria de desempenho na VM? e se isso acontecer, como posso fazer com que o Virtualbox se beneficie disso?.

    
por Uri Herrera 07.12.2011 / 04:52

1 resposta

16

Portanto, para encurtar a história, a única maneira de um IOMMU ajudá-lo é se você começar a atribuir recursos de HW diretamente à VM. Apenas ter isso não torna as coisas mais rápidas.

Ajudaria a saber exatamente o que placa-mãe / CPU está anunciando esse recurso. O IOMMU é um mecanismo de mapeamento IO específico do sistema e pode ser usado com a maioria dos dispositivos.

O IOMMU soa como um nome genérico para Intel VT-d e AMD IOV. Nesse caso eu não acho que você pode multiplexar dispositivos, é muito parecido com PCI passthrough antes de todas essas instruções sofisticadas de virtualização existirem :). SR-IOV é diferente, o próprio periférico deve ter o apoio. O HW sabe que está sendo virtualizado e pode delegar um HW fatia de si mesmo para a VM. Muitas VMs podem conversar com um dispositivo SR-IOV simultaneamente com uma sobrecarga muito baixa.

A única coisa mais rápida do que o SR-IOV é a passagem PCI, embora nesse caso apenas uma VM possa fazer uso desse dispositivo, nem mesmo o sistema operacional do host pode usá-lo. A passagem PCI seria útil, por exemplo, para uma VM que executa um banco de dados intenso que se beneficiaria de estar conectado a uma SAN FibreChannel.

Aproximar-se do HW tem limitações, no entanto, torna suas VMs menos portáteis para implantações que exigem migração ao vivo, por exemplo. Isso se aplica a SR-IOV e passagem PCI.

As implantações de Linux virtualizadas padrão geralmente usam o VirtIO , que é bastante rápido para começar.

    
por ppetraki 07.12.2011 / 05:47