Extensible simulator for replay of trace files in the Pajé format
Autor(a) principal: | |
---|---|
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 |