Adaptive Filtering and Sampling in Runtime Software Monitoring
| Ano de defesa: | 2021 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |