Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

AMD Rome – é de verdade? Arquitetura e desempenho de HPC inicial

Summary: No HPC mundo hoje, uma introdução à versão mais recente do código do processador EPYC da AMD, nomeada em Roma.

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Garima Kochhar, Deepthi Cherlopalle, Joshua Weage. Laboratório de inovação HPC e AI, outubro de 2019

Cause

 

Resolution


No HPC mundo hoje, o código do processador EPYC da geração mais recente da AMD não SLN319015_en_US__1iC_External_Link_BD_v1 precisa de uma introdução. Estamos avaliando sistemas baseados em Roma no laboratório de inovação HPC e ai nos últimos meses e Dell Technologies servidores recentemente anunciadosSLN319015_en_US__1iC_External_Link_BD_v1 que suportam essa arquitetura de processador. Este primeiro blog da série Roma abordará a arquitetura do processador de Roma, como isso pode ser ajustado para obter HPC desempenho e apresentará o desempenho inicial de micro benchmark. Blogs subsequentes descrevem o desempenho dos aplicativos em todos os domínios de CFD, CAE, moleculares numéricos Dynamics, a simulação do clima e outros aplicativos.


 

Arquitectura

 

O Roma é a CPU EPYC da 2ª geração da AMD, atualizando o Naplesde 1ª geração. Discutimos o Naples neste blog no ano passado.

Uma das maiores diferenças arquitetônicas entre Naples e Roma que beneficia HPC é o novo chip de i/o em Roma. Em Roma, cada processador é um pacote de múltiplos chips composto de até 9 chiplets , conforme mostrado na Figura 1. Há uma matriz de IO 14 nm central que contém todas as funções de i/o e memória — pense nas controladoras de memória, links de tecido Infinity dentro do soquete e conectividade entre soquetes e PCI-e. Existem oito controladoras de memória por soquete que dão suporte a oito canais de memória que executam o DDR4 em 3200 MT/s. Um servidor de soquete único pode dar suporte a até 130 PCIe pistas de Gen4. Um sistema de soquete duplo pode dar suporte a até 160 PCIe pistas de Gen4.

SLN319015_en_US__3Fig1-Roma (2)

(Figura. 1em um pacote de múltiplos chips com uma matriz de e/s central e até oito núcleos de até 8 núcleos)

Ao redor do chip central de e/s, há até oito chipletss de 7nm Core. O Core chiplet é chamado de matriz de cache de núcleo ou CCD. Cada CCD tem núcleos de CPU com base em Zen2 micro-Architecture, cache L2 e 32MB de cache L3. O próprio CCD tem dois núcleos de cache de Core (CCX), SLN319015_en_US__1iC_External_Link_BD_v1 cada CCX possui até quatro núcleos e 16MB de cache L3. Figura. 2 mostra uma CCX.

SLN319015_en_US__5Fig2-Roma (2)

(Figura 2 A CCX com quatro núcleos e cache L3 de 16MB compartilhado)

Os modelos de CPU diferentes de RomaSLN319015_en_US__1iC_External_Link_BD_v1 têm números diferentes de núcleos,SLN319015_en_US__1iC_External_Link_BD_v1 mas todos têm um chip central de e/s.

No topo, há um modelo de CPU de 64 núcleo, por exemplo, o EPYCdor 7702. a saída lstopo mostra que este processador tem 16 CCXs por soquete, cada CCX tem quatro núcleos, conforme mostrado na Figura 3 & 4, gerando, assim, 64 núcleos por soquete. 16MB L3 por CCX, ou 32MB L3 por CCD, fornece a esse processador um total de 256MB de cache L3. No entanto, observe que o total do cache L3 em Roma não é compartilhado por todos os núcleos. O cache L3 de 16MB em cada CCX é independente e é compartilhado apenas pelos núcleos no CCX, conforme ilustrado na figura. 2.

Uma CPU de 24 núcleos como o EPYC 7402 tem 128MB de cache L3. a saída do lstopo na figura. 3 & 4 ilustra que esse modelo tem três núcleos por CCX e 8 CCX por soquete.

SLN319015_en_US__8Fig31-Roma (2)

SLN319015_en_US__9Fig32-Roma (2)

(Figura. 3 & 4 lstopo saída para CPUs 64-core e 24 núcleos)

