ESXi virtualiza la memoria física del invitado al agregarle un nivel adicional de traducción de direcciones.

  • VMM mantiene las asignaciones combinadas de páginas virtuales a máquinas en las tablas de páginas de sombra. Las tablas de páginas de sombra se mantienen actualizadas con las asignaciones virtuales a físicas del sistema operativo invitado y con las asignaciones físicas a máquinas que mantiene VMM.

  • VMM intercepta las instrucciones de la máquina virtual que manipulan las estructuras de administración de memoria del sistema operativo invitado de modo que la máquina virtual no actualiza directamente la unidad de administración de memoria (MMU) real del procesador.

  • El hardware de paginación del procesador utiliza directamente las tablas de páginas de sombra.

  • Se produce una sobrecarga informática no trivial para mantener la coherencia de las tablas de páginas de sombra. La sobrecarga es más significativa cuando aumenta la cantidad de CPU virtuales.

Este enfoque de traducción de direcciones permite que se ejecuten accesos normales a la memoria de la máquina virtual sin agregar una sobrecarga de traducción de direcciones, una vez configuradas las tablas de páginas de sombra. Debido a que el búfer de traducción de direcciones (TLB) del procesador almacena en la memoria caché las asignaciones directas virtuales a máquinas de las tablas de páginas de sombra, VMM no agrega sobrecargas adicionales para acceder a la memoria. Debe tenerse en cuenta que la MMU de software tiene un requisito de memoria de sobrecarga mayor que la MMU de hardware. Por lo tanto, para poder admitir la MMU de software, se debe incrementar la sobrecarga máxima admitida para máquinas virtuales en el VMkernel. En algunos casos, la virtualización de la memoria de software puede tener algún beneficio de rendimiento sobre el enfoque asistido por hardware si la carga de trabajo induce una gran cantidad de pérdidas de TLB.

Consideraciones sobre rendimiento

El uso de dos conjuntos de tablas de páginas tiene las siguientes consecuencias sobre el rendimiento.

  • No se produce sobrecarga por realizar accesos normales a la memora invitada.

  • Se requiere más tiempo para asignar la memoria dentro de una máquina virtual. Esto sucede en los siguientes casos:

    • El sistema operativo de la máquina virtual configura o actualiza la dirección virtual en las asignaciones de dirección física.

    • El sistema operativo de la máquina virtual cambia de un espacio de direcciones a otro (cambio de contexto).

  • Al igual que en la virtualización de CPU, la sobrecarga de virtualización de memoria depende de la carga de trabajo.