Processador Manycore - Manycore processor

Os processadores Manycore são tipos especiais de processadores multi-core projetados para um alto grau de processamento paralelo , contendo vários núcleos de processador independentes e mais simples (de algumas dezenas de núcleos a milhares ou mais). Os processadores Manycore são usados ​​extensivamente em computadores embarcados e computação de alto desempenho .

Contraste com arquitetura multicore

Os processadores manycore são diferentes dos processadores multi-core por serem otimizados desde o início para um maior grau de paralelismo explícito e para maior rendimento (ou menor consumo de energia) à custa da latência e menor desempenho de thread único .

A categoria mais vasta de processadores múltiplos núcleos , por contraste, são normalmente concebidos para executar eficientemente tanto paralela e código de série, e, por conseguinte, dar mais ênfase elevado desempenho fio único (por exemplo, a dedicar mais silício para fora da execução da ordem , mais profundas condutas , mais superscalar unidades de execução e caches maiores e mais gerais) e memória compartilhada . Essas técnicas dedicam recursos de tempo de execução para descobrir o paralelismo implícito em um único encadeamento. Eles são usados ​​em sistemas onde evoluíram continuamente (com compatibilidade com versões anteriores) a partir de processadores de núcleo único. Eles geralmente têm 'poucos' núcleos (por exemplo, 2,4,8) e podem ser complementados por um acelerador de muitos núcleos (como uma GPU ) em um sistema heterogêneo .

Motivação

A coerência do cache é um problema que limita a escala de processadores multicore. Os processadores manycore podem contornar isso com métodos como passagem de mensagens , memória de rascunho , DMA , espaço de endereço global particionado ou caches somente leitura / não coerentes. Um processador manycore usando uma rede em um chip e memórias locais dá ao software a oportunidade de otimizar explicitamente o layout espacial das tarefas (por exemplo, como visto em ferramentas desenvolvidas para TrueNorth ).

Os processadores manycore podem ter mais em comum (conceitualmente) com as tecnologias originadas na computação de alto desempenho , como clusters e processadores vetoriais .

As GPUs podem ser consideradas uma forma de processador manycore com várias unidades de processamento de sombreador e são adequadas apenas para código altamente paralelo (alto rendimento, mas desempenho de thread único extremamente pobre).

Modelos de programação adequados

Classes de sistemas manycore

Arquiteturas manycore específicas

Computadores manycore específicos com 1M + núcleos de CPU

Vários computadores construídos a partir de processadores multicore têm um milhão ou mais núcleos de CPU individuais. Exemplos incluem:

Veja também

Referências

links externos