O que é NUMA?

Se o dinheiro não for um problema, você pode comprar todas as peças de PC mais caras e construir um PC poderoso para verificar seu e-mail e navegar pelas mídias sociais. Claro, não é assim que a maioria das pessoas compra as coisas; não é nem mesmo como os ricos compram as coisas, pois não é uma excelente maneira de permanecer rico. Em vez disso, a maioria das pessoas analisa o que deseja fazer com um computador e, em seguida, encontra um computador com hardware adequado.

No mercado doméstico, há uma quantidade razoável de opções, mas quando você chega ao mercado de estações de trabalho e servidores, existem algumas opções ainda mais poderosas por ainda mais dinheiro. Por exemplo, o melhor PC que você pode construir em casa suporta 16 núcleos ( ou 24 se você contar os núcleos de eficiência da Intel ). Você também pode obter uma GPU poderosa. Tecnicamente, você pode obter várias GPUs poderosas, mas não pode usá-las juntas, pois o SLI/NVLINK está essencialmente morto.

No mercado de servidores e estações de trabalho, você pode obter muito mais núcleos em uma CPU, até 96 na linha EPYC da AMD. Você também pode obter GPUs com interconexões mais capazes e mais VRAM. Os núcleos da CPU, no entanto, são para onde vai muito dinheiro, especialmente nos mundos HPC ( computação de alto desempenho ), hiperescalador e supercomputação. Então, o que você faz se precisar de mais de 96 núcleos em um computador? Adicione mais CPUs, obviamente.

Placas-mãe com vários soquetes

Claro, você não pode simplesmente colocar uma segunda CPU em qualquer placa-mãe antiga; não haveria para onde ir. Você precisa de hardware específico. A AMD suporta a capacidade de duas de suas CPUs de servidor EPYC serem colocadas na mesma placa-mãe. Isso oferece um total de 192 núcleos ou 384 threads. As CPUs de servidor mais recentes da Intel atingiram o máximo de 40 núcleos, embora a geração anterior apresentasse um modelo de 56 núcleos. A Intel, no entanto, suporta até 8 CPUs em uma única placa-mãe. São 320 ou 448 núcleos e 640 ou 896 threads. Embora isso seja exagerado para verificar o Instagram, algumas cargas de trabalho podem usar toda essa potência.

O problema vem da memória. Quatro coisas geralmente limitam as CPUs. A primeira é a falta de coisas para fazer; às vezes, a CPU simplesmente não está carregada. Em seguida, você tem energia, há tanta energia que você pode consumir antes de começar a danificar a CPU, e existem limites para garantir que a CPU não corra o risco de queimar quando estiver sob carga total. Você também tem a pressão de temperatura intimamente relacionada, quanto mais energia você usa, mais calor você gera e tem que dissipar; o superaquecimento é tão ruim quanto muita energia quando as coisas começam a derreter. A outra limitação é o acesso à memória.

Uma CPU normalmente precisa de muitos dados para realizar muitos processamentos. Tudo isso é armazenado na RAM. Infelizmente, a RAM é muito lenta em comparação com uma CPU. Isso pode deixá-lo ocioso por “tempos” antes de obter os dados necessários para operar. O cache da CPU ajuda muito, mas é tão pequeno que não dá para cobrir tudo, e a memória principal precisa ser acessada.

Latência de memória

Para minimizar o efeito da lentidão da RAM, ela é fisicamente colocada o mais próximo possível da CPU. É por isso que a RAM está sempre localizada diretamente ao lado do soquete da CPU em uma placa-mãe. Mas o que acontece se você tiver várias CPUs em uma única placa-mãe? Então, há um tempo de acesso diferente para uma CPU acessar sua memória em comparação com a memória ao lado da outra. “Ah, não”, você pode dizer, “algumas memórias são um pouco mais lentas”. Mas esse é um problema real que pode ter um efeito surpreendentemente profundo no desempenho. Este conceito é chamado Non-Uniform Memory Access, ou NUMA.

