ESXi usa um sofisticado agendador NUMA para balancear dinamicamente a carga do processador e a localidade de memória ou o balanceamento de carga do processador.
- Cada máquina virtual gerenciada pelo agendador NUMA recebe um nó inicial. Um nó inicial é um dos nós NUMA do sistema que contém processadores e memória local, conforme indicado pela Tabela de Alocação de Recursos do Sistema (SRAT).
- Quando a memória é alocada a uma máquina virtual, o host ESXi a aloca preferencialmente do nó inicial. As CPUs virtuais da máquina virtual são restritas a serem executadas no nó inicial para maximizar a localidade de memória.
- O agendador NUMA pode alterar dinamicamente o nó inicial de uma máquina virtual para responder a alterações na carga do sistema. O agendador pode migrar uma máquina virtual para um novo nó inicial para reduzir o desequilíbrio de carga do processador. Como isso pode fazer com que mais memória seja remota, o agendador pode migrar a memória da máquina virtual dinamicamente para seu novo nó inicial para melhorar a localidade da memória. O agendador NUMA também pode trocar máquinas virtuais entre nós quando isso melhora a localidade geral da memória.
Algumas máquinas virtuais não são gerenciadas pelo agendador ESXi NUMA. Por exemplo, se você definir manualmente o processador ou a afinidade de memória para uma máquina virtual, o agendador NUMA poderá não ser capaz de gerenciar essa máquina virtual. As máquinas virtuais que não são gerenciadas pelo agendador NUMA ainda são executadas corretamente. No entanto, eles não se beneficiam de ESXi otimizações NUMA.
As políticas de agendamento e posicionamento de memória do NUMA em ESXi podem gerenciar todas as máquinas virtuais de forma transparente, para que os administradores não precisem lidar com a complexidade de balancear máquinas virtuais entre nós explicitamente.
As otimizações funcionam perfeitamente, independentemente do tipo de sistema operacional convidado. ESXi fornece suporte a NUMA mesmo para máquinas virtuais que não suportam hardware NUMA, como o Windows NT 4.0. Como resultado, você pode aproveitar o novo hardware, mesmo com sistemas operacionais legados.
Uma máquina virtual com mais processadores virtuais do que o número de núcleos de processador físicos disponíveis em um único nó de hardware pode ser gerenciada automaticamente. O agendador NUMA acomoda essa máquina virtual fazendo com que ela abranja os nós NUMA. Ou seja, ele é dividido em vários clientes NUMA, cada um dos quais é atribuído a um nó e, em seguida, gerenciado pelo agendador como um cliente normal e não extensível. Isso pode melhorar o desempenho de determinadas cargas de trabalho com uso intenso de memória com alta localidade. Para obter informações sobre como configurar o comportamento desse recurso, consulte Atributos avançados de máquina virtual.
O ESXi 5.0 e posterior inclui suporte para expor a topologia NUMA virtual a sistemas operacionais convidados. Para obter mais informações sobre o controle NUMA virtual, consulte Usando o Virtual NUMA.