Arquiteturas Multi e Many cores baseadas em redes-em-chip Laboratório de Arquitetura e Redes de Computadores Departamento de Engenharia de Compuatação e Sistemas Digitais Escola Politécnica Universidade de São Paulo 17 de Fevereiro de 2012
Outline 1 Motivação 2 3 4
Multicore NoC Motivação
Multicore NoC Motivação Por que paralelizar?
Lei de Moore Motivação Multicore NoC Figure: Lei de Moore observada até 2010 1 1 The Mythology of Moore s Law (Tom R. Halfhill)
Lei de Moore Motivação Multicore NoC Dois fatores permitiram a observância da Lei de Moore: Redução do tamanho do transistor Diminuição do custo de produção Ambos alcançados graças a melhoria tecnológica na indústria de semicondutores.
Efeitos da lei de Moore Motivação Multicore NoC A redução do tamanhao do transistor impactou muitos aspectos de circuitos integrados: Possibilitou o aumento da frequência (menores atrasos em trilhas mais curtas) Aumentou a densidade superficial de transistores num CI Diminuiu o consumo energético por transistor (se levada em conta apenas a redução de tamanho)
Efeitos da lei de Moore Motivação Multicore NoC Alguns efeitos indesejáveis derivaram dos iniciais: Aumento da potência dissipada (quadrático com o aumento da frequência) Aumento no aquecimento do CI (pelo aumento da densidade e da potência dissipada) Aumento da complexidade do circuito (maior número de componentes) Este último aumentou o tempo de projeto de um novo núcleo, tendo impactos em custo e desempenho industrial
Outro problema Motivação Multicore NoC Figure: Gap entre frequência relativa de processadores e memórias 2 2 www.mentor.com/products/fv/success/sun_0-in_css_4-06
Então, por que paralelizar? Multicore NoC Melhor distribuição espacial dos componentes Núcleos de processamento mais simples Mesmo desempenho obtido com a mesma frequência
Multicore NoC Motivação Por que afinal redes-em-chip?
Primeiras soluções de paralelização Multicore NoC Figure: Topologia em bus 3 3 http://www.ece.unm.edu/~jimp/611/slides/chap8_1.html
Problemas Motivação Multicore NoC Controle de acesso ao bus complexo Solução pouco escalável Saturação rápida do acesso a memória
Solução oposta Motivação Multicore NoC Figure: Topologia full crossbar 4 4 http://www.cs.colostate.edu/~cs551/coursenotes/
Problemas Motivação Multicore NoC Excesso de pontos de controle Alto custo
Multicore NoC Ideia Aplicar conceitos de redes de computadores na comunicação intrachip.
Definição Elementos Topologias Vantagens NoC vs Redes Redes-em-chip - conceitos básicos
Definição Elementos Topologias Vantagens NoC vs Redes Redes-em-chip - conceitos básicos Definição
Definição Elementos Topologias Vantagens NoC vs Redes Redes-em-chip (Network-on-chip ou NoC) Abordagem para comunicação entre diversas unidades de processamento e de memória em um chip Usa conceitos de redes de computadores para a comunicação Solução intermediária entre uma topologia bus e uma topologia Elementos são ligados através de uma rede de switches e trocam mensagens full crossbar
Definição Elementos Topologias Vantagens NoC vs Redes Redes-em-chip - conceitos básicos Principais elementos
Definição Elementos Topologias Vantagens NoC vs Redes Elementos principais PEs ou unidades de processamento são unidades ativas, que iniciam um ciclo de comunicação (por isso chamados de iniciadores ou mestres) Memórias são unidades passivas, recebem mensagens de leitura e/ou escrita e respondem com o dado (no caso da leitura) Switches realizam o roteamento das mensagens
Definição Elementos Topologias Vantagens NoC vs Redes Redes-em-chip - conceitos básicos Topologias
Definição Elementos Topologias Vantagens NoC vs Redes Malha ou Mesh e Torus Figure: Topologia 1d-Mesh Figure: Topologia 1d-Mesh Figure: Topologia 2d-Mesh Figure: Topologia 2d-Mesh
Definição Elementos Topologias Vantagens NoC vs Redes Árvores Figure: Topologia Fattree com canais ponderados Figure: Topologia Butterfly
Definição Elementos Topologias Vantagens NoC vs Redes Redes-em-chip - conceitos básicos Vantagens
Definição Elementos Topologias Vantagens NoC vs Redes Vantagens no uso de NoCs Bom custo/benefício em termos de custos e desempenho Possível criar NoCs mais eficientes ou menos custosas Flexibilidade e adaptabilidade à solução (NoCs específicas para problemas específicos) Permite facilmente a utilização de multiplos domínios de clock, tais quais soluções globalmente assíncrona mas localmente síncrona (GALS).
Definição Elementos Topologias Vantagens NoC vs Redes Exemplos Figure: Um exemplo de NoC com os componentes ao redor a Figure: Abordagem heterogênea b a http://www.design-reuse.com/articles/24448 b http://i.cmpnet.com/embedded/europe/arteris
Definição Elementos Topologias Vantagens NoC vs Redes Redes-em-chip - conceitos básicos Diferenças para redes tradicionais
Definição Elementos Topologias Vantagens NoC vs Redes Vantagens Comparando com as redes de computadores tradicionais, NoCs possibilitam algumas simplificações, pois: Rede estática (não há adições ou remoções de nós) Não há mobilidade Fluxos sempre começam nos PEs (Em geral) cada meio é acessado por apenas 1 unidade (PE, switch ou memória)
Definição Elementos Topologias Vantagens NoC vs Redes Requisitos Em compensação, alguns requisitos adicionais são verificados: Tempo de roteamento muito curto (alguns ciclos de relógio) Área de silício pequena (dezenas de gates) Baixo consumo energético
ReNoC Indústria
ReNoC Indústria Redes-em-chip reconfiguráveis
ReNoC Indústria The ReNoC Reconfigurable Network-on-Chip: Architecture, Configuration Algorithms, and Evaluation (Matthias Bo Stuart, Mikkel Bystrup Stensgaard, Jens Sparsø) Proposta de NoC para computação de propósito geral Apresenta algoritmos de síntese para topologia específica para aplicação A arquitetura gerada permite melhora de eficiência e redução no consumo de energia
ReNoC Indústria Redes-em-chip na indústria
Intel Single-chip Cloud Computer ReNoC Indústria http://techresearch.intel.com/projectdetails.aspx?id=1 48 processadores 24 roteadores 4 memórias DDR
ReNoC Indústria Intel Teraflops Research Chip http://techresearch.intel.com/projectdetails.aspx?id=151 80 núcleos com 2 FPU cada Topologia 2d mesh Frequência de operação 3, 16GHz Potência consumida 62W (comparável a um processador tradicional de hoje) 1, 01 Teraflop (Core i7 980-X Extreme Edition atinge 20 Gigaflops, com 130W )!!!!
DSE SimuEmu Generalidade Programação Trabalhos
DSE SimuEmu Generalidade Programação Trabalhos Exploração do espaço de projeto
DSE SimuEmu Generalidade Programação Trabalhos Exploração do espaço de projeto O número de parâmetros a serem regulados num NoC é grande O número de objetivos conflitantes (tamanho, custo, desempenho, potência, temperatura,... ) também O emprego de técnicas de DSE tem se tornado constante para otimizar NoCs Esses processos, no entanto, são custosos em tempo É preciso encontrar alternativas viáveis para a otimização
DSE SimuEmu Generalidade Programação Trabalhos Simulação x Emulação
DSE SimuEmu Generalidade Programação Trabalhos Simulação é possível? Os designs crescentes tem desencorajado o uso de simulação Computadores atuais não conseguem simular em tempo hábil designs com muitos núcleos Simulações em alto nível são uma alternativa, mas são imprecisas Outra alternativa é a emulação, mas plataformas multi-fpgas grandes são necessárias
DSE SimuEmu Generalidade Programação Trabalhos Um NoC para computação de propósito geral?
DSE SimuEmu Generalidade Programação Trabalhos A maior parte das abordagens são otimizadas para aplicações específicas Seria possível um NoC absolutamente geral para um PC? O uso de benchmarks paralelos padronizados poderia fazer o serviço Mas não existe um benchmark paralelo genérico
DSE SimuEmu Generalidade Programação Trabalhos Como programar para arquiteturas paralelas heterogêneas?
DSE SimuEmu Generalidade Programação Trabalhos Uma programação eficiente exige conhecimento da arquitetura Mas arquiteturas customizáveis estão surgindo com NoCs Além do mais, as abordagens propostas permitem uma adequação da arquitetura à tarefa Como lidar com essa lógica invertida? Ou como criar compiladores genéricos o bastante para uma arquitetura qualquer?
DSE SimuEmu Generalidade Programação Trabalhos Trabalhos Recentes
DSE SimuEmu Generalidade Programação Trabalhos Propostas recentes na literatura Simulação com ns2 QoS em NoCs (QNoC) Reconfiguração dinâmica de NoCs (BiNoC) Tolerância a falhas Roteamento adaptativo (DyAD)
NoCs parecem uma ótima solução para o problema de comunicação intrachip Não existe um NoC definitivo Muitos desafios pela frente Soluções comerciais próximas (e necessárias)
Questões?