Multiprocessadores são classificados em três tipos de modelos de memória compartilhada: UMA (acesso uniforme à memória), NUMA (acesso não uniforme à memória) e COMA (acesso à memória somente cache) . Os modelos diferem com base em como a memória e os recursos de hardware são alocados. A memória física é compartilhada uniformemente entre os processadores no modelo UMA, que também possui latência idêntica para cada palavra de memória. Em contraste, NUMA fornece tempo de acesso variável para a CPU acessar a memória.
Neste artigo você aprenderá sobre a diferença entre o UMA e NUMA . Mas antes de discutir as diferenças, você deve conhecer UMA e NUMA.
programação java números primos
O que é UMA?
UMA é uma abreviatura para 'Acesso Uniforme à Memória' . É uma arquitetura de memória compartilhada multiprocessador. Neste modelo, todos os processadores do sistema multiprocessador utilizam e acessam a mesma memória com o auxílio da rede de interconexão.
A latência e velocidade de acesso de cada CPU é o mesmo. Pode fazer uso de um switch de barra transversal, um switch de barramento único ou um switch de barramento múltiplo . Também é referido como SMP (Multiprocessador Simétrico) sistema porque oferece acesso balanceado à memória compartilhada. É adequado para aplicações de compartilhamento de tempo e de uso geral.
O que é a NUMA?
NUMA é uma abreviatura para 'Acesso à memória não uniforme' . É também um modelo multiprocessador com memória dedicada anexada a cada CPU. Mas esses pequenos componentes de memória se unem para formar um único espaço de endereço. O tempo de acesso à memória é determinado pela distância entre a CPU e a memória, resultando em tempos de acesso à memória variados. Ele fornece acesso a qualquer local de memória usando o endereço físico.
O Arquitetura NUMA foi projetado para maximizar a largura de banda de memória disponível, utilizando vários controladores de memória. Ele integra muitos núcleos de máquina em 'nós' , com cada núcleo tendo seu próprio controlador de memória. Em um NUMA sistema, o núcleo recebe a memória manipulada pelo controlador de memória por seu nó para acessar a memória local. O núcleo transmite a solicitação de memória através dos links de interconexão para acessar a memória distante, que o outro controlador de memória processa. A arquitetura NUMA emprega redes hierárquicas e de barramento em árvore para conectar os blocos de memória e CPUs. Alguns exemplos da arquitetura NUMA são BBN, SGI Origin 3000, TC-2000 e Cray .
Principais diferenças entre UMA e NUMA
Existem várias diferenças importantes entre UMA e NUMA . Algumas das principais diferenças entre UMA e NUMA são as seguintes:
- O UMA (Uniform Memory Access) contém um único controlador de memória. Em contraste, o NUMA (acesso não uniforme à memória) pode utilizar vários controladores de memória para acessar a memória.
- O tempo de acesso à memória para cada CPU em UMA é o mesmo. Por outro lado, o tempo de acesso à memória em NUMA varia com a distância da memória da CPU.
- UMA é utilizado em uma variedade de aplicativos de uso geral e de compartilhamento de tempo. Por outro lado, o NUMA é empregado em aplicativos de tempo real e de tempo crítico.
- A arquitetura UMA emprega barramentos únicos, múltiplos e de barra cruzada. Por outro lado, o NUMA emprega barramentos e conexões de rede hierárquicos e estruturados em árvore.
- Em termos de largura de banda, a arquitetura UMA possui largura de banda limitada. Por outro lado, o NUMA possui largura de banda maior que UMA.
- O acesso à memória em UMA é lento. Por outro lado, o acesso à memória NUMA é mais rápido que o acesso à memória UMA.
Comparação direta entre UMA e NUMA
Aqui, você aprenderá as comparações diretas entre UMA e NUMA. As principais diferenças entre UMA e NUMA são as seguintes:
valor java de enum
Características | UMA | NUMA |
---|---|---|
Todas as formas | UMA é uma abreviatura de Acesso Uniforme à Memória. | NUMA é uma abreviatura de Acesso Não Uniforme à Memória. |
Controlador de memória | Ele contém um único controlador de memória. | Ele contém vários controladores de memória. |
Tempo de acesso à memória | Ele contém tempo de acesso à memória balanceado ou igual. | Seu tempo de acesso à memória muda de acordo com a distância do microprocessador. |
Acesso à memória | Seu acesso à memória é lento. | Seu acesso à memória é mais rápido. |
Aptidão | É utilizado principalmente em aplicativos de compartilhamento de tempo e de uso geral. | É utilizado principalmente em aplicativos de tempo crítico e em tempo real. |
Largura de banda | Tem largura de banda limitada. | Tem mais largura de banda. |
Tipo de ônibus | Ele emprega barramentos simples, múltiplos e de barra transversal. | Ele emprega barramentos e conexões de rede hierárquicos e estruturados em árvore. |
Conclusão
A arquitetura UMA oferece a mesma latência geral para os processadores que acessam a memória e não é particularmente útil ao acessar a memória local porque o atraso seria uniforme. Por outro lado, no NUMA, cada processador possui sua própria memória dedicada, o que elimina atraso no acesso à memória local. As alterações de latência dependem da distância entre as alterações de CPU e memória. No entanto, em comparação com o design UMA, o NUMA oferece desempenho melhorado.