Estratégias para exploração de sequências de transformações do compilador
Autor(a) principal: | |
---|---|
Data de Publicação: | 2017 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) |
Texto Completo: | http://repositorio.uem.br:8080/jspui/handle/1/2515 |
Resumo: | Compilers aims to translate a source language program to a target language, usually a machine language. Find the best correspondence between programming languages is a complex problem, due to the size of search space. Because of this complexity, a code transformation step is needed, where transformation algorithms modify the code, trying to improve it without semantic alterations. Despite, the result of the application of these algorithms depends on code particularities. The Transformations Selection Problem (TSP) consists of the search for the best transformations to an input code, such that target code achieves a good performance. The state-of-art does not have strategies that allow the application of TSP solutions to final users, because the response time is very high to this. This work aims to formulate techniques to find effective transformations sequences to be applied to an input code, in a way to increase programs performance reducing its execution time. Furthermore, another objective is to reduce the compiler response time, to approximate a TSP solution to final users application. Initially, the metaheuristic Variable Neighborhood Search (VNS) is explored to solve TSP, compiling iteratively each input code. VNS achieved results up to 15.72% better than another iterative strategy, reaching improvement for all evaluated programs compared to the best compiler transformation level. However, the iterative compilation demands a high response time. Therefore, it is necessary to explore machine learning techniques, which can provide good results based on compiler previous experiences, with a cost of an initial training phase. Thus, this work explores different program characterizations to represent the cumulated knowledge on transformations application, to formulate a code generation system with Case-Based Reasoning (CBR), which chooses certain sequence to an input program. The knowledge representation is capable to reach 81% of proximity of the best possible result to evaluated programs, while the CBR system generates results 13.74% better than -O3 level, on a response time 99% lower than iterative compilation techniques. The improvement of previous experiences recovering method obtained performances over 20.23% compared to another strategy with a close evaluations number. |
id |
UEM-10_d66e272bdc964dd3b29922a8a49347b8 |
---|---|
oai_identifier_str |
oai:localhost:1/2515 |
network_acronym_str |
UEM-10 |
network_name_str |
Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) |
repository_id_str |
|
spelling |
Estratégias para exploração de sequências de transformações do compiladorStrategies to Exploration of Compiler Transformations SequencesSistemas de computaçãoCompiladoresCaracterização de programasRaciocínio baseado em casos., Compilação interativaCompiladoresTransformações de CódigoBrasil.CompilerCode transformationsProgram characterizationCase-Based reasoningIterative compilationBrazil.Ciências Exatas e da TerraCiência da ComputaçãoCompilers aims to translate a source language program to a target language, usually a machine language. Find the best correspondence between programming languages is a complex problem, due to the size of search space. Because of this complexity, a code transformation step is needed, where transformation algorithms modify the code, trying to improve it without semantic alterations. Despite, the result of the application of these algorithms depends on code particularities. The Transformations Selection Problem (TSP) consists of the search for the best transformations to an input code, such that target code achieves a good performance. The state-of-art does not have strategies that allow the application of TSP solutions to final users, because the response time is very high to this. This work aims to formulate techniques to find effective transformations sequences to be applied to an input code, in a way to increase programs performance reducing its execution time. Furthermore, another objective is to reduce the compiler response time, to approximate a TSP solution to final users application. Initially, the metaheuristic Variable Neighborhood Search (VNS) is explored to solve TSP, compiling iteratively each input code. VNS achieved results up to 15.72% better than another iterative strategy, reaching improvement for all evaluated programs compared to the best compiler transformation level. However, the iterative compilation demands a high response time. Therefore, it is necessary to explore machine learning techniques, which can provide good results based on compiler previous experiences, with a cost of an initial training phase. Thus, this work explores different program characterizations to represent the cumulated knowledge on transformations application, to formulate a code generation system with Case-Based Reasoning (CBR), which chooses certain sequence to an input program. The knowledge representation is capable to reach 81% of proximity of the best possible result to evaluated programs, while the CBR system generates results 13.74% better than -O3 level, on a response time 99% lower than iterative compilation techniques. The improvement of previous experiences recovering method obtained performances over 20.23% compared to another strategy with a close evaluations number.Os compiladores têm por função traduzir um programa em uma linguagem fonte para uma linguagem alvo, geralmente uma linguagem de máquina. Nessa tradução, encontrar a melhor correspondência entre as linguagens é um problema complexo, pelo tamanho do espaço de busca. Por tal complexidade, uma etapa de transformação de código é necessária, na qual algoritmos de transformação modificam o código tentando melhorá-lo sem alterar seu significado. O Problema de Seleção de Transformações (PST) consiste na busca das melhores transformações para um código de entrada, tal que o código final obtenha um bom desempenho. O estado-da-arte não possui estratégias que possibilitem soluções para o PST aplicáveis a usuários finais, pois o tempo de resposta é alto para tal aplicação. O objetivo deste trabalho é formular técnicas para encontrar efetivas sequências de transformações a serem aplicadas a um código de entrada, de forma a aumentar seu desempenho reduzindo o tempo de execução. Além disso, objetiva-se reduzir o tempo de resposta de forma que a solução para o PST se aproxime da utilização por usuários finais. Inicialmente, se explora a Variable Neighborhood Search (VNS) para solucionar o PST, compilando iterativamente cada código de entrada. A aplicação da VNS alcançou resultados até 15,72% melhores do que outra estratégia iterativa, conseguindo melhoria em todos os programas avaliados em relação ao melhor nível de transformação. Contudo, a compilação iterativa possui alto tempo de resposta. Assim, é necessário explorar técnicas de aprendizagem de máquina, que podem prover bons resultados baseadas em experiências anteriores do compilador. Dessa forma, esta dissertação explora diferentes caracterizações de programas para representar o conhecimento acumulado na aplicação de transformações, para então aplicar a um sistema de geração de código com Raciocínio Baseado em Casos (RBC), que escolhe determinada sequência para um programa de entrada. A representação do conhecimento é capaz de atingir 81% de proximidade do melhor resultado possível para os programas avaliados, enquanto o sistema RBC gera resultados 13,74% melhores do que o nível -O3, em um tempo de resposta 99% inferior ao de estratégias de compilação iterativa. A melhoria nas formas de recuperação de experiências anteriores conseguiu superar em 20,23% o desempenho obtido por outra estratégia comparada com um número de avaliações próximo.89 fUniversidade Estadual de MaringáBrasilDepartamento de InformáticaPrograma de Pós-Graduação em Ciência da ComputaçãoUEMMaringá, PRCentro de TecnologiaAnderson Faustino da SilvaYandre Maldonado e Gomes da Costa - UEMEdson Borin - UEMFabrício Filho, João2018-04-10T20:12:15Z2018-04-10T20:12:15Z2017info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://repositorio.uem.br:8080/jspui/handle/1/2515porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da Universidade Estadual de Maringá (RI-UEM)instname:Universidade Estadual de Maringá (UEM)instacron:UEM2018-10-18T20:18:01Zoai:localhost:1/2515Repositório InstitucionalPUBhttp://repositorio.uem.br:8080/oai/requestopendoar:2024-04-23T14:55:34.406919Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) - Universidade Estadual de Maringá (UEM)false |
dc.title.none.fl_str_mv |
Estratégias para exploração de sequências de transformações do compilador Strategies to Exploration of Compiler Transformations Sequences |
title |
Estratégias para exploração de sequências de transformações do compilador |
spellingShingle |
Estratégias para exploração de sequências de transformações do compilador Fabrício Filho, João Sistemas de computação Compiladores Caracterização de programas Raciocínio baseado em casos., Compilação interativa Compiladores Transformações de Código Brasil. Compiler Code transformations Program characterization Case-Based reasoning Iterative compilation Brazil. Ciências Exatas e da Terra Ciência da Computação |
title_short |
Estratégias para exploração de sequências de transformações do compilador |
title_full |
Estratégias para exploração de sequências de transformações do compilador |
title_fullStr |
Estratégias para exploração de sequências de transformações do compilador |
title_full_unstemmed |
Estratégias para exploração de sequências de transformações do compilador |
title_sort |
Estratégias para exploração de sequências de transformações do compilador |
author |
Fabrício Filho, João |
author_facet |
Fabrício Filho, João |
author_role |
author |
dc.contributor.none.fl_str_mv |
Anderson Faustino da Silva Yandre Maldonado e Gomes da Costa - UEM Edson Borin - UEM |
dc.contributor.author.fl_str_mv |
Fabrício Filho, João |
dc.subject.por.fl_str_mv |
Sistemas de computação Compiladores Caracterização de programas Raciocínio baseado em casos., Compilação interativa Compiladores Transformações de Código Brasil. Compiler Code transformations Program characterization Case-Based reasoning Iterative compilation Brazil. Ciências Exatas e da Terra Ciência da Computação |
topic |
Sistemas de computação Compiladores Caracterização de programas Raciocínio baseado em casos., Compilação interativa Compiladores Transformações de Código Brasil. Compiler Code transformations Program characterization Case-Based reasoning Iterative compilation Brazil. Ciências Exatas e da Terra Ciência da Computação |
description |
Compilers aims to translate a source language program to a target language, usually a machine language. Find the best correspondence between programming languages is a complex problem, due to the size of search space. Because of this complexity, a code transformation step is needed, where transformation algorithms modify the code, trying to improve it without semantic alterations. Despite, the result of the application of these algorithms depends on code particularities. The Transformations Selection Problem (TSP) consists of the search for the best transformations to an input code, such that target code achieves a good performance. The state-of-art does not have strategies that allow the application of TSP solutions to final users, because the response time is very high to this. This work aims to formulate techniques to find effective transformations sequences to be applied to an input code, in a way to increase programs performance reducing its execution time. Furthermore, another objective is to reduce the compiler response time, to approximate a TSP solution to final users application. Initially, the metaheuristic Variable Neighborhood Search (VNS) is explored to solve TSP, compiling iteratively each input code. VNS achieved results up to 15.72% better than another iterative strategy, reaching improvement for all evaluated programs compared to the best compiler transformation level. However, the iterative compilation demands a high response time. Therefore, it is necessary to explore machine learning techniques, which can provide good results based on compiler previous experiences, with a cost of an initial training phase. Thus, this work explores different program characterizations to represent the cumulated knowledge on transformations application, to formulate a code generation system with Case-Based Reasoning (CBR), which chooses certain sequence to an input program. The knowledge representation is capable to reach 81% of proximity of the best possible result to evaluated programs, while the CBR system generates results 13.74% better than -O3 level, on a response time 99% lower than iterative compilation techniques. The improvement of previous experiences recovering method obtained performances over 20.23% compared to another strategy with a close evaluations number. |
publishDate |
2017 |
dc.date.none.fl_str_mv |
2017 2018-04-10T20:12:15Z 2018-04-10T20:12:15Z |
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 |
http://repositorio.uem.br:8080/jspui/handle/1/2515 |
url |
http://repositorio.uem.br:8080/jspui/handle/1/2515 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Estadual de Maringá Brasil Departamento de Informática Programa de Pós-Graduação em Ciência da Computação UEM Maringá, PR Centro de Tecnologia |
publisher.none.fl_str_mv |
Universidade Estadual de Maringá Brasil Departamento de Informática Programa de Pós-Graduação em Ciência da Computação UEM Maringá, PR Centro de Tecnologia |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) instname:Universidade Estadual de Maringá (UEM) instacron:UEM |
instname_str |
Universidade Estadual de Maringá (UEM) |
instacron_str |
UEM |
institution |
UEM |
reponame_str |
Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) |
collection |
Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) |
repository.name.fl_str_mv |
Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) - Universidade Estadual de Maringá (UEM) |
repository.mail.fl_str_mv |
|
_version_ |
1813258652463661056 |