Visão geral de máquinas virtuais da série HB

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 Orientações sobre fim da vida útil do CentOS.

Aplica-se a: ✔️ VMs do Linux ✔️ VMs do 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. Usaremos o termo "pNUMA" para fazer referência a um domínio NUMA físico e "vNUMA" para fazer referência a um domínio NUMA virtualizado.

Fisicamente, um servidor da série HB é 2 * CPUs 32-core EPYC 7551 para um total de 64 núcleos físicos. Esses 64 núcleos são divididos em 16 domínios do pNUMA (8 por soquete), cada um dos quais são quatro núcleos e conhecidos como "CPU complexa" (ou "CCX"). Cada CCX tem seu próprio cache L3, que é como um sistema operacional verá um limite de pNUMA/vNUMA. Um par de CCXs adjacentes compartilha o acesso a dois canais de DRAM física (32 GB de DRAM em servidores da série HB).

Para fornecer espaço para o hipervisor do Azure operar sem interferir na VM, reservamos o domínio pNUMA físico 0 (o primeiro CCX). Em seguida, atribuímos domínios pNUMA 1-15 (as unidades de CCX restantes) para a VM. A VM verá:

(15 vNUMA domains) * (4 cores/vNUMA) = 60 núcleos por VM

A VM, em si, não sabe que pNUMA 0 não foi fornecido a ela. A VM compreende pNUMA 1-15 como vNUMA 0-14, com 7 vNUMA em vSocket 0 e 8 vNUMA no vSocket 1. Embora isso seja assimétrico, seu sistema operacional deve inicializar e operar normalmente. Posteriormente neste guia, instruímos a melhor forma de executar aplicativos MPI neste layout NUMA assimétrico.

A fixação do processo funcionará em VMs da série HB porque expomos o silício subjacente como está para a VM convidada. É altamente recomendável fixar o processo para desempenho e consistência ideais.

O diagrama a seguir mostra a diferenciação de núcleos reservada para o Hipervisor do Azure e a VM da série HB.

Segregação de núcleos reservada para a VM do Azure hypervisor e da série HB

Especificações de hardware

Especificações de Hardware VM da série HB
Núcleos 60 (SMT desabilitado)
CPU AMD EPYC 7551
Frequência de CPU (não AVX) ~ 2,55 GHz (único + todos os núcleos)
Memória 4 GB/núcleo (total de 240 GB)
Disco local SSD de 700 GB
Infiniband EDR Mellanox ConnectX-5 de 100 Gb
Rede Azure Second Gen SmartNIC com 50 GB de Ethernet (40 GB utilizáveis)

Especificações de software

Especificações de software VM da série HB
Tamanho máximo do Trabalho de MPI 18000 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 quatro discos)
Suporte do sistema operacional para SRIOV RDMA CentOS/RHEL 7.6+, Ubuntu 18.04+, SLES 15.4, WinServer 2016+
Suporte do Orchestrator CycleCloud, Lote, AKS; opções de configuração de cluster

Importante

Este documento faz referência a uma versão de lançamento do Linux que está se aproximando ou em Fim da Vida Útil(EOL). Considere atualizar para uma versão mais recente.

Próximas etapas