Independentemente do número de CCDs, cada processador de Roma é dividido logicamente em quatro quadrantes com o CCDs distribuído tão uniformemente nos quadrantes quanto possível e dois canais de memória em cada quadrante. O chip central de e/s pode ser considerado como o suporte de modo lógico a quatro quadrantes do soquete.


Voltar ao início

 

 

Opções do BIOS com base na arquitetura de Roma

 

O chip central de e/s em Roma ajuda a melhorar as latências de memóriaSLN319015_en_US__1iC_External_Link_BD_v1 sobre aquelas medidas em Naples. Além disso, permite que a CPU seja configurada como um único domínio NUMA, permitindo o acesso uniforme à memória para todos os núcleos no soquete. Isso é explicado a seguir.

Os quatro quadrantes lógicos em um processador Roma permitem que a CPU seja particionada em diferentes domínios NUMA. Essa configuração é chamada de numa por soquete ou NPS.

  • O NPS1 implica que a CPU de Roma é um único domínio de NUMA, com todos os núcleos no soquete e toda a memória neste domínio de NUMA. A memória é intercalada nos oito canais de memória. Todos os dispositivos PCIe no soquete pertencem a esse único domínio NUMA
  • O NPS2 particiona a CPU em dois domínios NUMA, com metade dos núcleos e metade dos canais de memória no soquete em cada domínio NUMA. A memória é intercalada nos quatro canais de memória em cada domínio NUMA
  • O NPS4 particiona a CPU em quatro domínios NUMA. Cada quadrante é um domínio NUMA aqui e a memória é intercalada nos dois canais de memória em cada quadrante. Os dispositivos PCIe serão locais para um dos quatro domínios NUMA no soquete, dependendo de qual quadrante da matriz IO tiver a raiz PCIe para esse dispositivo
  • Nem todas as CPUs podem dar suporte a todas as configurações do NPS

Quando disponível, o NPS4 é recomendado para HPC, uma vez que é esperado fornecer a melhor largura de banda de memória, as menores latências de memória e nossos aplicativos tendem a ser compatíveis com o NUMA. Se o NPS4 não estiver disponível, recomendamos o maior NPS compatível com a CPU Model-NPS2, ou até mesmo NPS1.

Dadas a infinidade de opções de NUMA disponíveis em plataformas baseadas em Roma, o PowerEdge BIOS permite dois métodos diferentes de enumeração de núcleo em enumeração de MADT. O número de enumeração linear preenche núcleos em ordem, preenchendo uma CCX, CCD, soquete antes de mudar para o próximo soquete. Em uma CPU de 32C, os núcleos de 0 a 31 estarão no primeiro soquete, núcleos 32-63 no segundo soquete. A enumeração Round-Robin numera os núcleos nas regiões NUMA. Nesse caso, até mesmo os núcleos numerados estarão no primeiro soquete, núcleos de número ímpar no segundo soquete. Para simplificar, recomendamos Enumeração linear para HPC. Consulte a Figura 5 para obter um exemplo de enumeração linear de núcleo em um servidor 64c de soquete duplo configurado no NPS4. Na figura, cada caixa de quatro núcleos é uma CCX, cada conjunto de oito núcleos contíguos é um CCD.

SLN319015_en_US__11Fig4-Roma (2)

(Figura. 5 de enumeração linear em um sistema de soquete duplo, 64c por soquete, configuração de NPS4 em um modelo de CPU de 8 CCD)

Outra opção de BIOS específica de Roma é chamada de dispositivo de e/s preferido. Esse é um botão de ajuste importante para a largura de banda e a taxa de mensagens InfiniBand. Ele permite que a plataforma priorize o tráfego para um dispositivo de i/o. Esta opção está disponível em plataformas de um soquete, bem como em Roma, e o dispositivo InfiniBand na plataforma precisa ser selecionado como o dispositivo preferencial no menu do BIOS para atingir a taxa de mensagem completa quando todos os núcleos de CPU estão ativos.

Semelhante ao Naples, o Roma também suporta o Hyper-Threading ou o processador lógico. Por HPC, deixamos esse desativado, mas alguns aplicativos podem se beneficiar da habilitação do processador lógico. Procure nossos Blogs subsequentes nos estudos de aplicativos do moleculares numéricos Dynamics.

