Heterogeneous fault tolerance architecture based on Arm and RISC-V processors

Detalhes bibliográficos
Autor(a) principal: Rodrigues, Cristiano António Azevedo
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/64956
Resumo: Dissertação de mestrado em Engenharia Eletrónica Industrial e Computadores
id RCAP_cb8ffea085a98b7114f4a8ef6ed4358c
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/64956
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Heterogeneous fault tolerance architecture based on Arm and RISC-V processorsArquitetura heterogénea de tolerância a falhas baseada em processadores Arm e RISC-VDesign diversityFault toleranceLockstepRedundancyDiversidade de desenhoRedundânciaTolerância a falhasEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Engenharia Eletrónica Industrial e ComputadoresSafety-critical systems deployed in harsh environments rely on fault tolerance and redundancy techniques to keep them operating even in the presence of faults. Although there are effective techniques to mitigate one side faults, they are not enough to protect the system against simultaneously multi side faults. These kinds of faults trigger the same error in faulty redundant components, which makes resulting errors invisible and undetectable for fault tolerant mechanisms. To overcome this problem, design diversity is applied in fault tolerant system to mitigate the Common-Mode Failure (CMF) and build a more robust and reliable system. Despite several fault tolerance architectures based on FPGA are available in the literature, to the best of our knowledge, none of them aims both hardening of heterogeneous processors and applying design diversity at processor level. To address this lack of solutions in the current state of the art, this dissertation proposes a novel heterogeneous fault tolerance architecture, Lock-V, which enables design diversity at processors architecture level. It deals with CMF, as well as both error detection and recovery fault tolerance techniques to mitigate errors triggered by external environment interactions, e.g., radiation. To eliminate the CMF, Lock-V explores an implementation based on different processing units: a hard-core Arm Cortex-A9 and a soft-core RISC-V-based processors, to leverage design diversity through ISA heterogeneity. To implement fault tolerance, Lock-V proposes a hybrid DCLS solution where the error detection is done by hardware, resorting to a FPGA accelerator, while error recovery is performed by software using rollback technique. After the deployment of Lock-V on a Zynq-7000 SoC, over 45000 faults were injected. The results taken from such injection shows that when an application runs on the Lock-V architecture, besides its protection against the CMF due to processors design diversity, it is also protected against 97% of the triggered errors. Nevertheless implement Lock-V came up with some tradeoffs. It used 79% of the LUT and 34% of the FF available on the Zedboard FPGA platform. Regarding the software part, implementing Lock-V leads to an 8% increase in memory footprint and also an increase in the execution overhead around 12%, mainly in the worst case scenario as tested in the absence of errors. Knowing that all the redundancy has its cost, Lock-V proved to be able to grant a system with design diversity and fault tolerance capabilities.Quando sistemas críticos operam em ambientes hostis, estes necessitam de serviços de redundância e de tolerância a falhas para continuarem em funcionamento mesmo na presença de faltas. Embora a técnica de tolerância a falhas seja eficaz para mitigar faltas que ocorrem num único componente, ela perde eficácia, quando múltiplas faltas acontecem simultaneamente em vários componentes. Estes tipos de faltas, despoletam o mesmo erro em todos os componentes afetados, tornando-as indetectáveis. Para solucionar este problema, usualmente, recorre-se a diversidade de desenho para mitigar as Falhas de Modo Comum (FMC), construindo assim um sistema mais robusto e confiável. Várias arquiteturas de tolerância a falhas, baseadas em Field-Programmable Gate Array (FPGA), têm sido descritas na literatura, no entanto, pelas pesquisas efetuadas, nenhuma delas tem como objetivo proteger processadores heterogéneos e aplicar diversidade de desenho ao nível do processador. Para resolver a supracitada falta de soluções, esta dissertação propõe uma nova arquitetura heterogénea de tolerância a falhas, Lock-V. O Lock-V promove diversidade de desenho, ao nível da arquitetura do processador, assim como técnicas de tolerância a falhas para, respetivamente, mitigar FMC e detetar e recuperar erros despoletados por causas externas, por exemplo, radiação. Para eliminar as FMC, o Lock-V possuí duas unidades de processamento diferentes: um hard-core Arm Cortex-A9 e um soft-core baseado em RISC-V. Desta forma é aplicada diversidade de desenho, usando heterogeneidade no Instruction Set Architecture (ISA). Por outro lado, para implementar tolerância a falhas, o Lock-V propõe uma solução híbrida de Dual-Core Lockstep (DCLS), onde a deteção de erros é feita em hardware, recorrendo a um acelerador na FPGA, e a recuperação dos erros é suportado por software, usando técnicas de rollback. Após o Lock-V ser implementado na Zynq-7000 System-on-Chip (SoC), mais de 45000 faltas foram injetadas. Os resultados dessa injeção mostram que quando uma aplicação executa na arquitetura Lock-V, para além de estar protegida contra FMC, devido à diversidade do desenho ao nível dos processadores, também está protegida contra 97% dos erros ocorridos. No entanto, implementar o Lock-V acarreta alguns tradeoffs. 79% das Look-Up Tables (LUT) e 34% dos Flip-Flops (FF) disponíveis na plataforma (Zedboard), são usados. Ao nível do software, o Lock-V aumenta em 8% o consumo de memoria e, para o pior cenário testando sem a ocorrência de erros, aumenta em 12% o overhead de execução. Tendo em conta que toda a redundância tem o seu custo, o Lock-V provou ser capaz de dotar um sistema com diversidade de desenho e capacidades de tolerância a falhas.Tavares, AdrianoPinto, SandroUniversidade do MinhoRodrigues, Cristiano António Azevedo20192019-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/64956eng202450805info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:54:22Zoai:repositorium.sdum.uminho.pt:1822/64956Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:53:53.122543Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Heterogeneous fault tolerance architecture based on Arm and RISC-V processors
Arquitetura heterogénea de tolerância a falhas baseada em processadores Arm e RISC-V
title Heterogeneous fault tolerance architecture based on Arm and RISC-V processors
spellingShingle Heterogeneous fault tolerance architecture based on Arm and RISC-V processors
Rodrigues, Cristiano António Azevedo
Design diversity
Fault tolerance
Lockstep
Redundancy
Diversidade de desenho
Redundância
Tolerância a falhas
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Heterogeneous fault tolerance architecture based on Arm and RISC-V processors
title_full Heterogeneous fault tolerance architecture based on Arm and RISC-V processors
title_fullStr Heterogeneous fault tolerance architecture based on Arm and RISC-V processors
title_full_unstemmed Heterogeneous fault tolerance architecture based on Arm and RISC-V processors
title_sort Heterogeneous fault tolerance architecture based on Arm and RISC-V processors
author Rodrigues, Cristiano António Azevedo
author_facet Rodrigues, Cristiano António Azevedo
author_role author
dc.contributor.none.fl_str_mv Tavares, Adriano
Pinto, Sandro
Universidade do Minho
dc.contributor.author.fl_str_mv Rodrigues, Cristiano António Azevedo
dc.subject.por.fl_str_mv Design diversity
Fault tolerance
Lockstep
Redundancy
Diversidade de desenho
Redundância
Tolerância a falhas
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Design diversity
Fault tolerance
Lockstep
Redundancy
Diversidade de desenho
Redundância
Tolerância a falhas
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Engenharia Eletrónica Industrial e Computadores
publishDate 2019
dc.date.none.fl_str_mv 2019
2019-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/64956
url http://hdl.handle.net/1822/64956
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 202450805
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799133136885383168