Meio Bit » Arquivos » Hardware » Pesquisadores apresentam processador multicore que funciona como a internet

Pesquisadores apresentam processador multicore que funciona como a internet

A fim de driblar limitações técnicas, pesquisadores do MIT desenvolvem processador de 36 núcleos onde cada um é conectado aos seus vizinhos, como numa rede

25/06/2014 às 10:30

processor

O desenvolvimento de processadores enfrenta um dilema técnico complicado, pois há alguns anos os núcleos não estão ficando mais rápidos. Além do limite físico do silício, que não opera a velocidades acima de 5 GHz (o que leva a algumas pesquisas interessantes com grafeno), incluir mais núcleos nem sempre é a melhor opção. Essa foi uma estratégia desenvolvida para driblar os limites do material, mas aumentar o número de cores aumenta também tempo de comunicação entre eles, já que todos compartilham o mesmo barramento. Em suma, num processador octa-core apenas dois podem trocar informações por vez, enquanto os outros aguardam.

Há alguns anos a dra. Li-Shiuan Peh, professora do Departamento de Engenharia Elétrica e Ciência da Computação do MIT propôs a criação de um processador que funcionasse como uma rede ou nas suas palavras, como mini-internets: cada núcleo teria um "roteador" associado e só trocaria informações com seus vizinhos diretos, de forma a agilizar a comunicação. E agora sua equipe apresentou um chip de 36 núcleos que funciona dessa forma.

O problema dos chips atuais é que mais de dois núcleos não podem utilizar o barramento de transferência ao mesmo tempo. Enquanto dois realizam a troca de informações, os demais ficam esperando na fila ao invés de realizar operações. Isso acaba consumindo tempo de processamento e com o aumento dos cores, ele só se agravaria. O chip da equipe da dra. Peh contornou essa situação conectando cada core a seus vizinhos diretos. Segundo Bhavya Daya, que foi o responsável por implementar a técnica, isso permite que eles troquem informações mais eficientemente e tenham mais rotas disponíveis para realizar os cálculos, reduzindo a ociosidade dos núcleos durante o tempo de espera entre requisições.

36-multicore-processor

Só que há um motivo para o barramento ser utilizado até hoje: ele mantém a coerência do cache. Cada núcleo mantém um banco local onde os dados mais utilizados são armazenados. Se um núcleo faz uma requisição aos outros, ele sabe que as informações enviadas pelo barramento são as mais recentes. Entretanto, num formato de rede a informação está circulando por todo lugar ao mesmo tempo, e a hierarquia do cache vai para a cucuia; não dá para saber quem possui o dado mais recente.

Esse problema foi resolvido equipando o processador com uma segunda rede, que age como uma sombra da primeira. A rede principal se encarrega de compartilhar os dados, enquanto os roteadores da sombra apenas declaram que seus núcleos aos quais estão associados fizeram uma requisição. Além disso cada núcleo recebe uma atribuição de prioridade diferente em cada intervalo, de modo a simular o funcionamento de um barramento. Isso impede que um núcleo que possa atender uma solicitação o faça antes de outro que possua uma prioridade maior, garantindo a fidelidade das informações transmitidas.

Daya diz que como o protótipo se mostrou funcional, o próximo passo é carregar uma versão do Linux adaptada para tirar proveito da nova arquitetura a fim de testar seu desempenho em aplicações reais. Quando as previsões teóricas forem confirmadas, a dra. Peh, Daya e os demais alunos pretendem liberar os esquemas do chip, escrito na linguagem de descrição Verilog em código aberto. E se a técnica se mostrar realmente promissora não será surpresa se Intel, AMD, Qualcomm e outros a abraçarem.

Fonte: E.

Leia mais sobre: , , , , , .

relacionados


Comentários