Um nó multicore baseado em NoC para desenvolvimento de Many-Cores e MP-SoCs
Rede em chip. Sistema em Chip. Sistema em chip multiprocessado. Programação Paralela. Compilador
Multiprocessadores são arquiteturas com mais de um núcleo de processamento que exploram o paralelismo para fornecer maior desempenho. Eles têm sido pesquisados e implementados na construção de computadores de alto desempenho (HPC - High Perfomance Computers). Com muitos núcleos de processamento, a comunicação entre os mesmos é fator crucial para obtenção de alto desempenho. É com base nela que são determinadas a velocidade de processamento, o consumo de energia, o espaço em chip e a escalabilidade. Como forma de reduzir a latência na comunicação e aproximar processadores e memórias, pesquisadores têm investido na conexão das unidades de processamento por meio de redes em chip (em inglês, NoC), os chamados MP-SoCs (Multiprocessor Systems-on-Chip). Este trabalho apresenta um nó multicore de uma MP-SoC, com um sistema de comunicação e sincronização entre processos que tem por base o padrão de paralelismo Fork/Join. Tal arquitetura, chamada ArachNid possui nove núcleos de processamento, um mestre e oito escravos. Onde os núcleos de processamento são baseados na ISA MIPS, com a inserção das instruções de sincronização, propostas em IPNoSyS de (ARAúJO, 2012). Para a avaliação e utilização do sistema proposto, foram desenvolvidos uma linguagem de programação paralela, batizada de ArP (ArachNid Programming), e um compilador, chamado Scorpion. Tais ferramentas foram utilizadas no desenvolvimento de benchmarks para a validação destas e do processador. Para tais simulações foram descritas aplicações como multiplicação de matrizes e algoritmo de Smith-Waterman.