@PHDTHESIS{ 2015:386509094, title = {Layered approach for runtime fault recovery in NOC-Based MPSOCS}, year = {2015}, url = "http://tede2.pucrs.br/tede2/handle/tede/6279", abstract = "Mecanismos de tolerância a falhas em MPSoCs são obrigatórios para enfrentar defeitos ocorridos durante a fabricação ou falhas durante a vida útil do circuito integrado. Por exemplo, falhas permanentes na rede de interconexão do MPSoC podem interromper aplicações mesmo que a rede tenha caminhos sem falha para um determinado destino. A tolerância a falhas em tempo de execução fornece mecanismos de auto-organização para continuar a oferecer serviços de processamento apesar de núcleos defeituosos devido à presença de falhas permanentes e/ou transitórias durante toda a vida dos chips. Esta Tese apresenta uma abordagem em camadas para um MPSoC tolerante a falhas, onde cada camada é responsável por resolver uma parte do problema. O método é construído sobre uma nova proposta de rede especializada utilizada para procurar caminhos livre de falha. A primeira camada, denominada camada física, é responsável pela detecção de falhas e isolamento das partes defeituosas da rede. A segunda camada, denominada camada de rede, é responsável por substituir um caminho defeituoso por um caminho alternativo livre de falhas. Um método de roteamento tolerante a falhas executa o mecanismo de busca de caminhos e reconfigura a rede para usar este caminho livre de falhas. A terceira camada, denominada camada de transporte, implementa um protocolo de comunicação tolerante a falhas que detecta quando pacotes não são entregues ao destino, acionando o método proposto na camada de rede. A última camada, camada de aplicação, é responsável por mover as tarefas do elemento de processamento (PE) defeituoso para um PE saudável, salvar o estado interno da tarefa, e restaurá-la em caso de falha durante a execução. Os resultados na camada de rede mostram um método rápido para encontrar caminhos livres de falhas. O processo de procura de caminhos alternativos leva tipicamente menos de 2000 ciclos de relógio (ou 20 microssegundos). Na camada de transporte, diferentes abordagens foram avaliadas para detectar uma mensagem não entregue e acionar a retransmissão. Os resultados mostram que a sobrecarga para retransmitir a mensagem é 2,46 vezes maior quando comparado com o tempo para transmitir uma mensagem sem falha, sendo que todas outras mensagens subsequentes são transmitidas sem sobrecarga. Para as aplicações DTW, MPEG e sintética, o caso médio de sobrecarga no tempo de execução da aplicação é de 0,17%, 0,09% e 0,42%, respectivamente. Isto representa menos do que 5% do tempo de execução de uma dada aplicação no pior caso. Na camada de aplicação, todo o protocolo de recuperação de falhas executa rapidamente, com uma baixa sobrecarga no tempo de execução sem falhas (5,67%) e com falhas (17,33% - 28,34%).", publisher = {Pontifícia Universidade Católica do Rio Grande do Sul}, scholl = {Programa de Pós-Graduação em Ciência da Computação}, note = {Faculdade de Informática} }