Extensible simulator for replay of trace files in the Pajé format

Detalhes bibliográficos
Autor(a) principal: Bellini, Tais Loureiro
Data de Publicação: 2016
Tipo de documento: Trabalho de conclusão de curso
Idioma: eng
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/147645
Resumo: Observação do comportamento de programas através de arquivos de rastro é particularmente importante em Computação de Alta Performance, uma vez que permite uma análise de desempenho precisa. Neste contexto, a ferramenta Pajé é bastante utilizada para simular arquivos de rastro no formato de arquivo Pajé. O simulador funciona recriando o comportamento do programa em modo offline, permitindo que o analista de desempenho entenda melhor complicações que possam ter ocorrido durante a execução. Atualmente, há pelo menos três problemas com o simulador Pajé: pouca extensibilidade, falta de resultados parciais e resultados temporários. Embora o Pajé tenha sido construído para ser extensível, é necessário escrever um componente inteiro para atingir realmente a extensibilidade. Esta é uma tarefa complexa, pois implica em compreender a hierarquia de classes interna do programa. A segunda questão é que é impossível obter uma visão parcial dos dados simulados antes do final do arquivo de entrada. E, finalmente, o terceiro problema está relacionado com a efemeridade dos resultados: todos os dados simulados são descartados quando o Pajé termina de executar. Para resolver estas questões, um simulador extensível baseado em plugins chamado Aiyra foi concebido e implementado. O objetivo da Aiyra é permitir extrema extensibilidade deixando o analista de desempenho construir plugins que lidam com os dados simulados. Os plugins podem ser conectados ao simulador em pontos específicos onde eventos de rastreamento importantes são combinados. Como prova de conceito, implementamos plugins para mostrar na saída padrão dados parciais que acabaram de ser simulados e para tornar os resultados permanentes, inserindo os dados simulados em uma base de dados. Uma análise de desempenho foi conduzido para comparar Aiyra com o simulador Pajé existente. Nosso simulador apresentou melhores resultados de desempenho com arquivos maiores, o que foi atribuído ao fato de que o nosso solução mantém o consumo de memória baixo ao longo da execução. Nós também avaliamos o plugin de inserção em uma base de dados para diferentes cenários através de um rigoroso design experimental.
id UFRGS-2_453e910b3f1fbda145534c508e792416
oai_identifier_str oai:www.lume.ufrgs.br:10183/147645
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Bellini, Tais LoureiroSchnorr, Lucas Mello2016-08-25T02:16:43Z2016http://hdl.handle.net/10183/147645000999696Observação do comportamento de programas através de arquivos de rastro é particularmente importante em Computação de Alta Performance, uma vez que permite uma análise de desempenho precisa. Neste contexto, a ferramenta Pajé é bastante utilizada para simular arquivos de rastro no formato de arquivo Pajé. O simulador funciona recriando o comportamento do programa em modo offline, permitindo que o analista de desempenho entenda melhor complicações que possam ter ocorrido durante a execução. Atualmente, há pelo menos três problemas com o simulador Pajé: pouca extensibilidade, falta de resultados parciais e resultados temporários. Embora o Pajé tenha sido construído para ser extensível, é necessário escrever um componente inteiro para atingir realmente a extensibilidade. Esta é uma tarefa complexa, pois implica em compreender a hierarquia de classes interna do programa. A segunda questão é que é impossível obter uma visão parcial dos dados simulados antes do final do arquivo de entrada. E, finalmente, o terceiro problema está relacionado com a efemeridade dos resultados: todos os dados simulados são descartados quando o Pajé termina de executar. Para resolver estas questões, um simulador extensível baseado em plugins chamado Aiyra foi concebido e implementado. O objetivo da Aiyra é permitir extrema extensibilidade deixando o analista de desempenho construir plugins que lidam com os dados simulados. Os plugins podem ser conectados ao simulador em pontos específicos onde eventos de rastreamento importantes são combinados. Como prova de conceito, implementamos plugins para mostrar na saída padrão dados parciais que acabaram de ser simulados e para tornar os resultados permanentes, inserindo os dados simulados em uma base de dados. Uma análise de desempenho foi conduzido para comparar Aiyra com o simulador Pajé existente. Nosso simulador apresentou melhores resultados de desempenho com arquivos maiores, o que foi atribuído ao fato de que o nosso solução mantém o consumo de memória baixo ao longo da execução. Nós também avaliamos o plugin de inserção em uma base de dados para diferentes cenários através de um rigoroso design experimental.Observation of program behavior through trace files is particularly important in High Performance Computing (HPC) since it enables an accurate performance analysis. In this context, the Pajé framework is commonly employed to simulate trace files in the Pajé file format. The simulator works by recreating the program behavior in an offline fashion, allowing the performance analyst to better understand performance issues that might have occurred during execution. As of today, there are at least three problems with the Pajé simulator: little extensibility, lack of partial outcomes and impermanent results. Although Pajé has been built in an extensible manner, it is necessary to write a full component for Pajé to actually achieve extensibility. This is a complex task since it implies in understanding the internal class hierarchy of the framework. The second issue is that it is impossible to get a partial view of simulated data prior to the end of the input trace. And finally, the third is related to the ephemerality of results: all simulated data is discarded once Pajé exits. To address these issues, an extensible plugin-based trace file simulator called Aiyra has been designed and implemented. Aiyra’s objective is to allow extreme extensibility by letting the performance analyst write plugins that deal with simulated data. The plugins can be attached to the simulator in specific and important points where the trace events are combined. As a proof of concept, we have implemented plugins to dump partial data that has just been simulated and to make the results permanent, by inserting simulated data into a database. A performance analysis has been conducted to compare Aiyra against the existing Pajé trace simulator. Our simulator presented better performance results with larger files, that being possibly attributed to the fact that our solution keeps the memory footprint low throughout execution. We have also evaluated the database plugin in a number of different scenarios through the use of a rigorous experimental design.application/pdfengArquitetura : ComputadoresSimulação computacionalTrace simulationPerformanceMySQLJavaCCPajéReplayExtensible simulator for replay of trace files in the Pajé formatSimulador Extensível para Arquivos de Rastro no Formato Pajé info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2016Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000999696.pdf000999696.pdfTexto completo (inglês)application/pdf867283http://www.lume.ufrgs.br/bitstream/10183/147645/1/000999696.pdf79fd656f100b000ae26773f6fe0a3becMD51TEXT000999696.pdf.txt000999696.pdf.txtExtracted Texttext/plain103783http://www.lume.ufrgs.br/bitstream/10183/147645/2/000999696.pdf.txt70d501bb05f0e6a6d4cb11dffc2e8e8eMD52THUMBNAIL000999696.pdf.jpg000999696.pdf.jpgGenerated Thumbnailimage/jpeg1015http://www.lume.ufrgs.br/bitstream/10183/147645/3/000999696.pdf.jpgb2bda338cf66c3aa9ac8a239eaa62473MD5310183/1476452018-10-29 08:41:04.037oai:www.lume.ufrgs.br:10183/147645Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2018-10-29T11:41:04Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Extensible simulator for replay of trace files in the Pajé format
dc.title.alternative.pt_BR.fl_str_mv Simulador Extensível para Arquivos de Rastro no Formato Pajé
title Extensible simulator for replay of trace files in the Pajé format
spellingShingle Extensible simulator for replay of trace files in the Pajé format
Bellini, Tais Loureiro
Arquitetura : Computadores
Simulação computacional
Trace simulation
Performance
MySQL
JavaCC
Pajé
Replay
title_short Extensible simulator for replay of trace files in the Pajé format
title_full Extensible simulator for replay of trace files in the Pajé format
title_fullStr Extensible simulator for replay of trace files in the Pajé format
title_full_unstemmed Extensible simulator for replay of trace files in the Pajé format
title_sort Extensible simulator for replay of trace files in the Pajé format
author Bellini, Tais Loureiro
author_facet Bellini, Tais Loureiro
author_role author
dc.contributor.author.fl_str_mv Bellini, Tais Loureiro
dc.contributor.advisor1.fl_str_mv Schnorr, Lucas Mello
contributor_str_mv Schnorr, Lucas Mello
dc.subject.por.fl_str_mv Arquitetura : Computadores
Simulação computacional
topic Arquitetura : Computadores
Simulação computacional
Trace simulation
Performance
MySQL
JavaCC
Pajé
Replay
dc.subject.eng.fl_str_mv Trace simulation
Performance
MySQL
JavaCC
Pajé
Replay
description Observação do comportamento de programas através de arquivos de rastro é particularmente importante em Computação de Alta Performance, uma vez que permite uma análise de desempenho precisa. Neste contexto, a ferramenta Pajé é bastante utilizada para simular arquivos de rastro no formato de arquivo Pajé. O simulador funciona recriando o comportamento do programa em modo offline, permitindo que o analista de desempenho entenda melhor complicações que possam ter ocorrido durante a execução. Atualmente, há pelo menos três problemas com o simulador Pajé: pouca extensibilidade, falta de resultados parciais e resultados temporários. Embora o Pajé tenha sido construído para ser extensível, é necessário escrever um componente inteiro para atingir realmente a extensibilidade. Esta é uma tarefa complexa, pois implica em compreender a hierarquia de classes interna do programa. A segunda questão é que é impossível obter uma visão parcial dos dados simulados antes do final do arquivo de entrada. E, finalmente, o terceiro problema está relacionado com a efemeridade dos resultados: todos os dados simulados são descartados quando o Pajé termina de executar. Para resolver estas questões, um simulador extensível baseado em plugins chamado Aiyra foi concebido e implementado. O objetivo da Aiyra é permitir extrema extensibilidade deixando o analista de desempenho construir plugins que lidam com os dados simulados. Os plugins podem ser conectados ao simulador em pontos específicos onde eventos de rastreamento importantes são combinados. Como prova de conceito, implementamos plugins para mostrar na saída padrão dados parciais que acabaram de ser simulados e para tornar os resultados permanentes, inserindo os dados simulados em uma base de dados. Uma análise de desempenho foi conduzido para comparar Aiyra com o simulador Pajé existente. Nosso simulador apresentou melhores resultados de desempenho com arquivos maiores, o que foi atribuído ao fato de que o nosso solução mantém o consumo de memória baixo ao longo da execução. Nós também avaliamos o plugin de inserção em uma base de dados para diferentes cenários através de um rigoroso design experimental.
publishDate 2016
dc.date.accessioned.fl_str_mv 2016-08-25T02:16:43Z
dc.date.issued.fl_str_mv 2016
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/147645
dc.identifier.nrb.pt_BR.fl_str_mv 000999696
url http://hdl.handle.net/10183/147645
identifier_str_mv 000999696
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:Repositório Institucional 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 Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/147645/1/000999696.pdf
http://www.lume.ufrgs.br/bitstream/10183/147645/2/000999696.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/147645/3/000999696.pdf.jpg
bitstream.checksum.fl_str_mv 79fd656f100b000ae26773f6fe0a3bec
70d501bb05f0e6a6d4cb11dffc2e8e8e
b2bda338cf66c3aa9ac8a239eaa62473
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1815447180299730944