ScholarGate
Assistente

Arquitetura Paralela e Multicore

A arquitetura paralela e multicore refere-se ao hardware que executa muitas operações simultaneamente — múltiplos núcleos em um chip, unidades vetoriais e SIMD, e GPUs massivamente paralelas — juntamente com as estruturas de memória e comunicação que permitem que o trabalho paralelo prossiga de forma correta e eficiente.

Encontrar tema com PaperMindEm breveFind papers & topics
Tools & resources
Baixar slides
Learn & explore
VídeoEm breve

Definition

Arquitetura paralela e multicore é o projeto de hardware de computador que realiza múltiplas computações simultaneamente através de núcleos replicados, unidades de paralelismo de dados amplas ou aceleradores especializados, juntamente com os mecanismos de interconexão e memória que os coordenam.

Scope

Esta área abrange as organizações de hardware para paralelismo: multiprocessadores em chip e designs de muitos núcleos, sistemas de memória compartilhada e a coerência e consistência que eles exigem, processadores SIMD e vetoriais para paralelismo em nível de dados, e arquiteturas de GPU. Ela trata de como o hardware paralelo é construído e como seu desempenho escala. Exclui o lado do software da programação paralela e distribuída e sistemas distribuídos em escala de cluster, que são abordados em computação distribuída e paralela, e o motor de execução de núcleo único abordado em microarquitetura de processador.

Sub-topics

Core questions

  • Como o hardware paralelo escala o desempenho e o que limita essa escalabilidade?
  • Como múltiplos núcleos são integrados em um chip e conectados à memória compartilhada?
  • Que garantias de consistência e coerência de memória o hardware de memória compartilhada deve fornecer?
  • Como os designs SIMD, vetoriais e de GPU exploram o paralelismo em nível de dados?
  • Como as arquiteturas paralelas são combinadas com as cargas de trabalho para maximizar o throughput útil por watt?

Key concepts

  • multiprocessador em chip
  • paralelismo em nível de thread
  • paralelismo em nível de dados
  • processamento SIMD e vetorial
  • GPU e muitos núcleos
  • memória compartilhada e coerência
  • consistência de memória
  • rede de interconexão
  • lei de Amdahl e escalabilidade
  • hardware de sincronização

Key theories

Lei de Amdahl
O ganho de velocidade ao paralelizar uma computação é limitado pela fração que deve ser executada sequencialmente: mesmo com processadores ilimitados, a porção serial limita o ganho de velocidade geral, o que molda como as arquiteturas paralelas são projetadas e avaliadas.
Taxonomia de paralelismo estilo Flynn
O hardware paralelo é organizado por como os fluxos de instrução e dados se combinam — por exemplo, instrução única, múltiplos dados (SIMD) para paralelismo de dados e múltiplas instruções, múltiplos dados (MIMD) para sistemas multicore e multiprocessadores — uma classificação que enquadra as escolhas arquitetônicas.

Mechanisms

Processadores multicore colocam vários núcleos em um único die compartilhando um ou mais níveis de cache e uma interface de memória, conectados por uma interconexão on-chip. Protocolos de coerência mantêm seus caches consistentes, e um modelo de consistência de memória define a ordenação das operações de memória vistas entre os núcleos. Hardware de paralelismo de dados — unidades vetoriais, pistas SIMD e GPUs com muitos núcleos leves — aplica uma operação em muitos elementos de dados, enquanto primitivas de sincronização coordenam threads paralelos.

Clinical relevance

Após a estagnação da escalabilidade do clock de núcleo único, a arquitetura paralela e multicore tornou-se o principal caminho para um desempenho superior, de modo que praticamente todos os processadores modernos são multicore. GPUs e unidades SIMD agora impulsionam gráficos, computação científica e as operações de matriz no cerne do aprendizado profundo, tornando o hardware paralelo central para cargas de trabalho de alto desempenho e inteligência artificial.

History

Máquinas paralelas datam de supercomputadores vetoriais como o Cray-1 na década de 1970 e de multiprocessadores de pesquisa das décadas de 1980 e 1990. O fim da escalabilidade de frequência por volta de meados dos anos 2000 impulsionou a indústria em direção a chips multicore como padrão. GPUs evoluíram de pipelines gráficos de função fixa para aceleradores programáveis de muitos núcleos, e arquiteturas de paralelismo de dados tornaram-se fundamentais para o aprendizado de máquina moderno.

Debates

Multicore de propósito geral versus aceleradores especializados
Com retornos decrescentes de multicore homogêneo, há um debate sobre até que ponto favorecer aceleradores específicos de domínio (GPUs, unidades de tensor) versus núcleos de propósito geral, trocando programabilidade e flexibilidade por eficiência para cargas de trabalho específicas.

Key figures

  • Gene Amdahl
  • Michael J. Flynn
  • John L. Hennessy
  • David A. Patterson
  • David E. Culler

Related topics

Seminal works

  • hennessy2019
  • amdahl1967
  • patterson2020

Frequently asked questions

Por que os processadores passaram a ter múltiplos núcleos?
O aumento da frequência de clock de um único núcleo atingiu limites de energia e calor em meados dos anos 2000. Adicionar mais núcleos aumentou o throughput total dentro do mesmo orçamento de energia, então o multicore tornou-se a maneira dominante de manter o desempenho crescendo — embora transfira o ônus do ganho de velocidade para o software paralelo.
Como uma GPU é diferente de uma CPU multicore?
Uma CPU possui poucos núcleos poderosos otimizados para execução de propósito geral e baixa latência. Uma GPU possui muitos núcleos mais simples otimizados para trabalho de paralelismo de dados de alto throughput, executando a mesma operação em muitos elementos de dados, o que é adequado para gráficos e computação numérica densa, mas não para todas as cargas de trabalho.

Methods for this concept

Related concepts