Arquitetura De Noc Programável Baseada Em Múltiplos Clusters De Cores Para Suporte a Padrões De Comunicação Coletiva
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO HENRIQUE COTA DE FREITAS Arquitetura de NoC Programável Baseada em Múltiplos Clusters de Cores para Suporte a Padrões de Comunicação Coletiva Tese apresentada como requisito parcial para a obtenção do grau de Doutor em Ciência da Computação Prof. Dr. Philippe Olivier Alexandre Navaux Orientador Porto Alegre, junho de 2009. CIP – CATALOGAÇÃO NA PUBLICAÇÃO Freitas, Henrique Cota de Arquitetura de NoC Programável Baseada em Múltiplos Clusters de Cores para Suporte a Padrões de Comunicação Coletiva / Henrique Cota de Freitas. – Porto Alegre: Programa de Pós-Graduação em Computação, UFRGS, 2009. 125 p.:il. Tese (doutorado) – Universidade Federal do Rio Grande do Sul. Programa de Pós-Graduação em Computação. Porto Alegre, BR – RS, 2009. Orientador: Philippe Olivier Alexandre Navaux. 1.Network-on-Chip. 2.Computação Programável e Reconfigurável. 3.Padrões de Comunicação Coletiva. 4.Processadores Many-Core. I. Navaux, Philippe Olivier Alexandre. II. Título. UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Reitor: Prof. Carlos Alexandre Netto Vice-Reitor: Prof. Rui Vicente Oppermann Pró-Reitor de Pós-Graduação: Prof. Aldo Bolten Lucion Diretor do Instituto de Informática: Prof. Flávio Rech Wagner Coordenador do PPGC: Prof. Álvaro Freitas Moreira Bibliotecária-Chefe do Instituto de Informática: Beatriz Regina Bastos Haro AGRADECIMENTOS Agradecer parece algo relativamente fácil, afinal, é só dizer muito obrigado. Mas o verdadeiro agradecimento vem acompanhado de um sorriso no rosto, um abraço e uma felicidade em ter recebido a colaboração ou ajuda para a realização de uma tarefa. O sorriso não pode ser visto em palavras, portanto, gostaria de dizer o quanto estou feliz ao escrever os agradecimentos, citando pessoas que contribuíram de alguma forma para que este doutorado pudesse ser concluído. Deus, obrigado pela proteção e oportunidades que me fizeram crescer como pessoa e profissional. Ao meu filho Walter, dizer que o que faço é por você seria redundante. Mas por você sou redundante inúmeras vezes sem perceber. Silvana, minha esposa. O que dizer? Abriu mão de uma vida pelo meu doutorado. Muitos beijos e abraços. Aos meus pais Walter e Marlene. Sinônimos de dedicação à família. Agradeço tudo o que vocês têm feito pela minha família, e principalmente pelo Walter (neto). Minha tia Maria Marta, mais do que uma tia. Compromete-se com a felicidade e realizações dos sobrinhos. Abraços às tias Dodora e Dione. Túlio meu irmão, Ana Célia minha cunhada, e Ana Clara minha sobrinha. Viagens a Confins, incentivos e muita alegria que fazem minha família maior. Aos meus tios e tias, obrigado pelos conselhos e incentivos. Mudando de Minas Gerais para o Rio Grande do Sul, minha felicidade só foi possível graças a algumas pessoas: Ao meu orientador Prof. Philippe Navaux, pela confiança e por acreditar em mim. Pelas conversas, reuniões, pelas oportunidades de crescimento científico, e pelo relacionamento que ultrapassa a de um orientador, mas de um amigo que se preocupa com o bem estar de todos os seus alunos. Monica e Rafael Ávila, Tatiana e Rafael Santos. As conversas de laboratório vão deixar saudades, mas nada como uma mudança de cidade para mudar o lugar da conversa. Tatiana, a parceria com você foi um aprendizado durante o doutorado. Marco, Eduardo, Felipe, Roberto, Vicente, Manuela e Camaratta do Lab. 201, Márcia, Lucas, Righi, Kassick, Mozart, Laércio, Danilo, Franciele e Thiago do Lab. 209. Obrigado pelas ajudas, prévias, artigos, e viagens que fizemos em conjunto. Foi muito bom trabalhar com vocês. Aos professores e funcionários do Instituto de Informática, ao Programa de Pós- graduação em Computação, e a UFRGS, pelos conselhos, apoio e suporte durante o doutorado. Ao CNPq pela bolsa de doutorado, que sem ela as dificuldades seriam maiores. Voltando a Minas, obrigado PUC Minas e ao Programa Permanente de Capacitação Docente, que sem dúvida criaram as condições para que eu pudesse ir para Porto Alegre e realizar meu doutorado. Gostaria de terminar os agradecimentos através de um provérbio chinês dito pelo Prof. David Patterson, em palestra proferida no ISCA 2008. “A team is smarter than any single genius.” David Patterson, Beijin, China, 24 de junho de 2008 Portanto, agradeço novamente ao Prof. Navaux e à UFRGS pela oportunidade de ter assistido esta palestra. As frases ganham força quando existe uma história. Levo como bagagem para minha vida profissional o trabalho em grupo desenvolvido pelo Grupo de Processamento Paralelo e Distribuído (GPPD) da UFRGS. SUMÁRIO LISTA DE ABREVIATURAS E SIGLAS............................................................ 7 LISTA DE FIGURAS.......................................................................................... 9 LISTA DE TABELAS ....................................................................................... 12 RESUMO.......................................................................................................... 13 ABSTRACT...................................................................................................... 14 1 INTRODUÇÃO ........................................................................................... 15 1.1 Problema .............................................................................................................. 17 1.2 Hipóteses............................................................................................................... 17 1.3 Objetivos e Meta.................................................................................................. 18 1.4 Motivações............................................................................................................ 18 1.5 Contribuição ........................................................................................................ 18 1.6 Organização do Texto ......................................................................................... 19 2 ESTADO DA ARTE.................................................................................... 21 2.1 Arquiteturas de Redes de Interconexão em Chip............................................. 21 2.1.1 Arquiteturas de Processadores com Múltiplos Núcleos ..................................... 21 2.1.2 Características e Classificações das Redes de Interconexão .............................. 24 2.1.3 Principais Critérios para Avaliação das Redes de Interconexão ........................ 27 2.1.4 Networks-on-Chips (NoCs)................................................................................ 28 2.1.4.1 Arquiteturas de NoCs...................................................................................................... 29 2.1.4.2 Topologias de NoCs........................................................................................................ 30 2.1.4.3 Tipos de Protocolos......................................................................................................... 33 2.1.4.4 Análise da Viabilidade das NoCs.................................................................................... 35 2.2 Padrões de Comunicação .................................................................................... 36 2.2.1 Comunicação Coletiva........................................................................................ 37 2.3 Computação Reconfigurável .............................................................................. 39 2.3.1 Hardware Programável....................................................................................... 41 2.3.2 Níveis e Tipos de Reconfiguração...................................................................... 42 2.4 Trabalhos Correlatos .......................................................................................... 43 2.4.1 NoCs Baseadas em Clusters de Núcleos de Processamento............................... 44 2.4.2 NoCs com Roteadores Programáveis ................................................................. 45 2.4.3 NoCs Reconfiguráveis Baseadas em Dispositivos FPGA.................................. 46 2.4.4 NoCs Reconfiguráveis Baseadas em ASICs Polimórficos................................. 48 2.4.5 Contribuição da Tese Versus Trabalhos Correlatos ........................................... 49 3 METODOLOGIA DE PROJETO E AVALIAÇÃO ....................................... 52 3.1 Simulação em ArchC e SystemC........................................................................ 54 3.2 Modelagem e Simulação Usando Redes de Petri .............................................. 54 3.3 Simulação da Descrição de um Protótipo de Hardware .................................. 55 3.4 Avaliação de Desempenho de Cargas de Trabalho Paralelas ......................... 56 4 PROPOSTA DA ARQUITETURA MCNOC................................................ 60 4.1 Chave Crossbar Reconfigurável......................................................................... 61 4.2 Processador de Rede em Chip ............................................................................ 66 4.2.1 Arquitetura e Conjunto de Instruções do NPoC ................................................. 67 4.2.2 Suporte a Interleaved Multithreading................................................................. 70 4.3 Roteador Programável........................................................................................ 72 4.4 Arquitetura da MCNoC...................................................................................... 76 4.4.1 Protocolos de Rede ............................................................................................