O NUMA envolve o fornecimento de um mecanismo para o sistema operacional entender que, embora possa acessar toda a memória, algumas partes são preferidas para certas coisas em detrimento de outras. Sempre que possível, o sistema operacional armazena dados para tarefas em execução na CPU1 na RAM diretamente ao lado da CPU1. Da mesma forma, os dados necessários para uma tarefa executada na CPU2 são armazenados na RAM diretamente ao lado da CPU2. Obviamente, com capacidades limitadas de RAM e conjuntos de dados massivos, nem sempre é possível permanecer dentro desses limites. Ainda assim, os melhores esforços são feitos e têm um impacto significativo no desempenho.

O acesso à memória em um único canal também é sequencial. Isso significa que quando duas CPUs diferentes tentam acessar dados no mesmo canal, uma conectada diretamente ao DIMM e a outra NUMA, a segunda solicitação não só precisa esperar, ociosa, por sua solicitação, mas também pela solicitação da outra processador. Assim, sempre que possível, os dados devem ser armazenados na RAM diretamente ao lado da CPU que vai precisar deles.

Conclusão

NUMA significa Non-Uniform Memory Access. É um termo usado em sistemas de computador com várias CPUs físicas. Refere-se ao fato de que uma CPU terá uma latência de memória diferente da RAM diretamente ao seu redor em comparação com a RAM ao redor de outra CPU. A latência extra diminui o desempenho do sistema de várias maneiras. NUMA é uma forma de informar ao sistema operacional que este é o caso.

Ele permite otimizar o uso da memória e a localidade dos dados com base na CPU que precisa dos dados. Sempre que possível, todos os dados dos processos executados em uma CPU são armazenados na RAM diretamente conectada a essa CPU. Quando a RAM local não tem capacidade suficiente, os dados podem transbordar na RAM em torno de outras CPUs. Novamente, sempre que possível, o número de saltos NUMA é minimizado para reduzir a latência.



Leave a Comment

Como clonar um disco rígido

Como clonar um disco rígido

Na era digital moderna, onde os dados são um bem valioso, a clonagem de um disco rígido no Windows pode ser um processo crucial para muitos. Este guia completo

Como consertar o driver WUDFRd que falhou ao carregar no Windows 10?

Como consertar o driver WUDFRd que falhou ao carregar no Windows 10?

Você está enfrentando a mensagem de erro ao inicializar o computador, informando que o driver WUDFRd falhou ao carregar no seu computador?

Como corrigir o código de erro NVIDIA GeForce Experience 0x0003

Como corrigir o código de erro NVIDIA GeForce Experience 0x0003

Você está enfrentando o código de erro 0x0003 da experiência NVIDIA GeForce em sua área de trabalho? Se sim, leia o blog para descobrir como corrigir esse erro de forma rápida e fácil.

Noções básicas de impressão 3D: adesão à base da impressora

Noções básicas de impressão 3D: adesão à base da impressora

Aprendendo sobre impressão 3D? Aqui está o que você precisa saber sobre a adesão da base da impressora.

Como remover uma GPU do Windows PC em 2023

Como remover uma GPU do Windows PC em 2023

Você precisa remover a GPU do seu PC? Junte-se a mim enquanto explico como remover uma GPU do seu PC neste guia passo a passo.

Como instalar um SSD NVMe em um desktop e laptop

Como instalar um SSD NVMe em um desktop e laptop

Comprou um novo SSD NVMe M.2, mas não sabe como instalar? Continue lendo para saber como instalar um SSD NVMe em um laptop ou desktop.

O que é uma bomba lógica?

O que é uma bomba lógica?

Uma bomba lógica é um incidente de segurança em que um invasor configura uma ação atrasada. Continue lendo para saber mais.

O que é Stuxnet?

O que é Stuxnet?

O Stuxnet era um worm autopropagado. Foi o primeiro uso de uma arma cibernética e a primeira ocorrência de malware.

O que é um hacker ético?

O que é um hacker ético?

Um hacker ético é um hacker que age dentro das restrições da lei. Continue lendo para saber mais sobre o assunto.

O que é criptografia simétrica?

O que é criptografia simétrica?

Existem muitas partes diferentes da criptografia. Se você deseja criptografar alguns dados, existem dois tipos de algoritmos que você pode usar: simétrico