Upload
internet
View
104
Download
0
Embed Size (px)
Citation preview
Tolerância a Falhas em redes Intra-Chip
Alzemiro Henrique Lucas da Silva
Motivação (NoC) Evolução na tecnologia de produção de
circuitos integrados. Produção de chips com dezenas ou até
centenas de elementos de processamento. MPSoCs são uma tendência para o futuro. Problema de interconexão de dispositivos. Infra-estrutura de comunicação deve ser
escalável e possuir desempenho para as futuras aplicações.
Motivação (Tolerância a Falhas)
Evolução na tecnologia de produção de circuitos integrados.
Redução no tamanho dos transistores e linhas do conexão.
Linhas longas de comunicação mais sujeitas a interferências.
Proteção contra falhas: Layout x Codificação de dados.
NoC Utiliza conceitos de redes de
computadores para transporte de dados em chips.
Substituem barramentos e conexões ponto-a-ponto.
Topologia: Malha, Torus, Árvore... Algoritmos de roteamento:
determinístico x adaptativo
NoC Malha é a topologia mais
utilizada. Enlaces curtos, facilidade
de roteamento. Possibilita paralelismo. Escalabilidade. A menor unidade de
transmissão é chamada de flit.
R R RR R
R RR RR R
R R RR RR
R R RR R
IP IP IP IP
IP IP IP IP
IP IP IP IP
IP IP IP IP
Codificação (Conceitos Gerais)
A codificação adotada para proteção dos canais de uma NoC deve ter mínimo overhead de área e consumo de potência.
Comumente se utiliza codificação CRC para detecção e códigos de Hamming para correção de erros simples.
Tolerância a falhas em NoCs (Conceitos Gerais) Recuperação de falhas podem ser
realizadas através de reenvio ou através de algoritmos de roteamento adaptativo.
Tanto a codificação quanto o reenvio pode ser realizado fim-a-fim ou roteador-a-roteador.
Existem também métodos híbridos: correção de erros simples e reenvio de pacotes com múltiplos erros.
Recuperação de falhas através de comunicação estocástica Primeiro algoritmo adaptativo proposto para
tolerância a falhas em NoCs. Algoritmo é baseado em broadcast
probabilístico de mensagens. Autor argumenta que o sistema tradicional
de reenvio é custoso em termos de latência e propenso a deadlocks.
Também afirma existe banda suficiente disponível na rede para utilização deste algoritmo.
R. Marculescu 2003
Recuperação de falhas através de comunicação estocástica
Se um roteador tem um pacote para enviar ele escolhe um subconjunto randômico de seus visinhos e repassa esta mensagem.
Uma mensagem pode percorrer diversos caminhos de uma origem até um determinado destino.
Se um roteador intermediário detectar um erro, ele simplesmente descarta a mensagem, pois ela chegará ao seu destino por outro caminho.
R. Marculescu 2003
Recuperação de falhas através de comunicação estocástica
Mensagem pode chegar ao seu destino antes do término do broadcast, podendo ser interrompido para evitar transmissões desnecessárias.
Desempenho do algoritmo pode ser melhorado diminuindo a probabilidade de encaminhar uma mensagem para um roteador mais longe do destino.
R. Marculescu 2003
Xpipes Arquitetura de rede proposta para
suportar altas freqüências de operação. Possui canais com número de buffers
intermediários parametrizáveis para alto desempenho.
Gerada automaticamente através da ferramenta XpipesCompiler.
Possui controle de erros integrado com codificação CRC.
D. Bertozzi 2004
Xpipes Cada roteador possui um
decodificador CRC para cada canal de entrada.
O CRC é calculado apenas uma vez pela interface de rede da origem.
Ao detectar um erro de CRC o roteador gera um sinal de NACK solicitando reenvio.
D. Bertozzi 2004
Análise de técnicas de recuperação de erros em NoCs Neste artigo os autores avaliam 4 métodos
de recuperação de erros utilizando métricas como latência e consumo de potência.
O primeiro método é baseado em detecção e reenvio fim-a-fim de pacotes com erro. (ee)
O segundo método envolve retransmissão roteador-a-roteador em nível de flit. (ssf)
O terceiro corresponde ao reenvio de pacotes completos roteador-a-roteador. (ssp)
S. Muralli 2005
Análise de técnicas de recuperação de erros em NoCs No quarto método avaliado um receptor
pode corrigir erros simples em flits mas para erros múltiplos deve requisitar reenvio fim-a-fim. (ec+ed)
A arquitetura avaliada possui pacotes de 4 flits de 64 bits.
Baseada em roteamento estático na origem e controle de fluxo baseado em crédito.
S. Muralli 2005
Análise de técnicas de recuperação de erros em NoCs
S. Muralli 2005
Análise de técnicas de recuperação de erros em NoCs
S. Muralli 2005
Análise de técnicas de recuperação de erros em NoCs
S. Muralli 2005
Análise de técnicas de recuperação de erros em NoCs
S. Muralli 2005
Algoritmos de roteamento visando tolerância a falhas A maioria das arquiteturas são
baseadas em roteamento estático com caminhamento simples para evitar entrega de pacotes fora de ordem.
Neste artigo o autor propõe um método para roteamento de pacotes por múltiplos caminhos com garantia de entrega em ordem e tolerância a falhas.
S. Muralli 2007
Algoritmos de roteamento visando tolerância a falhas Os pacotes são enviados por mais de um
caminho simultaneamente. A interface de rede de destino aceita qualquer um dos pacotes recebidos que não contenha erro.
Para proteção contra erros permanentes, um pacote deve ser enviado por caminhos que não possuam intersecção, evitando que caminhos distintos passem por um mesmo roteador ou canal falho
S. Muralli 2007
Algoritmos de roteamento visando tolerância a falhas
Zhu faz uma comparação entre alguns algoritmos adaptativos propostos para tolerância a falhas em NoCs.
Os algoritmos analisados são: XY: não oferece tolerância a falhas N random walk Negative first
H. Zhu 2007
Algoritmos de roteamento visando tolerância a falhas
Exemplo N random walk com N=1
H. Zhu 2007
Algoritmos de roteamento visando tolerância a falhas
Exemplo Negative First adaptado
H. Zhu 2007
Algoritmos de roteamento visando tolerância a falhas
Resultados
H. Zhu 2007
Algoritmos de roteamento visando tolerância a falhas
Resultados
S. Muralli 2005
Algoritmo de roteamento
Área (Nº de portas NAND com 2 entradas)
Roteamento XY 250N=1 random walk 11160Negative First 333
Conclusões Tolerância a falhas no projeto de NoCs é
importante para manter o desempenho das futuras aplicações.
NoCs facilitam a implementação de técnicas de confiabilidade para comunicação de módulos dentro do chip.
Técnicas de tolerância a falhas em tempo de projeto menor impacto de área e potência em relação a técnicas de layout.