A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre.

Apresentações semelhantes


Apresentação em tema: "MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre."— Transcrição da apresentação:

1 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 1 Tópicos em System-Level Design Sandro Rigo sandro@ic.unicamp.br 2 o Semestre de 2006 Interconexão em SoCs em SoCs

2 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 2 Desafios de Projeto Tradicionalmente, computação era mais cara que comunicação Com o avanço da tecnologia esse fato vem mudando –Mais de 100 M transistores: ULSI, DPM (deep submicron designs) –Computação está barata –Comunicação enfrenta várias barreiras físicas: tempo de propagação, consumo de energia em fios longos Comunicação on-chip é mais barata que off-chip –Atualmente há espaço para muitos fios nos chips

3 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 3 Desafios de Projeto Comunicação on-chip é mais cara em termos de velocidade e energia Ponto onde os atrasos em fios passam a dominar os atrasos nos gates: –CMOS: 0.25 µm (alumínio) e 0.18 µm (cobre) O tempo de processamento local dimuniu, mas o tamanho dos fios não –Em DSM o efeito da interconexão passa a dominar o desempenho

4 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 4 Desafios de Projeto LSIVLSI ULSI

5 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 5 Desafios de Projeto O aumento no número de blocos e na velocidade torna difícil a sincronização –Sincronismo global, através de um único clock, enfrenta problemas com clock skew Surge os sistemas GALS (Global Asynchronous Locally Synchronous) –Ilhas síncronas que se comunicam assíncronamente –Reduz o problema para sincronização de partes menores –Facilita reuso e integração de sistemas com IPs heterogêneos –SoCs se tornam sistemas distribuídos

6 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 6 Desafios de Projeto Controle Global do tráfego é improvável –O sistema teria que monitorar o estado de cada componente –Cada componente iniciará sua transferência MPSoCs complexos exigem um padrão de interface (socket) para comunicação/conexão –Facilitar o reuso de IPs de fabricantes diferentes –Facilitar a criação de ferramentas ESL –Única maneira de fazer um uso inteligente da enorme quantidade de recursos disponíveis no chip dada a escalada da tecnologia

7 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 7 Exemplos de Interconexões

8 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 8 Point-to-point São ótimos em: –Bandwidth –Potência –Latência –Simples de projetar e verificar Contras: –O número de links necessários aumenta exponencialmente com o número de cores –Gera problemas de área e roteamento Nos anos 90, nos primeiros SoCs, era comum um mix de bus+point-to-point

9 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 9 Bus x Network

10 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 10 Esforço de Projeto Sistemas com poucos cores podem ter uma estrutura de comunicação ad-hoc Para escalabilidade e flexibilidade é necessário uma estrutura global compartilhada Isto se traduz em uma rede, constituída de links e nós roteadores

11 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 11 Tecnologia DSM: fios longos devem ser segmentados para evitar degradação Barramentos são multiplexados –Desempenho –Tempo de resposta Difícil de analisar, customizar e verificar!

12 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 12 Network-on-chip Estrutura de comunicação segmentada É vista como uma unificação de conceitos Naturalmente escalável Permite operações em paralelo Aproveita o tradicional modelo em camadas de redes

13 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 13 Network-on-chip Duas visões: 1.NoC é um subconjunto de SoC –NoC é definida como a infraestrutura de transmissão de dados, isto é, a rede e os métodos usados para acesso à rede. 2.NoC é uma extensão de SoC –NoC se torna algo mais abrangente –Engloba questões da aplicação, arquitetura do sistema e seu impacto na comunicação etc.

14 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 14 Exemplo Interface IP/NoC Canais Lógicos/Físicos

15 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 15 Influência da Arquitetura do Sistema Propriedades da arquitetura influenciam na rede de comunicação Dois importantes pontos: –Homogenidade –Granularidade Um ponto onde NoC diferem de redes gerais: –Redes para computadores paralelos tradicionais são mais homogêneas

16 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 16 Influência da Arquitetura do Sistema NoC Geral

17 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 17 Influência da Arquitetura do Sistema Clustering: –Localidade de partes do sistema –Pode ser física ou lógica –Clusterização lógica pode ser uma importante ferramenta de programação –Clusterização física necessita de conhecimento prévio sobre o padrão de comunicação –Pode minimizar a comunicação global, conseqüentemente minimizando o custo de comunicação –Também tem impacto no desempenho e consumo de energia

18 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 18 Influência da Arquitetura do Sistema Reconfigurabilidade: –Habilidade de alocar recursos para fins específicos –NoCs: como o sistema pode ser reconfigurável do ponto de vista da aplicação –Reconfiguração se dá em roteadores e fios –Semelhante ao caso da FPGA mas em uma granularidade muito mais alta O conceito de NoC abriu um espaço de soluções centradas na comunicação

19 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 19 Influência da Arquitetura do Sistema Processador: ALUs, memórias, FPGA, etc Clustering, hierarquia Pleiades[Zhang 2000] Multicore

20 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 20 Abstração em Camadas

21 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 21 Nomenclatura Sistema –Aplicações e arquitetura (cores+rede) –Detalhes de implementação escondidos Network Adapter (NA) –Separa a rede dos cores –Encapsula mensagens ou transações –Cria os pacotes –Primeiro nível que leva detalhes da rede Network –Topologia, protocolo –Roteadores, links

22 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 22 Nomenclatura Link –Flits (flow control units): unidades atômicas das quais são feitas os pacotes –Phits (physical units): mínimo tamanho de dado que pode passar pelo link físico –É comum os dois serem equivalentes Essa é uma nomenclatura bem aceita, porém não existe padrão oficial A relação com redes OSI é conceitual

23 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 23 NoCs x Redes OSI Composição do sistema é conhecida previamente Conhecimento dos níveis mais baixos pode levar a ganhos de desempenho Níveis são muito mais próximos: determinismo São feitas para permitir a comunicação entre sistemas desenvolvidos independentemente Um nível não tem conhecimento do nível abaixo: abstração NoCOSI

24 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 24 NoCs x Redes OSI Restrições: consumo de energia, tempo de projeto Somente a interface com os cores requer padronização Pode ser customizada para uma aplicação ou nicho de aplicações Fortemente padronizada Enfatizam comunicação de propósito geral Não levam em conta a aplicação final NoCOSI

25 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 25 Fluxo de Projeto Especialização Reconfigurabilidade

26 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 26 Network Adapter

27 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 27 Network Adapter (NA) Duas interfaces: – Core interface (CI) – Network interface (NI) Fornece ao core serviços de alto nível para comunicação usando os serviços primitivos providos pela rede Desacopla o core da rede –Quanto mais desacoplado mais facilita reuso –Facilita o projeto em camadas

28 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 28 Network Adapter (NA) Por outro lado, um menor desacoplamento do core tende a fazer melhor uso dos recursos da rede –Trade off!! SOCKETS –Interface, conectores –O CI do NA pode aderir a um padrão de socket –Ortogonaliza comunicação e computação –Deveriam ser independentes da rede –Cores aderem ao padrão de socket –OCP

29 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 29 Network Adapter (NA) Serviços: –Encapsulamento: controla o fluxo na rede, criação de pacotes, endereçamento global, gerenciamento de buffer –Gerenciamento: configuração de redes circuit-switched, monitorar conexões, casamento de requisições e respostas, negociação de serviços requisitados pelo core (banda, latência) Implementação –Sincronização –Wrappers assíncronos para sistema tipo GALS –Pacotes são criados sincronamente e transmitidos assincronamente –Inclusão de interface padrão pode trazer overhead

30 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 30 Camada de Rede Tem o papel de transportar as mensagens Deve parecer um “fio lógico” aos clientes Basicamente definida por: –Topologia: layout e conectividade dos nós e links –Protocolo: dita como os nós e links são usados

31 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 31 Topologia Escalam previsivelmente com respeito a área e consumo de energia com o aumento do tamanho

32 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 32 Topologia Formas regulares: –Maioria das NoC implementa formas regulares –São facilmente colocadas na superfície do chip (2D) –Tipo grid: k-ary n-cube k: grau de cada dimensão n: número de dimensões Exemplo: –4-ary 2-cube mesh –4-ary 2-cube torus –2-ary (binária) tree –Meshs tendem a usar melhor os links, árvores exploram localidade

33 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 33 Topologia Escalam não linearmente com respeito a área e consumo de energia com o aumento do tamanho

34 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 34 Topologia Formas irregulares – Normalmente utilizam clustering –Uma pequena rede privada (bus) para comunicação local ligada a um sistema global tipo k-ary 2-cube é uma solução comum Pode haver classificações alternativas: –Culler[1998]: combina protocolo e geometria para criar uma nova classificação

35 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 35 Protocolo Estratégia de movimentação dos dados através da NoC Switching: – Transporte dos dados Routing: –“Inteligência” por trás desse processo –Determina o caminho a ser seguido

36 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 36 Protocolo Circuit switching: – Envolve todo o circuito entre fonte e destino –Esse circuito é definido e reservado até o final do transporte dos dados Packet switching: –Feito de maneira “per-hop” –Hop é uma ação básica de comunicação, nó/switch ou switch/switch –Cada pacote contém informação de roteamento além dos dados

37 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 37 Protocolo Orientado à conexão: –Envolve todo um caminho (lógico) dedicado estabelecido previamente –Essa conexão termina ao final da transmissão Sem conexão: –Não tem acordo prévio entre sender e receiver –Ocorre dinamincamente Circuit-switched devem ser sempre orientadas à conexão

38 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 38 Protocolo Roteamento determinístico: –Determinado pela fonte e destino –Source routing: a fonte especifica a rota –X-Y: o pacote atravessa as linhas primeiro, depois as colunas até o destino Roteamento Adaptativo: –Determinado dinamicamente –Envolve mecanismos de arbitragem –Pode levar em conta congestionamento –Leva a uma implementação mais complexa, que pode ser mais eficiente

39 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 39 Protocolo Roteamento mínimo ou não-mínimo: –Sempre determina o caminho mínimo ou não Atraso vs Perda: –No modelo com atraso, dados nunca são perdidos –No modelo com perdas, dados podem ser descartados –Descarte de pacotes pode ajudar a resolver congestionamento –Introduz um overhead para controle de status da transmissão

40 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 40 Protocolo O protocolo define o uso dos recursos disponíveis Os fatores listados anteriormente influenciam na implementação dos roteadores

41 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 41 Roteador Genérico Conecta input e output buffers Algoritmo que controla conexões buffers Link controllers

42 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 42 Estratégias de Roteamento Store-and-forward: –Protocolo do tipo packet-switched –Um nó armazena todo o pacote e depois o transmite baseado em seu cabeçalho –O pacote pode encalhar caso o nó roteador seguinte não tenha espaço suficiente em seu buffer de entrada

43 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 43 Estratégias de Roteamento Wormhole: –Combina packet switching com características de circuit switching –Um nó olha o cabeçalho do pacote e o retransmite imediatamente –Os flits subseqüentes são transmitidos assim que chegam –O pacote preenche seu caminho através da rede (worm) –Possivelmente ocupa vários nós simultaneamente –Se o pacote encalha, pára todos os links que ele ocupa

44 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 44 Estratégias de Roteamento Virtual cut-through: –Similar ao wormhole –Porém, antes de transmitir o primeiro flit do pacote, um nó espera que o nó seguinte possa receber o pacote todo –Se o pacote encalha, ele não pára nenhum link

45 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 45 Estratégias de Roteamento Redes gerais normalmente usam store- and-forward NoCs normalmente usam wormhole Vantagens: diminuir a latência e evitar buffers grandes que custam em termos de área

46 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 46 Links Sincronização: –GALS torna possível implementar links com técnicas de circuitos assíncronos –Vantagem: Não consome energia quando links estão inativos –Ajuda a conter o crescimento do consumo conforme o tamanho do chip cresce –Desvantagem: Inclui algum overhead dinâmico em termos de área e energia dado ao controle de handshake

47 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 47 Links Implementação: –DSM: o efeito dos fios em atrasos e consumo de energia aumenta –Segmentação dos fios. Os desafios são interconexões: Rápidas, confiáveis e de “longo” alcance Colocar repetidores em intervalos regulares –Pipeline: alternativa a segmentação Quebra longas interconexões em estágios Handshake tende a ficar mais curto Maiores latência e área, estágios de pipelines são mais complexos que repetidores

48 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 48 Modelagem de NoCs Possui vastos espaços de projeto e de implementação a serem explorados Modelagem e simulação são importantes para projeto, integração e verificação Objetivos: –Explorar o espaço de projeto –Avaliar trade-offs entre área, consumo de energia, tempo de projeto, etc –Respeitando as restrições da aplicação e da tecnologia

49 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 49 Modelagem de NoCs 3 principais aspectos: –Ambiente (framework) –Níveis de abstração –Análise dos resultados Em nível de sistema –Tipicamente usa-se modelos TLM para modelagem de comunicação –send()/receive() síncronos ou assíncronos –Endereçamento pode ser necessário para identificar unicamente o caminho de transmissão, para prover os serviços de NoC

50 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 50 Modelagem de NoCs

51 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 51 Caracterização do Tráfego Latência crítica: –Restrições severas de latência; Data Streams: –Demandam QoS em termos de banda –Normalmente altas taxas fixas –MPEG, DMA Miscelânea: –Sem requisitos específicos –Não exigem nenhum comprometimento da rede

52 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 52 Projeto e Exploração Parametrização do sistema: –Facilidade com que características da NoC podem ser mudadas em cada instanciação –Número de slots no switch –Número de portas –Número de estágios de pipeline nos links Granularidade: –Nível em que a NoC e seus componentes estão descritos –A NoC toda é um core ou deve ser montada a partir de blocos em baixo nível

53 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 53 Espaço de Exploração

54 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 54 Referências A Survey of Research and Practises of Network-on-chip. T. Bjerregaard and S. Mahadevan. ACM Computing Surveys, Vol. 38, March 2006. NoCs: Vision, reality, trends. Luca Benini. NoC Wokshop. DATE 2004. Network on Chips: A new SoC paradigm. Luca Benini and Giovanni de Micheli. IEEE Computer 2002


Carregar ppt "MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre."

Apresentações semelhantes


Anúncios Google