Semelhante ao Naples, o Roma também permite CCX como domínio numa. Esta opção expõe cada CCX como um nó NUMA. Em um sistema com CPUs de soquete duplo com 16 CCXs por CPU, esta configuração expõe domínios NUMA de 32. Neste exemplo, cada soquete tem 8 CCDs, ou seja, 16 CCX. Cada CCX pode ser ativado como seu próprio domínio de NUMA, oferecendo 16 nós NUMA por soquete e 32 em um sistema de dois soquetes. Por HPC, recomendamos deixar a CCX como domínio numa na opção padrão Disabled (desabilitada). A habilitação desta opção é esperada para ajudar ambientes virtualizados.

Semelhante ao Naples, o Roma permite que o sistema seja configurado no modo de Determináção de desempenho ou no modo de deformação de energia . No determinante do desempenho, o sistema opera na frequência esperada para o modelo da CPU, reduzindo a variabilidade em vários servidores. No determinante da energia, o sistema opera na TDP máxima disponível do modelo da CPU. Isso aumenta a parte da variação da peça no processo de fabricação, permitindo que alguns servidores sejam mais rápidos do que outros. Todos os servidores podem consumir a potência máxima nominal da CPU, tornando o consumo de energia determinístico, mas possibilitando uma variação de desempenho em vários servidores.

Como você esperava em plataformas PowerEdge, o BIOS tem uma opção meta chamada perfil do sistema. A seleção do perfil de desempenho otimizado do sistema habilitará o modo Turbo Boost, desabilitará os Estados C e definirá o controle deslizante de demissão como o desligamento da energia, otimizando o desempenho.


Voltar ao início

 

 

Resultados de desempenho – fluxo, HPL e microbenchmarks InfiniBand

 

Muitos de nossos leitores podem ter salto direto para esta seção, então vamos mergulhar direto.

No laboratório de inovação HPC e AI, criamos um cluster com base em Roma de 64-Server que estamos ligando a Minerva. Além do cluster homogêneo do Minerva, temos algumas outras amostras de CPU de Roma que pudemos avaliar. Nosso testbed é descrito na tabela. 1 e na tabela. 2.

(Tabela. 1 os modelos de CPU em Roma avaliados neste estudo)

CPU Núcleos por soquete Config Clock da base TDP
7702 64c 4C por CCX 2,0 GHz 200W
7502 32c 4C por CCX 2,5 GHz 180 W
7452 32c 4C por CCX 2,35 GHz 155W
7402 24c 3C por CCX 2,8 GHz 180 W

(Table. 2 testbed)

Componente Detalhes
Servidor PowerEdge C6525
Processador Como mostrado na tabela. 1 Dual-Socket
Memória 256 GB, 16x16GB 3200 MT/s DDR4
Interconexão HDR100s de banda de Mellanox ConnectX-6
Sistema operacional Red Hat Enterprise Linux 7.6
Kernel 3.10.0.957.27.2.e17.x86_64
Disco módulo SSD M. 2 SATA de 240 GB


Voltar ao início

 

 

TDS

 

Os testes de largura de banda da memória em Roma são apresentados na Figura 6, esses testes foram executados no modo NPS4. Medimos a largura de banda de memória de 270-300 GB/s em nosso C6525 de dois PowerEdge soquetes ao usar todos os núcleos do servidor nos quatro modelos de CPU listados na tabela. 1. Quando apenas um núcleo é usado por CCX, a largura de banda da memória do sistema é de ~ 9-17% superior à medida em todos os núcleos.

A maioria das cargas de trabalho HPC se inscreverá totalmente em todos os núcleos do sistema, ou os centros de HPC serão executados no modo high throughput com vários trabalhos em cada servidor. Portanto, a largura de banda de memória totalmente Core é a representação mais precisa dos recursos de largura de banda da memória e largura de banda de memória por núcleo do sistema.

Figura. 6 também plota a largura de banda da memória medida na plataforma Naples EPYC da geração anterior, que também é compatível com oito canais de memória por soquete, mas em execução às 2667 MT/s. A plataforma de Roma oferece uma largura de banda total de 5% a 19% melhor do que a Naples, e isso é predominantemente devido à memória de MT/s 3200 mais rápida. Mesmo com o 64c por soquete, o sistema de Roma pode oferecer versões anteriores de 2 GB/s/núcleo.

