Ajuste SNC/NPS para Ryzen Threadripper série 7000 para aumentar ainda mais o desempenho
A série AMD Ryzen Threadripper 7000 oferece desempenho excepcional pronto para uso para usuários de desktops e estações de trabalho Linux, conforme evidenciado por nossos testes usando os processadores Ryzen Threadripper 7970X e 7980X, bem como o Threadripper Pro 7995WX. Embora menos comumente usado na plataforma EPYC, é possível ajustar o número de nós por soquete (NPS) ou configurações de cluster sub-NUMA (SNC) na série Threadripper 7000 para melhorar seu desempenho para determinadas cargas de trabalho. Este artigo apresenta um extenso conjunto de resultados de benchmark que demonstram o efeito do ajuste dos parâmetros SNC2/SNC4 no Zen 4 Thread
A configuração das configurações NUMA no BIOS do sistema é uma opção possível de ajuste, embora muitas estações de trabalho e placas-mãe normalmente as tenham desabilitadas por padrão. Durante os testes em uma estação de trabalho HP Z6 G5 A utilizando o processador Ryzen Threadripper PRO 7995WX, a terminologia usada foi “Clustering Sub-NUMA” em oposição a “Nós por soquete”, que é específico para processadores Intel.
Por padrão, o sistema opera em um estado desabilitado em que todas as CPUs são configuradas coletivamente como um domínio solitário de acesso à memória não uniforme (NUMA). No entanto, após a transição para configurações NPS2 ou SNC2, as unidades de processamento são divididas em dois domínios NUMA separados, cada um compreendendo metade do número total de núcleos e recursos de memória. Ao mesmo tempo, o número de canais de memória utilizados é reduzido pela metade e eles são distribuídos uniformemente entre os dois domínios NUMA. Por outro lado, ao passar para SNC4 (ou NPS4), o sistema subdivide ainda mais cada quadrante em um domínio NUMA individual. Nesses casos, a capacidade de memória é distribuída de forma inteligente entre esses quadrantes, aproveitando quatro canais de memória para cada quadrante, desde que
A eficácia das configurações de NPS/SNC na otimização do desempenho depende da carga de trabalho específica, bem como do nível de reconhecimento e otimização exibido pelo software em relação às diversas arquiteturas NUMA. Para fornecer informações valiosas aos leitores curiosos sobre o impacto da ativação desses recursos, realizei vários testes abrangendo vários cenários. Esses resultados podem servir como uma referência útil, considerando que estudos anteriores examinaram principalmente o desempenho de sistemas com configurações NPS/SNC desabilitadas. Além disso, dados abrangentes sobre o comportamento do Ryzen Threadripper sob tais condições são menos prevalentes do que sua contraparte, a plataforma de servidor EPYC, onde a funcionalidade NPS/SNC é melhor compreendida.
Para avaliar as capacidades de desempenho do HP Z6 G5 A, que está atualmente em análise nesta plataforma, utilizamos um AMD Ryzen Threadripper 7995WX, um processador de 96 núcleos baseado na arquitetura Zen 4 que possui 8 x 16GB DDR5-5200 memória. Nossa avaliação envolveu a realização de uma série de testes usando as configurações padrão do dispositivo, incluindo a revisão dos benchmarks SNC2 e SNC4 por meio do HP BIOS. Além disso, ajustamos o parâmetro ajustável SNC no BIOS sem fazer quaisquer modificações adicionais nas configurações de firmware ou software do sistema.
A utilização de software compatível com NUMA apresenta uma oportunidade simples de melhorar o desempenho por meio da otimização dos parâmetros NPS e SNC.
É importante notar que os benefícios do aumento do TCE podem não ser universalmente aplicáveis, e a decisão de fazer esta alteração deve basear-se na carga de trabalho específica executada com mais frequência. Para aqueles que usam HEDT ou estações de trabalho, determinar se esta modificação é garantida requer uma consideração cuidadosa de seus padrões de uso específicos.
Descobriu-se que a implementação desta modificação direta do BIOS produz vantagens consideráveis em termos de desempenho, particularmente quando utilizada em conjunto com aplicativos como OpenFOAM e suas operações associadas de dinâmica de fluidos computacional (CFD).
Ao utilizar o AMD Ryzen Threadripper série 7000 em um ambiente de produção, é aconselhável considerar antecipadamente a configuração ideal de cluster/nós por soquete Sub-NUMA, pois isso pode afetar significativamente o desempenho em tal ambiente.
Para estabelecer uma linha de base para avaliar os efeitos dos ajustes SNC em uma estação de trabalho HP Z6 G5 equipada com um processador AMD Ryzen Threadripper 7995WX, conduzi aproximadamente 200 testes de desempenho. Esses resultados servem como um ponto de comparação útil ao avaliar possíveis alterações ou otimizações.
A utilização do modo operacional SNC4 resultou na compilação mais rápida de software ao utilizar o poderoso processador da série Threadripper PRO 7000, que é considerado uma oferta top de linha.
Em geral, os sistemas de gerenciamento de banco de dados demonstraram desempenho ideal quando operando no estado padrão ou desativado.
O benchmark Graph500 High-Performance Computing (HPC) exibiu melhorias notáveis nos modos de operação SNC2 e SNC4.
A otimização de PyTorch e TensorFlow em relação à topologia de acesso não uniforme à memória (NUMA) não foi realizada…
A implementação dos controles de clustering Sub-NUMA no BIOS da estação de trabalho HP resultou em uma melhoria notável no desempenho do kit de ferramentas OpenVINO AI, especificamente em termos de latência reduzida durante testes de inferência. Embora também tenham havido ligeiros aumentos no rendimento observados nos resultados de benchmarking de IA, o impacto mais significativo foi observado na redução dos tempos de latência.
Entretanto, no que diz respeito a software como o PetSc, é evidente que não existe disparidade perceptível no desempenho entre os dois sistemas.
Tudo se resume ao software específico de interesse/uso em sua estação de trabalho AMD Ryzen Threadripper se é uma boa ideia ajustar o padrão Sub-NUMA Clustering/Nodes Per Socket. Para software compatível com NUMA, isso pode significar alguns ganhos de desempenho muito bons, como mostrado em casos como OpenVINO, OpenFOAM, Graph500, LULESH, cargas de trabalho de compilação de código, etc. Aqueles que atualizam para um sistema AMD Ryzen Threadripper série 7000 e desejam ver todos os 196 benchmarks I executado na íntegra para esta comparação SNC2/SNC4 pode encontrar os dados nesta página de resultados. Os ajustes de NPS são uma consideração comum no espaço de servidor EPYC/HPC, mas também para processadores Threaderipper esta pode ser uma configuração muito benéfica que merece a devida consideração.
Gostaríamos de expressar nossa gratidão à HP por nos proporcionar a oportunidade de testar sua estação de trabalho HP Z6 G5 A, o que nos permitiu realizar testes e avaliar o desempenho do Ryzen Threadripper PRO 7995WX.
*️⃣ Link da fonte: