Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Profitez de récompenses et de remises réservées aux membres
  • Créez et accédez à une liste de vos produits
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

Desempenho de aplicativos de HPC na Configuração M do C4140

Résumé: Detalhes sobre uma nova solução de "Configuração M" adicionada ao Dell EMC PowerEdge C4140.

Cet article a peut-être été traduit automatiquement. Si vous avez des commentaires concernant sa qualité, veuillez nous en informer en utilisant le formulaire au bas de cette page.

Contenu de l’article


Symptômes

Artigo escrito por Frank Han, Rengan Xu e Quy Ta do Laboratório de inovação em IA e HPC da Dell EMC, em janeiro de 2019.

Résolution

Resumo

Recentemente, o Dell EMC PowerEdge C4140 adicionou uma nova solução de "Configuração M". Como essa última opção se junta à família C4140, este artigo apresenta os resultados do estudo avaliando o desempenho da Configuração M em comparação com a Configuração K de diferentes aplicativos de HPC, incluindo o HPL, o GROMACS e o NAMD.

Visão geral

O PowerEdge C4140 é um servidor em rack 1U de dois soquetes. Ele inclui suporte para os processadores Intel Skylake, slots com até 24 DIMMs e quatro placas GPU NVIDIA Volta de largura dupla. Na família de servidores C4140, as duas configurações que permitem NVLINK são a Configuração K e a Configuração M. A comparação entre as duas topologias é mostrada na Figura 1. As duas principais diferenças entre essas duas configurações são apresentadas abaixo:

  1. Maior largura de banda PCIe: Na Configuração K, as CPUs são conectadas a quatro GPUs por apenas um link PCIe. Na Configuração M, entretanto, cada GPU é conectada diretamente à CPU por um link PCIe dedicado. Portanto, há quatro links PCIe no total entre as duas CPUs, com quatro GPUs fornecendo maior largura de banda PCIe na Configuração M.
  2. Menor latência. A Configuração M não tem switch PCIe entre a CPU e as GPUs. As conexões diretas reduzem o número de saltos para transmissão de dados entre a CPU e a GPU. Dessa forma, a latência de ida e volta é menor na Configuração M.
    SLN315976_en_US__1image 1
Este blog apresenta o desempenho dos aplicativos de HPC nessas duas configurações. Nós comparamos o desempenho do HPL, do GROMACS e do NAMD com GPUs V100-SXM2 de 16 G. A Tabela 1 lista os detalhes de hardware e software.
SLN315976_en_US__2table

p2pBandwidthLatencyTest 


SLN315976_en_US__3latency
Figura 2: Latência de placa à placa com P2P desativado nas Configurações K e M do C4140

O p2pBandwidthLatencyTest é uma microrreferência de desempenho incluída no SDK CUDA. Ele mede a latência e a largura de banda de placa à placa com o ponto a ponto do GPUDirect™ ativado e desativado. O foco do teste é a parte da latência, pois esse programa não mede a largura de banda simultaneamente. A discussão sobre a largura de banda real disponível para aplicativos está na sessão de HPL abaixo. Os números listados na Figura 2 representam a média de 100 vezes a latência unidirecional de placa à placa em microssegundos. Cada vez que o código envia um byte de uma placa para outra, o número de P2P desativado é selecionado nesse gráfico. Caso o P2P estivesse ativado, os dados seriam transferidos por NVLINK. A latência de PCIe da Configuração M é 1.368 us menor que a latência da Configuração K devido às diferentes topologias de PCIe.

 

High Performance Linpack (HPL) 

SLN315976_en_US__41(18)
(a) Desempenho
SLN315976_en_US__52(14)
(b) Largura de banda PCIe média para cada GPU V100
SLN315976_en_US__63(12)
(c) Consumo de energia de uma execução do HPL

A Figura 3 (a) mostra o desempenho do HPL na plataforma do C4140 com uma, duas, quatro e oito GPUs V100-SXM2. Os valores resultantes de uma a quatro GPUs são referentes a um único servidor C4140; o resultado de desempenho de oito GPUs é referente a dois servidores. Nesse teste, a versão do HPL usada é fornecida pela NVIDIA e é compilada com a versão recente do CUDA 10 e do OpenMPI. Os seguintes aspectos podem ser observados a partir dos resultados do HPL:

1)         Único nó. Com todas as quatro GPUs em teste, a Configuração M é cerca de 16% mais rápida do que a Configuração K. Antes de o aplicativo HPL iniciar a computação, ele mede a largura de banda PCIe disponível do dispositivo ao host (D2H) e do host ao dispositivo (H2D) para cada placa GPU, quando todas as placas estiverem transferindo dados simultaneamente. Essas informações fornecem insights úteis sobre a largura de banda PCIe real para cada placa quando o HPL copia a matriz N*N para todas as memórias da GPU, ao mesmo tempo. Conforme mostrado na Figura 3 (b), os números de D2H e H2D da Configuração M são muito mais altos e estão atingindo o throughput teórico do PCIe x16. Isso corresponde à topologia de hardware, pois cada GPU na Configuração M tem um link PCIe x16 dedicado à CPU. Na Configuração K, as quatro GPUs V100 precisam compartilhar um único link PCIe x16 por meio do switch PLX PCIe. Dessa forma, só ficam 2,5 GB disponíveis para cada uma delas. Devido à diferença de largura de banda, a Configuração M levou 1,33 segundo para copiar a matriz N*N de 16 GB de quatro peças para cada memória global das GPUs, e a Configuração K levou 5,33 segundos. Todo o aplicativo HPL funciona por cerca de 23 a 25 segundos. Como todas as GPUs V100-SXM2 são as mesmas e o tempo de computação é o mesmo, essa economia de 4 segundos na cópia de dados torna a Configuração M 16% mais rápida.

2)         Vários nós. Os resultados de dois nós do C4140 com oito GPUs mostram mais de 15% de melhoria em dois nós do HPL. Isso significa que a Configuração M tem melhor escalabilidade entre nós do que a Configuração K, pelo mesmo motivo que o das quatro placas de único nó do caso acima.

3)         Eficiência. O consumo de energia foi medido com o iDRAC. A Figura 3 (c) mostra a potência em série cronológica. Os dois sistemas atingem cerca de 1850 W no pico. Devido ao número de GFLOPS mais elevado, a Configuração M proporciona um número maior de desempenho por watt e também maior eficiência de HPL. 

O HPL é uma referência de desempenho de nível de sistema e seus resultados são determinados por componentes, como CPU, GPU, memória e largura de banda PCIe. A Configuração M tem um design equilibrado entre as duas CPUs. Dessa forma, ela supera a Configuração K nessa referência de desempenho de HPL.

 

GROMACS 

GROMACS é um aplicativo de dinâmica molecular de código aberto que foi desenvolvido para simular moléculas bioquímicas, como proteínas, lipídeos e ácidos nucleicos, que têm muitas interações ligadas e complicadas. A versão 2018.3 é testada no conjunto de dados Water 3072 que tem 3 milhões de átomos.

 SLN315976_en_US__71(17)

Figura 4: Resultados de desempenho do GROMACS com várias V100 nas Configurações K e M do C4140

A Figura 4 mostra a melhoria no desempenho da Configuração M em relação à Configuração K. O desempenho da placa única é o mesmo nas duas configurações, pois não há diferença no caminho de dados. Com duas e quatro GPUs, a Configuração M é cerca de 5% mais rápida do que a Configuração K. Quando testada em dois nós, a Configuração M tem um desempenho até 10% melhor. O principal motivo é o aumento do número de conexões PCIe, que fornecem mais largura de banda e permitem que um número maior de dados alimente as GPUs com rapidez. O GROMACS é significativamente acelerado com GPUs, mas esse aplicativo usa CPUs e GPUs para cálculo em paralelo; portanto, se o GROMACS for o principal aplicativo em um cluster, será recomendável usar uma CPU robusta. Esse gráfico também mostra o dimensionamento de desempenho do GROMACS com mais servidores e mais GPUs. Embora o desempenho do aplicativo aumente com mais GPUs e mais servidores, o aumento de desempenho com GPUs adicionais é inferior ao linear.

 

NAnoscale Molecular Dynamics (NAMD)

NAMD é um código de dinâmica molecular desenvolvido para simulação de alto desempenho de grandes sistemas biomoleculares. Nesses testes, o binário de pré-compilação não foi usado. Em vez disso, o NAMD foi compilado com o código-fonte mais recente (NAMD_Git-2018-10-31_Source) no CUDA 10. A Figura 4 traça os resultados de desempenho usando o conjunto de dados STMV (1.066.628 átomos, periódico, PME). Testes em conjuntos de dados menores, como f1atpase (327.506 átomos, periódico, PME) e apoa1 (92.224 átomos, periódico, PME), resultaram em comparações semelhantes entre a Configuração M e a Configuração K, mas não foram apresentados aqui por uma questão de brevidade. 

SLN315976_en_US__81(16)
Figura 5: Resultados de desempenho do NAMD com várias V100s nas Configurações K e M do C4140

Assim como no GROMACS, o número quatro vezes maior de largura de banda PCIe contribui para o desempenho no NAMD. A Figura 5 mostra que o desempenho da Configuração M com duas e quatro placas é, respectivamente, 16% e 30% maior do que o da Configuração K, no conjunto de dados STMV. Espera-se que o desempenho de uma única placa seja o mesmo porque, com apenas uma GPU em teste, a largura de banda PCIe é idêntica.

 

Conclusões e trabalho futuro

Neste blog, o desempenho dos aplicativos de HPC com HPL, GROMACS e NAMD foi comparado em duas configurações NVLINK diferentes do PowerEdge C4140. O HPL, o GROMACS e o NAMD têm um desempenho na Configuração M aproximadamente 10% melhor do que na Configuração K. Em todos os testes, a Configuração M oferece no mínimo o mesmo desempenho da Configuração K, visto que ela tem todos os excelentes recursos da Configuração K, além do número maior de links PCIe, sem switches PCIe. Há previsão de testes futuros com mais aplicativos, como RELION, HOOMD e AMBER, e também testes usando a GPU V100 de 32 G.

Propriétés de l’article


Produit concerné

High Performance Computing Solution Resources, Poweredge C4140

Dernière date de publication

21 févr. 2021

Version

2

Type d’article

Solution