SLN319015_en_US__12icon Nota: Uma variação de desempenho de 5-10% nos resultados de Triad de fluxo foi medida em vários servidores com base em Roma configurados de maneira idêntica, os resultados abaixo devem, portanto, ser considerados como o topo do intervalo.
 

Comparando a configuração diferente de NPS, a largura de banda de memória superior a 13% foi medida com NPS4 em comparação com o NPS1, conforme mostrado na Figura 7.

SLN319015_en_US__13Fig5-Roma (2)

(Figura. 6 NPS4 fluxo de largura de banda da memória Triad de soquete duplo)

SLN319015_en_US__14Fig6-Roma (2)

(Figura. 7 NPS1 vs NPS2 vs, largura de banda de memória do NPS 4)


Voltar ao início

 

 

Largura de banda e taxa de mensagem InfiniBand

 

Figura. 8 indica a largura de banda InfiniBand de núcleo único para testes uni-direcional e bidirecional. O testbed usado HDR100 em execução às 100 Gbps, e o gráfico mostra o desempenho esperado da taxa de linha para esses testes.

SLN319015_en_US__15fig6-IBBW (2)

Figura. 8 largura de banda InfiniBand (núcleo único))

SLN319015_en_US__16fig7-MR (2)

Figura. 9 taxa de mensagem InfiniBand (todos os núcleos))

Os testes de taxa de mensagem foram realizados próximo usando todos os núcleos em um soquete nos dois servidores em teste. Quando o i/o preferencial é ativado no BIOS e o adaptador HDR100 ConnectX-6 está configurado como o dispositivo preferencial, a taxa de mensagens totalmente principais é significativamente maior do que quando o i/o preferencial não é ativado, conforme mostrado na Figura 9. Isso ilustra a importância desta opção do BIOS ao ajustar para HPC e especialmente para a escalabilidade de aplicativos de vários nós.


Voltar ao início

 

 

HPL

 

A microarquitetura de Roma pode desativar 16 a FLOP/o ciclo de DP, o dobro de Naples que foram 8 FLOPs/ciclos. Isso proporciona a Roma 4 portas de pico teóricas em Naples, 2x do recurso de ponto flutuante aprimorado e 2x do dobro do número de núcleos (64c vs 32C). Figura. 10 plota os resultados de HPL medidos para os quatro modelos de CPU de Roma testados, juntamente com nossos resultados anteriores, a partir de um sistema baseado em Naples. A eficiência de HPL de Roma é indicada como o valor de porcentagem acima das barras no gráfico e é superior para os modelos de CPU inferior TDP.

Os testes foram executados no modo de determinánte de energia e um Delta de ~ 5% em desempenho foi medido em servidores de 64 configurados de maneira idêntica, os resultados aqui são, portanto, na banda de desempenho.

SLN319015_en_US__17Fig9-Roma (2)

(Figura. 10 servidor single HPL no NPS4)

Os próximos testes do HPL de vários nós foram executados e os resultados são representados na Figura 11. A eficiência do HPL para EPYC 7452 permanece acima de 90% em uma escala de 64 nós, mas a queda da eficiência de 102% para 97% e backup para 99% precisa de uma avaliação adicional

SLN319015_en_US__18Fig10-Roma (2)

(Figura. 11 HPL de vários nós, EPYC de soquete duplo 7452 sobre HDR100 Infiniband)


Voltar ao início

 

 

Resumo e o que vem depois

 

Análises de desempenho iniciais em servidores baseados em Roma mostram o desempenho esperado para nosso primeiro conjunto de benchmarks HPC. O ajuste do BIOS é importante ao configurar para obter o melhor desempenho, e as opções de ajuste estão disponíveis no perfil de carga de trabalho HPC BIOS, que pode ser configurado na fábrica ou em conjunto usando utilitários de gerenciamento de sistemas Dell EMC.

O HPC e o laboratório de inovação do ai têm uma nova base de 64-servidor com base em Roma PowerEdge cluster Minerva. Assista a esse espaço para Blogs subsequentes que descrevem estudos de desempenho de aplicativos em nosso novo cluster do Minerva.


Voltar ao início

 

Article Properties


Last Published Date

06 May 2021

Version

5

Article Type

Solution