O que é acesso não uniforme à memória (NUMA)?

Last Updated: 2022-08-02
4.3
(7)
Resumo: NUMA, abreviação de Non-Unified Memory Access, é um projeto de memória de computador para multiprocessamento. Veja aqui uma introdução completa ao NUMA.

Definição

NUMA é uma arquitetura de multiprocessamento em que a memória é dividida em armazenamento restrito e distante, e o tempo de acesso à memória depende da localização da memória em relação ao processador.

No NUMA, os processadores acessam sua memória local mais rápido do que a memória não local. Os benefícios do NUMA são limitados a cargas de trabalho específicas, especialmente em servidores onde os dados são tipicamente fortemente associados a tarefas ou usuários específicos.

Os sistemas de acesso à memória não uniforme são plataformas de servidor avançadas com vários barramentos de sistema. Essas plataformas podem usar vários processadores em uma única placa e todos os processadores têm acesso a toda a memória da placa-mãe.

As arquiteturas NUMA seguem logicamente na escala de uma arquitetura SMP (Multiprocessamento Simétrico). Comparada ao SMP, a arquitetura NUMA pode ser dimensionada para um número maior de CPUs.

Conceito básico

Modern CPUs run much faster than the main memory they use. In the early stages of computing and data processing, the CPU typically runs slower than its memory. The limiting memory access number is the key to extracting high performance from modern computers.

No entanto, o aumento acentuado no tamanho do sistema operacional e nos aplicativos em execução no sistema operacional muitas vezes sobrecarrega essas melhorias no processamento do cache. Um sistema multiprocessador sem NUMA torna o problema ainda pior.

O NUMA tenta resolver esse problema fornecendo memória separada para cada processador, evitando um impacto no desempenho quando vários processadores resolvem a mesma memória.

Além disso, os sistemas NUMA incluem outro hardware ou software para mover dados entre bancos de memória. Isso reduz a velocidade dos processadores conectados a esses bancos. Portanto, o aumento geral da velocidade devido ao NUMA depende principalmente da natureza da tarefa em execução.

Cache Coerente NUMA (ccNUMA)

Quase todas as arquiteturas de CPU aproveitam os locais de referência no acesso à memória com uma pequena quantidade de memória não compartilhada de alta velocidade chamada cache.

O ccNUMA adota a comunicação entre processadores de cache para manter imagens de memória consistentes quando vários caches armazenam o mesmo local de memória. Como resultado, o ccNUMA tem um desempenho ruim quando vários processadores tentam acessar rápida e continuamente a mesma área de memória.

Supporting NUMA in the operating system tries to reduce the frequency of such access by allocating processors and memory in a NUMA-friendly manner and preventing the scheduling and locking algorithms necessary to make NUMA unfriendly access.

Suporte de software

Como o NUMA influencia muito o desempenho de acesso à memória, alguma otimização de software é necessária para permitir que threads e processos de agendamento acessem seus dados de memória.

  • Silicon Graphics IRIX suporta a arquitetura ccNUMA em 1240 CPUs e Origin Server Series.
  • O Microsoft Windows 7, assim como o Windows Server 2008 R2, aumentou o suporte para mais de 64 núcleos lógicos da arquitetura NUMA.
  • Java 7 adiciona suporte para alocadores de memória com reconhecimento de NUMA e coletores de lixo.
  • A versão 3.13 do kernel Linux introduziu várias políticas para colocar processos próximos à memória e lidar com situações como o uso de grandes páginas transparentes ou compartilhamento de páginas de memória entre processos. As novas configurações de sysctl permitem que o balanceamento de NUMA seja habilitado ou desabilitado e vários parâmetros de balanceamento de memória NUMA sejam configurados.
  • OpenSolaris uses groups to model the NUMA architecture.
  • FreeBSD adiciona relevância NUMA inicial e configuração de política para a versão 11.0

Linha de fundo!

In short, after going through this page, you will have a better understanding of the definition, basic concept, and work manner of Non-Unified Memory Access. You will also know that NUMA affects memory access performance so some software optimizes to support it.

Quão útil foi esta postagem?

Clique em uma estrela para avaliá-la!

Classificação média 4.3 / 5. Contagem de votos: 7

Nenhum voto até agora! Seja o primeiro a avaliar esta postagem.

Artigo Anterior

Como reverter o ícone mais recente do Google Chrome para Mac para o original? Resumo: NUMA, abreviação de Non-Unified Memory Access, é um projeto de memória de computador para multiprocessamento. Veja aqui uma introdução completa ...

Artigo seguinte

Como recuperar vídeos excluídos do Mac? Resumo: NUMA, abreviação de Non-Unified Memory Access, é um projeto de memória de computador para multiprocessamento. Veja aqui uma introdução completa ...

Sobre a recuperação de dados Bitwar

3 etapas para recuperar mais de 500 tipos de documentos, fotos, vídeos, áudios e arquivos excluídos, formatados ou perdidos de vários cenários de perda de dados.

Saber mais

Artigos Quentes

    Artigos relacionados