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

Last Updated: 2022-08-02
4.8
(73)
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.

Definition

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

Bottom Line!

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.

How useful was this post?

Click on a star to rate it!

Average rating 4.8 / 5. Contagem de votos: 73

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

Artigo Anterior

How To Revert Latest Google Chrome Icon for Mac to Original One? Summary: NUMA, short for Non-Unified Memory Access, is a computer memory design for multiprocessing. Look here for a full introduction...

Próximo artigo

How to Recover Deleted Videos From Mac? Summary: NUMA, short for Non-Unified Memory Access, is a computer memory design for multiprocessing. Look here for a full introduction...

About Bitwar Data Recovery

3 Steps to get back 500+ kinds of deleted, formatted or lost documents, photos, videos, audios, archive files from various data loss scenarios.

Saber mais

Artigos quentes

Artigos relacionados