260 likes | 337 Views
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.
E N D
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.
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
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.