Adaptive Filtering and Sampling in Runtime Software Monitoring

Detalhes bibliográficos
Ano de defesa: 2021
Autor(a) principal: Mertz, Jhonny Marcos Acordi
Orientador(a): Nunes, Ingrid Oliveira de
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Palavras-chave em Inglês:
Link de acesso: http://hdl.handle.net/10183/234501
Resumo: Compreender o comportamento de um sistema de software é uma tarefa essencial para muitas atividades de engenharia de software, como identificação de bugs, melhorias de desempenho, depuração e auto-adaptação. Apesar da utilidade da coleta de traços de execução, isso pode afetar significativamente a execução do sistema, atrasando os tempos de resposta e competindo com os recursos. Assim, o monitoramento em tempo de execução tem uso prático limitado para análise ou suporte a mudanças em tempo real. A abordagem típica para lidar com tal problema é filtrar partes do sistema a serem monitoradas e amostrar traços. No entanto, a maioria das soluções existentes para filtragem e amostragem são baseadas em configurações predefinidas, o que limita as informações disponíveis para análise. Como sistemas costumam ter cargas de trabalho variáveis, algu mas abordagens mudam dinamicamente as configurações de filtragem e amostragem em tempo de execução. Embora essas abordagens podem atingir um melhor balanço entre a quantidade de informações coletadas e o impacto no desempenho do sistema, elas se concentram na coleta de traços para uma finalidade específica ou podem capturar uma amostra não correspondente ao comportamento atual do sistema. Nesta tese, aumentamos a viabilidade prática de monitoramento de tempo de execução de software, reduzindo a sobrecarga de monitoramento e aumentando a relevância e representatividade dos traços coletados. Assim, propomos uma solução para enfrentar os desafios de filtragem e amos tragem de traços de execução. Para filtrar os traços de execução relevantes, propomos um framework independente de domínio e de baixo impacto, denominado Tigris, que abstrai o raciocínio relacionado ao monitoramento das particularidades de cada problema abordado, filtrando os traços de execução relevantes de acordo com o objetivo do moni toramento. Em relação aos desafios de coletar uma amostra representativa, propomos um processo de monitoramento adaptativo, que altera dinamicamente a taxa de amostragem de acordo com a carga de trabalho do sistema. Nós avaliamos ambas as abordagens com estudos empíricos, e os resultados mostram que as técnicas propostas podem reduzir a sobrecarga de monitoramento por meio da filtragem e amostragem de traços, e aumentar a relevância e representatividade dos traços coletados.
id URGS_cb1f7d758c3557ffe0d37c857dbf2742
oai_identifier_str oai:www.lume.ufrgs.br:10183/234501
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str
spelling Mertz, Jhonny Marcos AcordiNunes, Ingrid Oliveira de2022-01-27T04:32:19Z2021http://hdl.handle.net/10183/234501001136149Compreender o comportamento de um sistema de software é uma tarefa essencial para muitas atividades de engenharia de software, como identificação de bugs, melhorias de desempenho, depuração e auto-adaptação. Apesar da utilidade da coleta de traços de execução, isso pode afetar significativamente a execução do sistema, atrasando os tempos de resposta e competindo com os recursos. Assim, o monitoramento em tempo de execução tem uso prático limitado para análise ou suporte a mudanças em tempo real. A abordagem típica para lidar com tal problema é filtrar partes do sistema a serem monitoradas e amostrar traços. No entanto, a maioria das soluções existentes para filtragem e amostragem são baseadas em configurações predefinidas, o que limita as informações disponíveis para análise. Como sistemas costumam ter cargas de trabalho variáveis, algu mas abordagens mudam dinamicamente as configurações de filtragem e amostragem em tempo de execução. Embora essas abordagens podem atingir um melhor balanço entre a quantidade de informações coletadas e o impacto no desempenho do sistema, elas se concentram na coleta de traços para uma finalidade específica ou podem capturar uma amostra não correspondente ao comportamento atual do sistema. Nesta tese, aumentamos a viabilidade prática de monitoramento de tempo de execução de software, reduzindo a sobrecarga de monitoramento e aumentando a relevância e representatividade dos traços coletados. Assim, propomos uma solução para enfrentar os desafios de filtragem e amos tragem de traços de execução. Para filtrar os traços de execução relevantes, propomos um framework independente de domínio e de baixo impacto, denominado Tigris, que abstrai o raciocínio relacionado ao monitoramento das particularidades de cada problema abordado, filtrando os traços de execução relevantes de acordo com o objetivo do moni toramento. Em relação aos desafios de coletar uma amostra representativa, propomos um processo de monitoramento adaptativo, que altera dinamicamente a taxa de amostragem de acordo com a carga de trabalho do sistema. Nós avaliamos ambas as abordagens com estudos empíricos, e os resultados mostram que as técnicas propostas podem reduzir a sobrecarga de monitoramento por meio da filtragem e amostragem de traços, e aumentar a relevância e representatividade dos traços coletados.Understanding behavioral aspects of a software system is an essential enabler for many software engineering activities such as monitoring choke-points, debugging, and self adaptation. Despite the usefulness of collecting system data, it may significantly impact the system execution by delaying response times and competing with system resources. Thus, runtime monitoring has limited practical use to online analysis or support real-time changes and adaptations on the program behavior. The typical approach to cope with this is to filter portions of the system to be monitored and to sample data. However, the majority of the existing solutions for filtering and sampling are limited to recording high-level events or based on predefined configurations, which unnecessarily limits the information available for analysis (i.e. relevance and representativeness of the collected set of traces). As systems often have varying workloads, some approaches dynamically change filtering and sampling configurations at runtime. Although these approaches are a step towards achieving a desired trade-off between the amount of collected information and the impact on the system performance, they focus on collecting data for a particular purpose or may capture a sample that may not correspond to the actual system behav ior. In this thesis, we increase the practical feasibility of software runtime monitoring by reducing the monitoring overhead and pursuing the relevance and representativeness of the collected traces. Therefore, we propose a solution to address the challenges of fil tering and sampling of execution traces. In order to filter relevant execution traces, we propose a domain-independent and low-impact framework, called Tigris, which abstracts the reasoning related to monitoring from the particularities of each problem addressed by filtering relevant execution traces according to the goal of monitoring. To tackle the challenges of collecting a representative sample, we propose an adaptive runtime monitor ing process to dynamically adapt the sampling rate while monitoring software systems. It includes algorithms with statistical foundations to improve the representativeness of collected samples without compromising the system performance. We evaluated both ap proaches with empirical studies to assess different aspects of the proposed solutions. The results show that our techniques can reduce the overhead of monitoring by filtering and sampling traces, and pursue relevance and representativeness of collected traces.application/pdfengAmostragemDesempenhoSoftwareExecution tracesMonitoringPerformanceLoggingAdaptationSelf-adaptationAdaptive Filtering and Sampling in Runtime Software MonitoringFiltragem e amostragem adaptativas para monitoração de software em tempo de execução info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2021doutoradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001136149.pdf.txt001136149.pdf.txtExtracted Texttext/plain250739http://www.lume.ufrgs.br/bitstream/10183/234501/2/001136149.pdf.txt6752c103b98ded286a2c6d98dcf377b5MD52ORIGINAL001136149.pdfTexto completo (inglês)application/pdf1438519http://www.lume.ufrgs.br/bitstream/10183/234501/1/001136149.pdfc29d8aa12d7965ac0db2482b80b5ac9fMD5110183/2345012022-03-26 05:03:42.806751oai:www.lume.ufrgs.br:10183/234501Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532022-03-26T08:03:42Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Adaptive Filtering and Sampling in Runtime Software Monitoring
dc.title.alternative.pt.fl_str_mv Filtragem e amostragem adaptativas para monitoração de software em tempo de execução
title Adaptive Filtering and Sampling in Runtime Software Monitoring
spellingShingle Adaptive Filtering and Sampling in Runtime Software Monitoring
Mertz, Jhonny Marcos Acordi
Amostragem
Desempenho
Software
Execution traces
Monitoring
Performance
Logging
Adaptation
Self-adaptation
title_short Adaptive Filtering and Sampling in Runtime Software Monitoring
title_full Adaptive Filtering and Sampling in Runtime Software Monitoring
title_fullStr Adaptive Filtering and Sampling in Runtime Software Monitoring
title_full_unstemmed Adaptive Filtering and Sampling in Runtime Software Monitoring
title_sort Adaptive Filtering and Sampling in Runtime Software Monitoring
author Mertz, Jhonny Marcos Acordi
author_facet Mertz, Jhonny Marcos Acordi
author_role author
dc.contributor.author.fl_str_mv Mertz, Jhonny Marcos Acordi
dc.contributor.advisor1.fl_str_mv Nunes, Ingrid Oliveira de
contributor_str_mv Nunes, Ingrid Oliveira de
dc.subject.por.fl_str_mv Amostragem
Desempenho
Software
topic Amostragem
Desempenho
Software
Execution traces
Monitoring
Performance
Logging
Adaptation
Self-adaptation
dc.subject.eng.fl_str_mv Execution traces
Monitoring
Performance
Logging
Adaptation
Self-adaptation
description Compreender o comportamento de um sistema de software é uma tarefa essencial para muitas atividades de engenharia de software, como identificação de bugs, melhorias de desempenho, depuração e auto-adaptação. Apesar da utilidade da coleta de traços de execução, isso pode afetar significativamente a execução do sistema, atrasando os tempos de resposta e competindo com os recursos. Assim, o monitoramento em tempo de execução tem uso prático limitado para análise ou suporte a mudanças em tempo real. A abordagem típica para lidar com tal problema é filtrar partes do sistema a serem monitoradas e amostrar traços. No entanto, a maioria das soluções existentes para filtragem e amostragem são baseadas em configurações predefinidas, o que limita as informações disponíveis para análise. Como sistemas costumam ter cargas de trabalho variáveis, algu mas abordagens mudam dinamicamente as configurações de filtragem e amostragem em tempo de execução. Embora essas abordagens podem atingir um melhor balanço entre a quantidade de informações coletadas e o impacto no desempenho do sistema, elas se concentram na coleta de traços para uma finalidade específica ou podem capturar uma amostra não correspondente ao comportamento atual do sistema. Nesta tese, aumentamos a viabilidade prática de monitoramento de tempo de execução de software, reduzindo a sobrecarga de monitoramento e aumentando a relevância e representatividade dos traços coletados. Assim, propomos uma solução para enfrentar os desafios de filtragem e amos tragem de traços de execução. Para filtrar os traços de execução relevantes, propomos um framework independente de domínio e de baixo impacto, denominado Tigris, que abstrai o raciocínio relacionado ao monitoramento das particularidades de cada problema abordado, filtrando os traços de execução relevantes de acordo com o objetivo do moni toramento. Em relação aos desafios de coletar uma amostra representativa, propomos um processo de monitoramento adaptativo, que altera dinamicamente a taxa de amostragem de acordo com a carga de trabalho do sistema. Nós avaliamos ambas as abordagens com estudos empíricos, e os resultados mostram que as técnicas propostas podem reduzir a sobrecarga de monitoramento por meio da filtragem e amostragem de traços, e aumentar a relevância e representatividade dos traços coletados.
publishDate 2021
dc.date.issued.fl_str_mv 2021
dc.date.accessioned.fl_str_mv 2022-01-27T04:32:19Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/234501
dc.identifier.nrb.pt_BR.fl_str_mv 001136149
url http://hdl.handle.net/10183/234501
identifier_str_mv 001136149
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 application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/234501/2/001136149.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/234501/1/001136149.pdf
bitstream.checksum.fl_str_mv 6752c103b98ded286a2c6d98dcf377b5
c29d8aa12d7965ac0db2482b80b5ac9f
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br||lume@ufrgs.br
_version_ 1831316126704861184