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

Last Updated: 2020-12-09
4,6
(5)
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

CPUs modernas funcionam muito mais rápido do que a memória principal que usam. Nos estágios iniciais de computação e processamento de dados, a CPU normalmente funciona mais devagar do que sua memória. Limitar o número de acesso à memória é a chave para extrair alto desempenho de computadores modernos.

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.

O suporte ao NUMA no sistema operacional tenta reduzir a frequência de tal acesso, alocando processadores e memória de uma maneira amigável ao NUMA e evitando os algoritmos de programação e bloqueio necessários para tornar o acesso ao NUMA hostil.

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.
  • O OpenSolaris usa lgroups para modelar a arquitetura NUMA.
  • FreeBSD adiciona relevância NUMA inicial e configuração de política para a versão 11.0

Linha de fundo!

Resumindo, depois de passar por esta página, você terá um melhor entendimento da definição, do conceito básico e da forma de trabalho do Acesso à memória não unificada. Você também saberá que o NUMA afeta o desempenho do acesso à memória, de forma que alguns softwares otimizam para suportá-lo.

 

Quão útil foi esta postagem?

Clique em uma estrela para avaliá-la!

Classificação média4,6/ 5. Contagem de votos:5

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