Efficient log compaction by safely discarding commands

Detalhes bibliográficos
Autor(a) principal: Xavier, Luiz Gustavo Coutinho
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Institucional da UFSC
Texto Completo: https://repositorio.ufsc.br/handle/123456789/247592
Resumo: Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2023.
id UFSC_578e7be2f6681f693b84f2691c4ecd61
oai_identifier_str oai:repositorio.ufsc.br:123456789/247592
network_acronym_str UFSC
network_name_str Repositório Institucional da UFSC
repository_id_str 2373
spelling Efficient log compaction by safely discarding commandsComputaçãoSistemas distribuídosTolerância a falha (Computadores)Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2023.Logs são amplamente utilizados no desenvolvimento de aplicações distribuídas tolerantes à falhas. Ao registrar entradas em um log global sequencial, diferentes sistemas podem sincronizar atualizações em réplicas distribuídas e fornecer uma recuperação de estado consistente mesmo na presença de falhas. No entanto, logs são responsáveis por uma sobrecarga significativa no desempenho de aplicações tolerantes a falhas, e muitos estudos apresentam alternativas para aliviar servidores de tais custos. Nesta dissertação é apresentada uma abordagem para acelerar recuperação de estado em protocolos baseados em log ao seguramente descartar comandos. A técnica envolve a utilização de um procedimento de compactação de log em tempo de execução, executado de forma concorrente com a persistência e execução de comandos. Além de compactar o log, a técnica proposta o divide em diferentes arquivos, e incorpora estratégias para reduzir a sobrecarga gerada pelo uso de logs, como explorar o agrupamento de comandos em lotes e E/S paralela. Avaliamos a abordagem proposta em dois ambientes distintos: (i) em um ambiente controlado, avaliando nossa solução em protótipo de base de dados chave-valor implementando uma estratégia de log padrão; e (ii) em um ambiente mais realista, implementando nossa abordagem como uma nova funcionalidade do etcd, um banco de dados comercial conhecido na indústria, e comparando-a com sua implementação de log padrão. Utilizando cargas de trabalho do YCSB e explorando diferentes configurações para nossa técnica, como variações no tamanho de lote e número de dispositivos de armazenamento, os resultados demonstram que nossa abordagem de compactação é capaz de reduzir significativamente o tempo de recuperação da aplicação. Em cargas de trabalho onde o acesso a chaves recentes é estimulado, é demonstrado uma redução de até 50% no tamanho do log com uma melhora de 65% no tempo de recuperação quando comparado com o protocolo de recuperação padrão do etcd. Em questão de desempenho, com exceção de um aumento de latência devido à abordagem de lotes implementada, nenhuma outra sobrecarga relevante foi observada.Abstract: Logs are crucial to the development of dependable distributed applications. By logging entries on a sequential global log, systems can synchronize updates over distributed replicas and provide a consistent state recovery in the presence of faults. However, logs account for a significant overhead on fault-tolerant applications? performance, and many studies present alternatives to alleviate servers from such costs. In this dissertation we propose an approach to accelerate recovery on log-based protocols by safely discarding entries from logs. The technique involves the execution of a compaction procedure during run-time, concurrently with the persistence and execution of commands. Besides compacting logging information, the proposed technique also splits the log into several files and incorporates strategies to reduce logging overhead, such as batching and parallel I/O. We evaluate the proposed approach under two distinct setups: (i) on a controlled environment, by comparing against a key-value store prototype implementing a standard logging scheme; and (ii) on a more realistic scenario, by implementing our approach as a new feature of etcd, a known commercial database in the industry, and comparing it against the database?s standard logging implementation. Utilizing workloads from YCSB and exploring different configurations for our technique, such as batch size and number of storage devices, results demonstrate that our compaction approach is capable to significantly reduce the application?s recovery time. On workloads where the access to the most recent updated keys is stimulated, we reach up to a 50% compaction on the log file size with a 65% improvement in recovery time when compared to etcd?s standard recovery protocol. In terms of performance, with the exception of a latency increase due to the implemented batching approach, no other relevant overhead was perceived.Mendizabal, Odorico MachadoMeinhardt, CristinaUniversidade Federal de Santa CatarinaXavier, Luiz Gustavo Coutinho2023-06-28T18:26:54Z2023-06-28T18:26:54Z2023info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis67 p.| il., gráfs., tabs.application/pdf381386https://repositorio.ufsc.br/handle/123456789/247592engreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSCinfo:eu-repo/semantics/openAccess2023-06-28T18:26:54Zoai:repositorio.ufsc.br:123456789/247592Repositório InstitucionalPUBhttp://150.162.242.35/oai/requestopendoar:23732023-06-28T18:26:54Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false
dc.title.none.fl_str_mv Efficient log compaction by safely discarding commands
title Efficient log compaction by safely discarding commands
spellingShingle Efficient log compaction by safely discarding commands
Xavier, Luiz Gustavo Coutinho
Computação
Sistemas distribuídos
Tolerância a falha (Computadores)
title_short Efficient log compaction by safely discarding commands
title_full Efficient log compaction by safely discarding commands
title_fullStr Efficient log compaction by safely discarding commands
title_full_unstemmed Efficient log compaction by safely discarding commands
title_sort Efficient log compaction by safely discarding commands
author Xavier, Luiz Gustavo Coutinho
author_facet Xavier, Luiz Gustavo Coutinho
author_role author
dc.contributor.none.fl_str_mv Mendizabal, Odorico Machado
Meinhardt, Cristina
Universidade Federal de Santa Catarina
dc.contributor.author.fl_str_mv Xavier, Luiz Gustavo Coutinho
dc.subject.por.fl_str_mv Computação
Sistemas distribuídos
Tolerância a falha (Computadores)
topic Computação
Sistemas distribuídos
Tolerância a falha (Computadores)
description Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2023.
publishDate 2023
dc.date.none.fl_str_mv 2023-06-28T18:26:54Z
2023-06-28T18:26:54Z
2023
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 381386
https://repositorio.ufsc.br/handle/123456789/247592
identifier_str_mv 381386
url https://repositorio.ufsc.br/handle/123456789/247592
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 67 p.| il., gráfs., tabs.
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSC
instname:Universidade Federal de Santa Catarina (UFSC)
instacron:UFSC
instname_str Universidade Federal de Santa Catarina (UFSC)
instacron_str UFSC
institution UFSC
reponame_str Repositório Institucional da UFSC
collection Repositório Institucional da UFSC
repository.name.fl_str_mv Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)
repository.mail.fl_str_mv
_version_ 1808652138529685504