Questão de Sistemas Operacionais — Virtualização — Quadrix 2025
- Código
- qg599044
- Banca
- Quadrix
- Órgão
- CRMV-GO
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista Administrativo
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO. A afirmação está incorreta porque a ativação de NUMA (Non-Uniform Memory Access) é, na verdade, um recurso importante e frequentemente essencial para o desempenho de VMs com múltiplos vCPUs em ambientes como VMware vSphere e Hyper-V. O hypervisor não aloca memória de forma uniforme em todos os nós físicos; pelo contrário, ele utiliza a topologia NUMA do hardware para otimizar o acesso à memória, evitando acessos remotos que degradam o desempenho. A premissa de que a ativação é "opcional e raramente afeta" o desempenho é falsa, pois a configuração correta de NUMA pode ter impacto significativo em workloads com muitos vCPUs e grande consumo de memória.
O que é NUMA? Em sistemas multiprocessadores, a memória pode ser organizada de duas formas: UMA (Uniform Memory Access), onde todos os processadores acessam a memória com a mesma latência, e NUMA (Non-Uniform Memory Access), onde cada processador (ou grupo de processadores, chamado de nó NUMA) tem acesso mais rápido à sua memória local e acesso mais lento à memória de outros nós. Em servidores modernos com múltiplos sockets, a arquitetura NUMA é a norma, pois cada processador possui seus próprios controladores de memória, conectados diretamente à sua memória local.
Em ambientes virtualizados, o hypervisor precisa gerenciar a alocação de memória para as VMs considerando essa topologia. Se uma VM com múltiplos vCPUs for alocada de forma que seus vCPUs estejam em nós NUMA diferentes, e sua memória também estiver distribuída, o acesso à memória remota (de outro nó) será mais lento, degradando o desempenho. Para evitar isso, os hypervisores modernos, como o VMware ESXi e o Hyper-V, implementam o que se chama de "NUMA-aware scheduling" e "NUMA-aware memory placement". Eles tentam alocar os vCPUs de uma VM no mesmo nó NUMA e a memória correspondente nesse mesmo nó, para que os acessos sejam locais. Isso é feito automaticamente, mas a configuração de NUMA pode ser ajustada manualmente para otimizar ainda mais o desempenho.
A afirmação do enunciado contém dois erros principais: primeiro, diz que a ativação de NUMA é "opcional e raramente afeta o desempenho", o que é incorreto, pois o NUMA é um fator crítico para o desempenho de VMs com muitos vCPUs. Segundo, afirma que o hypervisor "aloca a memória de forma uniforme em todos os nós físicos, evitando automaticamente o acesso remoto à memória de outros processadores", o que é contraditório: se a memória é alocada de forma uniforme (ou seja, distribuída igualmente entre os nós), isso não evita o acesso remoto; pelo contrário, aumenta a probabilidade de acessos remotos. Na prática, o hypervisor tenta alocar a memória localmente ao nó onde os vCPUs estão rodando, mas isso não é automático e pode exigir configuração.
A pegadinha aqui é a inversão do conceito: o candidato pode pensar que NUMA é algo opcional e que o hypervisor resolve tudo sozinho, mas a realidade é que o NUMA é uma característica fundamental do hardware moderno e o hypervisor precisa gerenciá-lo ativamente para garantir desempenho. A banca explora a confusão entre "alocação uniforme" (que seria UMA) e "alocação local" (que é NUMA).
A banca inverte o conceito: afirma que o hypervisor aloca memória de forma uniforme (como em UMA) e que isso evita acessos remotos. Na verdade, em NUMA, a memória é alocada localmente ao nó do processador, e o hypervisor precisa gerenciar isso para evitar acessos remotos. A ativação de NUMA não é opcional — é essencial para o desempenho de VMs com múltiplos vCPUs.
A afirmação é falsa por três motivos:
NUMA não é opcional e raramente afeta o desempenho: Em servidores com múltiplos processadores, a arquitetura NUMA é a padrão. O hypervisor precisa considerar a topologia NUMA para alocar vCPUs e memória de forma eficiente. Ignorar NUMA pode causar degradação significativa de desempenho em VMs com muitos vCPUs, especialmente em workloads com alta intensidade de memória.
O hypervisor não aloca memória de forma uniforme: Pelo contrário, ele tenta alocar a memória localmente ao nó onde os vCPUs estão rodando, para minimizar acessos remotos. A alocação uniforme (distribuída igualmente entre nós) seria uma má prática, pois aumentaria a latência de acesso.
O hypervisor não evita automaticamente o acesso remoto: Ele tenta otimizar, mas não é automático no sentido de "evitar" — ele gerencia a alocação para reduzir acessos remotos, mas em alguns casos (como quando a VM tem mais memória que o nó local disponível) pode ser necessário usar memória remota.
Portanto, a afirmação está ERRADA.
Gabarito: ERRADO (letra E).
Link permanente: /questoes/qg599044