dc.creator | Cardoso, Paulo Vinicius Mendonça | |
dc.date.accessioned | 2020-01-09T15:07:05Z | |
dc.date.available | 2020-01-09T15:07:05Z | |
dc.date.issued | 2019-08-05 | |
dc.identifier.uri | http://repositorio.ufsm.br/handle/1/19346 | |
dc.description.abstract | Processing data on High-Performance Computing (HPC) systems is a communal assignment
due to large amounts of information being generated. However, reliability and performance
problems are created as these systems complexity is increasing. Thus, the search for
fault tolerance techniques is important in this context. The Checkpoint and Recovery (CR) fault
tolerance technique is widely used for failure recovery based on system stable states that were
previously saved. On Apache Hadoop and Apache Spark – distributing and high-performance
frameworks –, checkpoint helps on recovery steps after failure events. But checkpoint attribute
configuration on both frameworks is static because it depends on the system developer’s choices.
Also, changes in real-time are not allowed. In this way, inappropriate choices may harm the
system’s reliability and/or performance. Therefore, this work presents a solution for dynamic
configurations for the checkpoint technique on Hadoop and Spark. The purpose is described by
the Dynamic Configuration Architecture (DCA) that works with monitoring metrics definitions.
The main goal of DCA is to provide real-time adaptations of checkpoint attributes according to
the necessity of the framework. Besides the architecture definition, validations were performed
on controlled failure scenarios to measure DCA efficiency. Obtained results show that dynamically
configured checkpoint techniques reached a balance between performance and reliability
(based on recovery time) in most of the tested scenarios. With no failures, executions with DCA
did not experience high intrusiveness, as failure scenarios were controlled with fast recovery.
Besides, DCA shows a great advantage with the possibility of Spark checkpoint savings even
source code parts that are inaccessible from developers. In future works, DCA optimizations
will be developed and validated. Monitoring metrics will be improved, as well as the DCA elements.
With these optimizations, more accurate validations with several failures and workload
scenarios will be performed so the DCA performance can be completely measured. | eng |
dc.description.sponsorship | Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES | por |
dc.language | por | por |
dc.publisher | Universidade Federal de Santa Maria | por |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 International | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
dc.subject | Tolerância a falhas | por |
dc.subject | Checkpoint and recovery | por |
dc.subject | Configuração dinâmica | por |
dc.subject | Hadoop | por |
dc.subject | Spark | por |
dc.subject | Monitoramento | por |
dc.subject | Fault tolerance | eng |
dc.subject | Dynamic configuration | eng |
dc.subject | Monitoring | eng |
dc.title | Arquitetura de configuração dinâmica para a técnica de checkpoint em frameworks de processamento distribuído | por |
dc.title.alternative | Dynamic configuration architecture for checkpoint technique on distributed processing frameworks | eng |
dc.type | Dissertação | por |
dc.description.resumo | O processamento de dados em sistemas computacionais de alto desempenho tornouse
uma tarefa comum dada a grande quantidade de informação gerada atualmente. Conforme
a complexidade desses sistemas aumenta, criam-se problemas de confiabilidade e disponibilidade
a partir da iminente presença de falhas. Esses fatores motivam a busca por mecanismos
de tolerância a falhas para sistemas computacionais. Uma alternativa eficiente é a técnica de
Checkpoint and Recovery (CR), que busca auxiliar na recuperação pós-falha de um sistema a
partir de pontos de verificação previamente salvos. No Apache Hadoop e no Apache Spark
– frameworks para processamento distribuído de alto desempenho –, o checkpoint auxilia em
operações de recuperação nos cenários de falha. Porém, a configuração de atributos de checkpoint
em ambas as ferramentas é estática, de modo que o comportamento da técnica depende de
escolhas do desenvolvedor e mudanças em tempo de execução são limitadas. Ou seja, escolhas
inapropriadas podem degradar o desempenho e a confiabilidade do sistema. Portanto, este trabalho
apresenta uma solução de configuração dinâmica para a técnica de checkpoint do Hadoop
e do Spark, baseada em um monitoramento de recursos. A proposta é descrita pela arquitetura
de configuração dinâmica (Dynamic Configuration Architecture, ou DCA), que trabalha partir
da definição de métricas de monitoramento. O objetivo da arquitetura é adaptar, em tempo real,
os atributos de checkpoint de forma eficiente, de acordo com as necessidades dos frameworks.
Sendo assim, experimentações com e sem falha nos frameworks Hadoop e Spark foram executadas
a fim de validar a DCA com análises de desempenho e de recuperação. Os resultados
mostram que as técnicas de checkpoint dinamicamente configuradas pela DCA alcançaram um
equilíbrio de desempenho nos cenários de teste. Enquanto execuções sem falhas não geraram
uma alta intrusividade, os cenários de falha foram controlados de forma eficiente na maioria
dos testes. Além disso, a DCA mostrou uma grande vantagem ao possibilitar o estabelecimento
de checkpoints em trechos de código indisponíveis ao usuário no Spark. Em trabalhos futuros,
otimizações da arquitetura serão desenvolvidos com o refinamento das métricas de monitoramento.
Além disso, validações mais completas deverão ser realizadas para um melhor estudo
de todos os componentes envolvidos na elaboração da DCA. | por |
dc.contributor.advisor1 | Barcelos, Patrícia Pitthan de Araújo | |
dc.contributor.advisor1Lattes | http://lattes.cnpq.br/6069105173950277 | por |
dc.contributor.referee1 | Stein, Benhur de Oliveira | |
dc.contributor.referee1Lattes | http://lattes.cnpq.br/4640320476003795 | por |
dc.contributor.referee2 | Steffenel, Luiz Angelo | |
dc.contributor.referee2Lattes | | por |
dc.creator.Lattes | http://lattes.cnpq.br/7432539444725988 | por |
dc.publisher.country | Brasil | por |
dc.publisher.department | Ciência da Computação | por |
dc.publisher.initials | UFSM | por |
dc.publisher.program | Programa de Pós-Graduação em Ciência da Computação | por |
dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO | por |
dc.publisher.unidade | Centro de Tecnologia | por |