Visão geral de máquina virtual da série HBv2

Cuidado

Este artigo faz referência ao CentOS, uma distribuição do Linux que está se aproximando do status de EOL (fim da vida útil). Considere seu uso e planeje adequadamente. Para obter mais informações, veja as Diretrizes sobre fim da vida útil do CentOS.

Aplica-se a: ✔️ VMs Linux ✔️ VMs Windows ✔️ Conjuntos de dimensionamento flexíveis ✔️ Conjuntos de dimensionamento uniformes.

A maximização do desempenho do aplicativo HPC (computação de alto desempenho) no AMD EPYC requer uma abordagem cuidadosa de localidade de memória e colocação de processo. Abaixo, descrevemos a arquitetura AMD EPYC e nossa implementação no Azure para aplicativos HPC. Usamos o termo pNUMA para nos referirmos a um domínio NUMA físico e vNUMA para nos referirmos a um domínio NUMA virtualizado.

Fisicamente, um servidor da série HBv2 tem 2 * CPUs EPYC 7V12 de 64 núcleos para um total de 128 núcleos físicos. O Multithreading Simultâneo (SMT) está desabilitado no HBv2. Esses 128 núcleos são divididos em 16 seções (8 por soquete), cada seção contendo 8 núcleos de processador. Os servidores Azure HBv2 também executam as seguintes configurações de BIOS AMD:

Nodes per Socket (NPS) = 2
L3 as NUMA = Disabled
NUMA domains within VM OS = 4
C-states = Enabled

Como resultado, o servidor é inicializado com 4 domínios NUMA (2 por soquete) cada um com 32 núcleos de tamanho. Cada NUMA tem acesso direto a 4 canais de DRAM física que operam a 3200 MT/s.

Para fornecer espaço para o hipervisor do Azure operar sem interferir na VM, reservamos 8 núcleos físicos por servidor.

Topologia da VM

Reservamos esses 8 núcleos de host do hipervisor simetricamente em ambos os soquetes de CPU, pegando os 2 primeiros núcleos de Core Complex Dies (CCDs) específicos em cada domínio NUMA, com os núcleos restantes para a VM HBv2-series. O limite CCD não é equivalente a um limite NUMA. No HBv2, um grupo de quatro (4) CCDs consecutivos é configurado como um domínio NUMA, tanto no nível do servidor host quanto em uma VM convidada. Assim, todos os tamanhos de VM HBv2 expõem 4 domínios NUMA que aparecem para um sistema operacional e aplicativo. 4 domínios NUMA uniformes, cada um com um número diferente de núcleos, dependendo do tamanho específico da VM HBv2.

A fixação de processos funciona em VMs da série HBv2 porque expomos o silício subjacente no estado em que se encontra à VM convidada. É altamente recomendável fixar o processo para desempenho e consistência ideais.

Especificações de hardware

Especificações de Hardware VM da série HBv2
Núcleos 120 (desabilitado para SMT)
CPU AMD EPYC 7V12
Frequência de CPU (não AVX) ~3.1 GHz (único + todos os núcleos)
Memória 4 GB/núcleo (total de 480 GB)
Disco local NVMe (bloco) de 960 GiB, SSD de 480 GB (arquivo de paginação)
Infiniband HDR Mellanox ConnectX-6 de 200 Gb/s
Rede 50 GB/s de Ethernet (40 GB/s utilizáveis) Azure Second Gen SmartNIC

Especificações de software

Especificações de software VM da série HBv2
Tamanho máximo do trabalho de MPI 36.000 núcleos (300 VMs em um único conjunto de dimensionamento de máquinas virtuais com singlePlacementGroup=true)
Suporte a MPI HPC-X, Intel MPI, OpenMPi, MVAPICH2, MPICH, plataforma MPI
Estruturas adicionais UCX, libfabric, PGAS
Suporte do armazenamento do Azure Discos Standard e Premium (máximo de oito discos)
Suporte do sistema operacional para SRIOV RDMA CentOS/RHEL 7.9+, Ubuntu 18.04+, SLES 12 SP5+, WinServer 2016+
Suporte do Orchestrator CycleCloud, Lote, AKS; opções de configuração de cluster

Observação

O Windows Server 2012 R2 não é compatível com HBv2 e outras VMs com mais de 64 núcleos (virtuais ou físicos). Para ver mais informações, confira Sistemas operacionais convidados do Windows com suporte para Hyper-V no Windows Server.

Próximas etapas