ESXi combina el método tradicional de selección de ubicación inicial y un algoritmo de reequilibrio dinámico. El sistema examina periódicamente (cada dos segundos, de forma predeterminada) las cargas de distintos nodos y determina si debe volver a equilibrar la carga moviendo una máquina virtual de un nodo a otro.
Este cálculo tiene en cuenta la configuración de recursos de las máquinas virtuales y los grupos de recursos para mejorar el rendimiento sin incumplir las garantías de equilibrio y recursos.
El sistema de reequilibrio selecciona una máquina virtual adecuada y cambia el nodo de inicio al nodo menos cargado. Cuando puede, mueve una máquina virtual que ya tiene algo de memoria ubicada en el nodo de destino. A partir de ese punto (a menos que se la mueva de nuevo), la máquina virtual asigna memoria al nuevo nodo de inicio y se ejecuta solo en los procesadores incluidos en ese nodo.
El reequilibrio es una solución efectiva para mantener la equidad y garantizar que todos los nodos se utilicen por completo. Puede que el sistema de reequilibrio necesite mover una máquina virtual a un nodo donde tenga asignada poca o ninguna memoria. En este caso, se penaliza a la máquina virtual con una sanción de rendimiento asociada con una gran cantidad de accesos a memoria remota. ESXi puede eliminar la sanción mediante la migración transparente de memoria desde el nodo original de la máquina virtual hasta el nuevo nodo de inicio:
- El sistema selecciona una página (4 KB de memoria contigua) en el nodo original y copia los datos en una página del nodo de destino.
- El sistema utiliza la capa del supervisor de máquina virtual y el hardware de administración de memoria del procesador para reasignar de forma sencilla la vista de memoria de la máquina virtual y, de esta forma, utilizar la página del nodo de destino a modo de referencia en el futuro; se elimina, así, la sanción de acceso a memoria remota.
Cuando se mueve una máquina virtual a un nodo nuevo, el host ESXi de inmediato empieza a migrar su memoria de esta forma. Administra la velocidad para evitar sobrecargar el sistema, en especial, cuando a la máquina virtual le queda poca memoria remota o cuando el nodo de destino tiene poca memoria libre disponible. El algoritmo de migración de memoria también garantiza que el host ESXi no mueva la memoria innecesariamente si una máquina virtual se mueve a un nodo nuevo por un breve período.
Cuando la selección de ubicación inicial, el reequilibrio dinámico y la migración inteligente de memoria trabajan en conjunto, garantizan un buen rendimiento de memoria en los sistemas NUMA, incluso si cambian las cargas de trabajo. Cuando ocurre un cambio importante en la carga de memoria, por ejemplo, al iniciar nuevas máquinas virtuales, el sistema se toma un tiempo para reajustar y migrar las máquinas virtuales y la memoria a sus nuevas ubicaciones. Después de un breve período, que suele ser de segundos o minutos, el sistema completa los reajustes y alcanza un estado estable.