ESXi usa um sofisticado agendador NUMA para balancear dinamicamente a carga do processador e a localidade da memória ou o balanceamento de carga do processador.

  1. Cada máquina virtual gerenciada pelo agendador do 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).
  2. Quando a memória é alocada para uma máquina virtual, o host ESXi a aloca preferencialmente do nó inicial. As CPUs virtuais da máquina virtual são restritas para serem executadas no nó inicial para maximizar a localidade da memória.
  3. O agendador do 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 do 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 do NUMA poderá não ser capaz de gerenciar essa máquina virtual. As máquinas virtuais que não são gerenciadas pelo agendador do NUMA ainda são executadas corretamente. No entanto, eles não se beneficiam das otimizações de ESXi 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 explicitamente com a complexidade do balanceamento de máquinas virtuais entre nós.

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 oferecem suporte a hardware de NUMA, como o Windows NT 4.0. Como resultado, você pode tirar proveito do novo hardware, mesmo com sistemas operacionais herdados.

Uma máquina virtual com mais processadores virtuais do que o número de núcleos de processador físico disponíveis em um único nó de hardware pode ser gerenciada automaticamente. O agendador do NUMA acomoda essa máquina virtual fazendo com que ela espalhe os nós do 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 abrangente. Isso pode melhorar o desempenho de determinadas cargas de trabalho com uso intensivo 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.

ESXi inclui suporte para expor a topologia NUMA virtual a sistemas operacionais convidados. Para obter mais informações sobre o controle NUMA virtual, consulte Como usar o NUMA virtual.