Quand une machine virtuelle est sous tension, ESXi lui assigne un nœud local. Une machine virtuelle fonctionne seulement sur des processeurs dans son nœud local et sa mémoire nouvellement allouée vient aussi bien du nœud local.
À moins que le nœud local d'une machine virtuelle ne change, il utilise seulement la mémoire locale, évitant les pénalités de performances liées aux accès mémoire distants à d'autres nœuds NUMA.
Lorsqu'une machine virtuelle est mise sous tension, un nœud local initial lui est attribué de façon à ce que le CPU global et la charge mémoire restent équilibrées sur les nœuds NUMA. Les latences entre les nœuds d'un grand système NUMA pouvant beaucoup varier, ESXi les détermine au moment du démarrage et utilise ces informations lors du placement initial de machines virtuelles plus large qu'un nœud NUMA. Ces machines virtuelles larges sont placées sur des nœuds NUMA proches les uns des autres pour obtenir des latences d'accès mémoire inférieures.
Les approches de placement initial seules suffisent généralement pour les systèmes qui n'exécutent qu'une charge de travail simple, telle qu'une configuration d'étalonnage qui ne change pas pendant l'exécution du système. Cependant, cette approche est incapable de garantir des performances et une équité suffisamment bonnes pour un système de classement de centre de données prenant en charge des charges de travail changeantes. Par conséquent, en plus du placement initial, ESXi 5.0 réalise une migration dynamique des CPU virtuels et de la mémoire entre les nœuds NUMA pour améliorer l'équilibre du CPU et augmenter la localisation de mémoire.