32 votos

¿Qué es IOMMU y mejorará el rendimiento de mi VM?

El chipset de mi placa base admite esta característica IOMMU, he leído (pero no entiendo realmente) que mejora el rendimiento de las máquinas virtuales al permitir que estas utilicen el hardware físico real en lugar del hardware virtual.

¿Realmente esto trae una mejora de rendimiento en las máquinas virtuales? y si es así, ¿cómo puedo hacer que Virtualbox se beneficie de ello?

23voto

Vladimir Dyuzhev Puntos 101

En resumen, la única forma en que un IOMMU te ayudará es si comienzas a asignar recursos de hardware directamente a la VM. Simplemente tenerlo no hace que las cosas sean más rápidas.

Sería útil saber exactamente qué Placa base/CPU está anunciando esta característica. IOMMU es un mecanismo de asignación de IO específico del sistema y se puede utilizar con la mayoría de los dispositivos.

IOMMU suena como un nombre genérico para Intel VT-d y AMD IOV. En cuyo caso no creo que puedas multiplexar dispositivos, es muy parecido al traspaso de PCI antes de que existieran estas elegantes instrucciones de virtualización :). SR-IOV es diferente, el periférico en sí debe llevar el soporte. El hardware sabe que está siendo virtualizado y puede delegar una rebanada de hardware de sí mismo a la VM. Muchas VM pueden comunicarse con un dispositivo SR-IOV concurrentemente con muy poca sobrecarga.

Lo único más rápido que SR-IOV es el traspaso de PCI, aunque en ese caso solo una VM puede hacer uso de ese dispositivo, ni siquiera el sistema operativo host puede usarlo. El traspaso de PCI sería útil para, por ejemplo, una VM que ejecute una base de datos intensa que se beneficiaría de estar conectada a un SAN de Canal de Fibra.

Acercarse más al hardware tiene limitaciones, sin embargo, hace que tus VM sean menos portátiles para implementaciones que requieran migración en vivo, por ejemplo. Esto se aplica tanto a SR-IOV como al traspaso de PCI.

Las implementaciones de Linux virtualizado por defecto suelen utilizar VirtIO, que es bastante rápido desde el principio.

0 votos

Leí eso en la guía de usuario de mi placa base, que decía que si el Chipset lo soporta, podría proporcionar algún tipo de acceso físico al hardware del Host.

0 votos

Acabo de leer el Wiki de Xen, parece que IOMMU hace lo mismo que SR-IOV también, pero no uso Xen, y aparentemente Virtualbox no hace un buen uso de esto.

0 votos

No, la mayoría de las computadoras no tienen un IOMMU. ¿Quizás estás pensando en IO-APIC?

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X